From 4111a0cfd8a210777bc27910e92dbc0baf88bfd5 Mon Sep 17 00:00:00 2001 From: Kacper Donat Date: Sun, 2 Sep 2018 19:23:38 +0200 Subject: [PATCH] initial commit --- .env.dist | 8 + .gitignore | 16 + bin/console | 39 + composer.json | 76 + composer.lock | 3167 +++++++++++++++ config/bundles.php | 8 + config/packages/dev/routing.yaml | 3 + config/packages/framework.yaml | 30 + config/packages/routing.yaml | 3 + config/packages/sensio_framework_extra.yaml | 3 + config/packages/test/framework.yaml | 4 + config/packages/translation.yaml | 7 + config/packages/twig.yaml | 4 + config/routes.yaml | 3 + config/routes/annotations.yaml | 3 + config/routes/dev/twig.yaml | 3 + config/services.yaml | 40 + package.json | 36 + public/index.php | 39 + resources/components/departures.html | 47 + resources/components/finder.html | 42 + resources/components/picker.html | 17 + resources/components/stop.html | 19 + resources/icons/light/bus.svg | 1 + resources/icons/light/icons.ai | 463 +++ resources/icons/light/metro.svg | 1 + resources/icons/light/train.svg | 1 + resources/icons/light/tram.svg | 1 + resources/icons/light/trolleybus.svg | 1 + resources/icons/light/unknown.svg | 1 + resources/styles/_common.scss | 15 + resources/styles/_controls.scss | 11 + resources/styles/_departure.scss | 53 + resources/styles/_line.scss | 8 + resources/styles/_stop.scss | 23 + resources/styles/main.scss | 17 + resources/svg-icon-loader.js | 13 + resources/ts/app.ts | 26 + resources/ts/components/departures.ts | 55 + resources/ts/components/index.ts | 2 + resources/ts/components/picker.ts | 99 + resources/ts/decorators.ts | 45 + resources/ts/filters.ts | 4 + resources/ts/font-awesome.ts | 14 + resources/ts/icons.ts | 48 + resources/ts/model/departure.ts | 14 + resources/ts/model/index.ts | 3 + resources/ts/model/line.ts | 8 + resources/ts/model/stop.ts | 14 + resources/ts/types/popper.js.d.ts | 131 + resources/ts/types/webpack.d.ts | 9 + resources/ts/urls.ts | 56 + resources/ts/utils.ts | 37 + src/Controller/.gitignore | 0 src/Controller/Controller.php | 11 + src/Controller/DeparturesController.php | 43 + src/Controller/HomepageController.php | 17 + src/Controller/StopsController.php | 49 + src/Exception/NonExistentServiceException.php | 10 + src/Kernel.php | 61 + src/Model/AbstractModel.php | 26 + src/Model/Departure.php | 116 + src/Model/FillTrait.php | 34 + src/Model/Fillable.php | 11 + src/Model/Line.php | 81 + src/Model/Message.php | 58 + src/Model/Referable.php | 10 + src/Model/ReferenceTrait.php | 18 + src/Model/Stop.php | 142 + src/Model/StopGroup.php | 32 + src/Provider/DepartureRepository.php | 13 + src/Provider/LineRepository.php | 16 + src/Provider/MessageRepository.php | 14 + src/Provider/Provider.php | 11 + src/Provider/Repository.php | 10 + src/Provider/StopRepository.php | 18 + .../ZtmGdanskDepartureRepository.php | 56 + .../ZtmGdansk/ZtmGdanskLineRepository.php | 27 + .../ZtmGdansk/ZtmGdanskMessageRepository.php | 23 + .../ZtmGdansk/ZtmGdanskStopRepository.php | 108 + src/Provider/ZtmGdanskProvider.php | 49 + src/Service/ProviderParameterConverter.php | 43 + src/Service/ProviderResolver.php | 46 + src/Service/RepositoryParameterConverter.php | 77 + symfony.lock | 206 + templates/base.html.twig | 17 + translations/.gitignore | 0 tsconfig.json | 12 + webpack.config.js | 57 + yarn.lock | 3597 +++++++++++++++++ 90 files changed, 9910 insertions(+) create mode 100644 .env.dist create mode 100644 .gitignore create mode 100755 bin/console create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 config/bundles.php create mode 100644 config/packages/dev/routing.yaml create mode 100644 config/packages/framework.yaml create mode 100644 config/packages/routing.yaml create mode 100644 config/packages/sensio_framework_extra.yaml create mode 100644 config/packages/test/framework.yaml create mode 100644 config/packages/translation.yaml create mode 100644 config/packages/twig.yaml create mode 100644 config/routes.yaml create mode 100644 config/routes/annotations.yaml create mode 100644 config/routes/dev/twig.yaml create mode 100644 config/services.yaml create mode 100644 package.json create mode 100644 public/index.php create mode 100644 resources/components/departures.html create mode 100644 resources/components/finder.html create mode 100644 resources/components/picker.html create mode 100644 resources/components/stop.html create mode 100644 resources/icons/light/bus.svg create mode 100644 resources/icons/light/icons.ai create mode 100644 resources/icons/light/metro.svg create mode 100644 resources/icons/light/train.svg create mode 100644 resources/icons/light/tram.svg create mode 100644 resources/icons/light/trolleybus.svg create mode 100644 resources/icons/light/unknown.svg create mode 100644 resources/styles/_common.scss create mode 100644 resources/styles/_controls.scss create mode 100644 resources/styles/_departure.scss create mode 100644 resources/styles/_line.scss create mode 100644 resources/styles/_stop.scss create mode 100644 resources/styles/main.scss create mode 100644 resources/svg-icon-loader.js create mode 100644 resources/ts/app.ts create mode 100644 resources/ts/components/departures.ts create mode 100644 resources/ts/components/index.ts create mode 100644 resources/ts/components/picker.ts create mode 100644 resources/ts/decorators.ts create mode 100644 resources/ts/filters.ts create mode 100644 resources/ts/font-awesome.ts create mode 100644 resources/ts/icons.ts create mode 100644 resources/ts/model/departure.ts create mode 100644 resources/ts/model/index.ts create mode 100644 resources/ts/model/line.ts create mode 100644 resources/ts/model/stop.ts create mode 100644 resources/ts/types/popper.js.d.ts create mode 100644 resources/ts/types/webpack.d.ts create mode 100644 resources/ts/urls.ts create mode 100644 resources/ts/utils.ts create mode 100644 src/Controller/.gitignore create mode 100644 src/Controller/Controller.php create mode 100644 src/Controller/DeparturesController.php create mode 100644 src/Controller/HomepageController.php create mode 100644 src/Controller/StopsController.php create mode 100644 src/Exception/NonExistentServiceException.php create mode 100644 src/Kernel.php create mode 100644 src/Model/AbstractModel.php create mode 100644 src/Model/Departure.php create mode 100644 src/Model/FillTrait.php create mode 100644 src/Model/Fillable.php create mode 100644 src/Model/Line.php create mode 100644 src/Model/Message.php create mode 100644 src/Model/Referable.php create mode 100644 src/Model/ReferenceTrait.php create mode 100644 src/Model/Stop.php create mode 100644 src/Model/StopGroup.php create mode 100644 src/Provider/DepartureRepository.php create mode 100644 src/Provider/LineRepository.php create mode 100644 src/Provider/MessageRepository.php create mode 100644 src/Provider/Provider.php create mode 100644 src/Provider/Repository.php create mode 100644 src/Provider/StopRepository.php create mode 100644 src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php create mode 100644 src/Provider/ZtmGdansk/ZtmGdanskLineRepository.php create mode 100644 src/Provider/ZtmGdansk/ZtmGdanskMessageRepository.php create mode 100644 src/Provider/ZtmGdansk/ZtmGdanskStopRepository.php create mode 100644 src/Provider/ZtmGdanskProvider.php create mode 100644 src/Service/ProviderParameterConverter.php create mode 100644 src/Service/ProviderResolver.php create mode 100644 src/Service/RepositoryParameterConverter.php create mode 100644 symfony.lock create mode 100644 templates/base.html.twig create mode 100644 translations/.gitignore create mode 100644 tsconfig.json create mode 100644 webpack.config.js create mode 100644 yarn.lock diff --git a/.env.dist b/.env.dist new file mode 100644 index 0000000..c31d190 --- /dev/null +++ b/.env.dist @@ -0,0 +1,8 @@ +# This file is a "template" of which env vars need to be defined for your application +# Copy this file to .env file for development, create environment variables when deploying to production +# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration + +###> symfony/framework-bundle ### +APP_ENV=dev +APP_SECRET=1bdf86cdc78fba654e4f2c309c6bbdbd +###< symfony/framework-bundle ### diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b5f1ff9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ + +###> symfony/framework-bundle ### +/.env +/public/bundles/ +/var/ +/vendor/ +###< symfony/framework-bundle ### + +###> symfony/web-server-bundle ### +/.web-server-pid +###< symfony/web-server-bundle ### + +/node_modules/ +/.idea/ +/public/* +!/public/index.php \ No newline at end of file diff --git a/bin/console b/bin/console new file mode 100755 index 0000000..5187d02 --- /dev/null +++ b/bin/console @@ -0,0 +1,39 @@ +#!/usr/bin/env php +load(__DIR__.'/../.env'); +} + +$input = new ArgvInput(); +$env = $input->getParameterOption(['--env', '-e'], $_SERVER['APP_ENV'] ?? 'dev', true); +$debug = (bool) ($_SERVER['APP_DEBUG'] ?? ('prod' !== $env)) && !$input->hasParameterOption('--no-debug', true); + +if ($debug) { + umask(0000); + + if (class_exists(Debug::class)) { + Debug::enable(); + } +} + +$kernel = new Kernel($env, $debug); +$application = new Application($kernel); +$application->run($input); diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..728ff3d --- /dev/null +++ b/composer.json @@ -0,0 +1,76 @@ +{ + "name": "kadet/czydojade", + "type": "project", + "license": "MIT", + "require": { + "php": "^7.1.3", + "ext-ctype": "*", + "ext-iconv": "*", + "ext-json": "*", + "nesbot/carbon": "^1.33", + "sensio/framework-extra-bundle": "^5.2", + "symfony/console": "*", + "symfony/flex": "^1.1", + "symfony/framework-bundle": "*", + "symfony/serializer-pack": "^1.0", + "symfony/twig-bundle": "*", + "symfony/yaml": "*", + "tightenco/collect": "^5.6" + }, + "require-dev": { + "symfony/dotenv": "*", + "symfony/web-server-bundle": "*", + "kadet/functional": "dev-master" + }, + "config": { + "preferred-install": { + "*": "dist" + }, + "sort-packages": true, + "secure-http": false + }, + "autoload": { + "psr-4": { + "App\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "App\\Tests\\": "tests/" + } + }, + "replace": { + "symfony/polyfill-ctype": "*", + "symfony/polyfill-iconv": "*", + "symfony/polyfill-php71": "*", + "symfony/polyfill-php70": "*", + "symfony/polyfill-php56": "*" + }, + "scripts": { + "auto-scripts": { + "cache:clear": "symfony-cmd", + "assets:install %PUBLIC_DIR%": "symfony-cmd" + }, + "post-install-cmd": [ + "@auto-scripts" + ], + "post-update-cmd": [ + "@auto-scripts" + ] + }, + "conflict": { + "symfony/symfony": "*" + }, + "extra": { + "symfony": { + "allow-contrib": false, + "require": "4.1.*" + } + }, + "repositories": [ + { + "type": "vcs", + "url": "http://git.kadet.net/kadet/functional-php.git" + } + ] +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..059161b --- /dev/null +++ b/composer.lock @@ -0,0 +1,3167 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "f3ba745662faf21f8b44dd28a0eaf7b9", + "packages": [ + { + "name": "doctrine/annotations", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", + "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "php": "^7.1" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2017-12-06T07:11:42+00:00" + }, + { + "name": "doctrine/cache", + "version": "v1.8.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "d768d58baee9a4862ca783840eca1b9add7a7f57" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57", + "reference": "d768d58baee9a4862ca783840eca1b9add7a7f57", + "shasum": "" + }, + "require": { + "php": "~7.1" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "alcaeus/mongo-php-adapter": "^1.1", + "doctrine/coding-standard": "^4.0", + "mongodb/mongodb": "^1.1", + "phpunit/phpunit": "^7.0", + "predis/predis": "~1.0" + }, + "suggest": { + "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2018-08-21T18:01:43+00:00" + }, + { + "name": "doctrine/collections", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf", + "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "~0.1@dev", + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "array", + "collections", + "iterator" + ], + "time": "2017-07-22T10:37:32+00:00" + }, + { + "name": "doctrine/common", + "version": "v2.9.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "a210246d286c77d2b89040f8691ba7b3a713d2c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/a210246d286c77d2b89040f8691ba7b3a713d2c1", + "reference": "a210246d286c77d2b89040f8691ba7b3a713d2c1", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "doctrine/cache": "^1.0", + "doctrine/collections": "^1.0", + "doctrine/event-manager": "^1.0", + "doctrine/inflector": "^1.0", + "doctrine/lexer": "^1.0", + "doctrine/persistence": "^1.0", + "doctrine/reflection": "^1.0", + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^1.0", + "phpunit/phpunit": "^6.3", + "squizlabs/php_codesniffer": "^3.0", + "symfony/phpunit-bridge": "^4.0.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Common Library for Doctrine projects", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "annotations", + "collections", + "eventmanager", + "persistence", + "spl" + ], + "time": "2018-07-12T21:16:12+00:00" + }, + { + "name": "doctrine/event-manager", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3", + "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "conflict": { + "doctrine/common": "<2.9@dev" + }, + "require-dev": { + "doctrine/coding-standard": "^4.0", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Doctrine Event Manager component", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "keywords": [ + "event", + "eventdispatcher", + "eventmanager" + ], + "time": "2018-06-11T11:59:03+00:00" + }, + { + "name": "doctrine/inflector", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "5527a48b7313d15261292c149e55e26eae771b0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", + "reference": "5527a48b7313d15261292c149e55e26eae771b0a", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2018-01-09T20:05:19+00:00" + }, + { + "name": "doctrine/lexer", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Lexer\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "lexer", + "parser" + ], + "time": "2014-09-09T13:34:57+00:00" + }, + { + "name": "doctrine/persistence", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/persistence.git", + "reference": "af1ec238659a83e320f03e0e454e200f689b4b97" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/af1ec238659a83e320f03e0e454e200f689b4b97", + "reference": "af1ec238659a83e320f03e0e454e200f689b4b97", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "doctrine/cache": "^1.0", + "doctrine/collections": "^1.0", + "doctrine/event-manager": "^1.0", + "doctrine/reflection": "^1.0", + "php": "^7.1" + }, + "conflict": { + "doctrine/common": "<2.9@dev" + }, + "require-dev": { + "doctrine/coding-standard": "^4.0", + "phpstan/phpstan": "^0.8", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Doctrine Persistence abstractions.", + "homepage": "https://doctrine-project.org/projects/persistence.html", + "keywords": [ + "persistence" + ], + "time": "2018-07-12T12:37:50+00:00" + }, + { + "name": "doctrine/reflection", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/reflection.git", + "reference": "02538d3f95e88eb397a5f86274deb2c6175c2ab6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/reflection/zipball/02538d3f95e88eb397a5f86274deb2c6175c2ab6", + "reference": "02538d3f95e88eb397a5f86274deb2c6175c2ab6", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "ext-tokenizer": "*", + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^4.0", + "doctrine/common": "^2.8", + "phpstan/phpstan": "^0.9.2", + "phpstan/phpstan-phpunit": "^0.9.4", + "phpunit/phpunit": "^7.0", + "squizlabs/php_codesniffer": "^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Doctrine Reflection component", + "homepage": "https://www.doctrine-project.org/projects/reflection.html", + "keywords": [ + "reflection" + ], + "time": "2018-06-14T14:45:07+00:00" + }, + { + "name": "nesbot/carbon", + "version": "1.33.0", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "55667c1007a99e82030874b1bb14d24d07108413" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/55667c1007a99e82030874b1bb14d24d07108413", + "reference": "55667c1007a99e82030874b1bb14d24d07108413", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/translation": "~2.6 || ~3.0 || ~4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "^4.8.35 || ^5.7" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2018-08-07T08:39:47+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2017-09-11T18:02:19+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "4.3.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08", + "shasum": "" + }, + "require": { + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "doctrine/instantiator": "~1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-11-30T07:14:17+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "time": "2017-07-14T14:27:02+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10T12:19:37+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "sensio/framework-extra-bundle", + "version": "v5.2.0", + "source": { + "type": "git", + "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", + "reference": "50e8b7292425957b8fd66887504430c89bcbd83c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/50e8b7292425957b8fd66887504430c89bcbd83c", + "reference": "50e8b7292425957b8fd66887504430c89bcbd83c", + "shasum": "" + }, + "require": { + "doctrine/common": "^2.2", + "symfony/config": "^3.3|^4.0", + "symfony/dependency-injection": "^3.3|^4.0", + "symfony/framework-bundle": "^3.4|^4.0", + "symfony/http-kernel": "^3.3|^4.0" + }, + "require-dev": { + "doctrine/doctrine-bundle": "^1.6", + "doctrine/orm": "^2.5", + "symfony/browser-kit": "^3.3|^4.0", + "symfony/dom-crawler": "^3.3|^4.0", + "symfony/expression-language": "^3.3|^4.0", + "symfony/finder": "^3.3|^4.0", + "symfony/monolog-bridge": "^3.0|^4.0", + "symfony/monolog-bundle": "^3.2", + "symfony/phpunit-bridge": "^3.3|^4.0", + "symfony/psr-http-message-bridge": "^0.3", + "symfony/security-bundle": "^3.3|^4.0", + "symfony/twig-bundle": "^3.3|^4.0", + "symfony/yaml": "^3.3|^4.0", + "twig/twig": "~1.12|~2.0", + "zendframework/zend-diactoros": "^1.3" + }, + "suggest": { + "symfony/expression-language": "", + "symfony/psr-http-message-bridge": "To use the PSR-7 converters", + "symfony/security-bundle": "" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "5.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Sensio\\Bundle\\FrameworkExtraBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "This bundle provides a way to configure your controllers with annotations", + "keywords": [ + "annotations", + "controllers" + ], + "time": "2018-05-12T09:37:42+00:00" + }, + { + "name": "symfony/cache", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "c666a5bbfeb1fe05c7b91d46810f405c8bea14cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/c666a5bbfeb1fe05c7b91d46810f405c8bea14cf", + "reference": "c666a5bbfeb1fe05c7b91d46810f405c8bea14cf", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/cache": "~1.0", + "psr/log": "~1.0", + "psr/simple-cache": "^1.0" + }, + "conflict": { + "symfony/var-dumper": "<3.4" + }, + "provide": { + "psr/cache-implementation": "1.0", + "psr/simple-cache-implementation": "1.0" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/cache": "~1.6", + "doctrine/dbal": "~2.4", + "predis/predis": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Cache\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Cache component with PSR-6, PSR-16, and tags", + "homepage": "https://symfony.com", + "keywords": [ + "caching", + "psr6" + ], + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/config", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "c868972ac26e4e19860ce11b300bb74145246ff9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/c868972ac26e4e19860ce11b300bb74145246ff9", + "reference": "c868972ac26e4e19860ce11b300bb74145246ff9", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/filesystem": "~3.4|~4.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/finder": "<3.4" + }, + "require-dev": { + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Config Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/console", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "ca80b8ced97cf07390078b29773dc384c39eee1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/ca80b8ced97cf07390078b29773dc384c39eee1f", + "reference": "ca80b8ced97cf07390078b29773dc384c39eee1f", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0" + }, + "suggest": { + "psr/log-implementation": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/debug", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "9316545571f079c4dd183e674721d9dc783ce196" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/9316545571f079c4dd183e674721d9dc783ce196", + "reference": "9316545571f079c4dd183e674721d9dc783ce196", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": "<3.4" + }, + "require-dev": { + "symfony/http-kernel": "~3.4|~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "f4f401fc2766eb8d766fc6043d9e6489b37a41e4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f4f401fc2766eb8d766fc6043d9e6489b37a41e4", + "reference": "f4f401fc2766eb8d766fc6043d9e6489b37a41e4", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/container": "^1.0" + }, + "conflict": { + "symfony/config": "<4.1.1", + "symfony/finder": "<3.4", + "symfony/proxy-manager-bridge": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "psr/container-implementation": "1.0" + }, + "require-dev": { + "symfony/config": "~4.1", + "symfony/expression-language": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DependencyInjection Component", + "homepage": "https://symfony.com", + "time": "2018-08-01T08:24:03+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "bfb30c2ad377615a463ebbc875eba64a99f6aa3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bfb30c2ad377615a463ebbc875eba64a99f6aa3e", + "reference": "bfb30c2ad377615a463ebbc875eba64a99f6aa3e", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "conflict": { + "symfony/dependency-injection": "<3.4" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T09:10:45+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "2e30335e0aafeaa86645555959572fe7cea22b43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/2e30335e0aafeaa86645555959572fe7cea22b43", + "reference": "2e30335e0aafeaa86645555959572fe7cea22b43", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/finder", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/e162f1df3102d0b7472805a5a9d5db9fcf0a8068", + "reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/flex", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/flex.git", + "reference": "d6f5fed47ddad2eb25d5cc19316692203a2898eb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/flex/zipball/d6f5fed47ddad2eb25d5cc19316692203a2898eb", + "reference": "d6f5fed47ddad2eb25d5cc19316692203a2898eb", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0", + "php": "^7.0" + }, + "require-dev": { + "composer/composer": "^1.0.2", + "symfony/phpunit-bridge": "^3.2.8" + }, + "type": "composer-plugin", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + }, + "class": "Symfony\\Flex\\Flex" + }, + "autoload": { + "psr-4": { + "Symfony\\Flex\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien.potencier@gmail.com" + } + ], + "description": "Composer plugin for Symfony", + "time": "2018-08-21T07:51:18+00:00" + }, + { + "name": "symfony/framework-bundle", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/framework-bundle.git", + "reference": "ad1ac510d8c89557b8afa2dd838e2f34b4c2529c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/ad1ac510d8c89557b8afa2dd838e2f34b4c2529c", + "reference": "ad1ac510d8c89557b8afa2dd838e2f34b4c2529c", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": "^7.1.3", + "symfony/cache": "~3.4|~4.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "^4.1.1", + "symfony/event-dispatcher": "^4.1", + "symfony/filesystem": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/http-foundation": "^4.1", + "symfony/http-kernel": "^4.1", + "symfony/polyfill-mbstring": "~1.0", + "symfony/routing": "^4.1" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.0", + "phpdocumentor/type-resolver": "<0.2.1", + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", + "symfony/asset": "<3.4", + "symfony/console": "<3.4", + "symfony/form": "<4.1", + "symfony/property-info": "<3.4", + "symfony/serializer": "<4.1", + "symfony/stopwatch": "<3.4", + "symfony/translation": "<3.4", + "symfony/twig-bridge": "<4.1.1", + "symfony/validator": "<4.1", + "symfony/workflow": "<4.1" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "fig/link-util": "^1.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "symfony/asset": "~3.4|~4.0", + "symfony/browser-kit": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/css-selector": "~3.4|~4.0", + "symfony/dom-crawler": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/form": "^4.1", + "symfony/lock": "~3.4|~4.0", + "symfony/messenger": "^4.1", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/process": "~3.4|~4.0", + "symfony/property-info": "~3.4|~4.0", + "symfony/security": "~3.4|~4.0", + "symfony/security-core": "~3.4|~4.0", + "symfony/security-csrf": "~3.4|~4.0", + "symfony/serializer": "^4.1", + "symfony/stopwatch": "~3.4|~4.0", + "symfony/templating": "~3.4|~4.0", + "symfony/translation": "~3.4|~4.0", + "symfony/validator": "^4.1", + "symfony/var-dumper": "~3.4|~4.0", + "symfony/web-link": "~3.4|~4.0", + "symfony/workflow": "^4.1", + "symfony/yaml": "~3.4|~4.0", + "twig/twig": "~1.34|~2.4" + }, + "suggest": { + "ext-apcu": "For best performance of the system caches", + "symfony/console": "For using the console commands", + "symfony/form": "For using forms", + "symfony/property-info": "For using the property_info service", + "symfony/serializer": "For using the serializer service", + "symfony/validator": "For using validation", + "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering", + "symfony/yaml": "For using the debug:config and lint:yaml commands" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\FrameworkBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony FrameworkBundle", + "homepage": "https://symfony.com", + "time": "2018-08-01T08:24:03+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "7d93e3547660ec7ee3dad1428ba42e8076a0e5f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/7d93e3547660ec7ee3dad1428ba42e8076a0e5f1", + "reference": "7d93e3547660ec7ee3dad1428ba42e8076a0e5f1", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.1" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/expression-language": "~3.4|~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com", + "time": "2018-08-01T14:07:44+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "6347be5110efb27fe45ea04bf213078b67a05036" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/6347be5110efb27fe45ea04bf213078b67a05036", + "reference": "6347be5110efb27fe45ea04bf213078b67a05036", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/log": "~1.0", + "symfony/debug": "~3.4|~4.0", + "symfony/event-dispatcher": "~4.1", + "symfony/http-foundation": "^4.1.1", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/config": "<3.4", + "symfony/dependency-injection": "<4.1", + "symfony/var-dumper": "<4.1.1", + "twig/twig": "<1.34|<2.4,>=2" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/cache": "~1.0", + "symfony/browser-kit": "~3.4|~4.0", + "symfony/config": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/css-selector": "~3.4|~4.0", + "symfony/dependency-injection": "^4.1", + "symfony/dom-crawler": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0", + "symfony/routing": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0", + "symfony/templating": "~3.4|~4.0", + "symfony/translation": "~3.4|~4.0", + "symfony/var-dumper": "^4.1.1" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/var-dumper": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpKernel Component", + "homepage": "https://symfony.com", + "time": "2018-08-01T15:30:34+00:00" + }, + { + "name": "symfony/inflector", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/inflector.git", + "reference": "07810b5c88ec0c2e98972571a40a126b44664e13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/inflector/zipball/07810b5c88ec0c2e98972571a40a126b44664e13", + "reference": "07810b5c88ec0c2e98972571a40a126b44664e13", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Inflector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Inflector Component", + "homepage": "https://symfony.com", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string", + "symfony", + "words" + ], + "time": "2018-07-26T08:55:25+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8", + "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/95c50420b0baed23852452a7f0c7b527303ed5ae", + "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "symfony/property-access", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-access.git", + "reference": "e97a399cb40333fc79724ddee952aa926a30c743" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-access/zipball/e97a399cb40333fc79724ddee952aa926a30c743", + "reference": "e97a399cb40333fc79724ddee952aa926a30c743", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/inflector": "~3.4|~4.0" + }, + "require-dev": { + "symfony/cache": "~3.4|~4.0" + }, + "suggest": { + "psr/cache-implementation": "To cache access methods." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyAccess\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony PropertyAccess Component", + "homepage": "https://symfony.com", + "keywords": [ + "access", + "array", + "extraction", + "index", + "injection", + "object", + "property", + "property path", + "reflection" + ], + "time": "2018-07-26T09:10:45+00:00" + }, + { + "name": "symfony/property-info", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-info.git", + "reference": "807e103da26f1ea0256e587fe918fe2ba68989fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-info/zipball/807e103da26f1ea0256e587fe918fe2ba68989fb", + "reference": "807e103da26f1ea0256e587fe918fe2ba68989fb", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/inflector": "~3.4|~4.0" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.0||>=3.2.0,<3.2.2", + "phpdocumentor/type-resolver": "<0.3.0", + "symfony/dependency-injection": "<3.4" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "symfony/cache": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/serializer": "~3.4|~4.0" + }, + "suggest": { + "phpdocumentor/reflection-docblock": "To use the PHPDoc", + "psr/cache-implementation": "To cache results", + "symfony/doctrine-bridge": "To use Doctrine metadata", + "symfony/serializer": "To use Serializer metadata" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyInfo\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kévin Dunglas", + "email": "dunglas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Property Info Component", + "homepage": "https://symfony.com", + "keywords": [ + "doctrine", + "phpdoc", + "property", + "symfony", + "type", + "validator" + ], + "time": "2018-07-26T08:55:25+00:00" + }, + { + "name": "symfony/routing", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "6912cfebc0ea4e7a46fdd15c9bd1f427dd39ff1b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/6912cfebc0ea4e7a46fdd15c9bd1f427dd39ff1b", + "reference": "6912cfebc0ea4e7a46fdd15c9bd1f427dd39ff1b", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "conflict": { + "symfony/config": "<3.4", + "symfony/dependency-injection": "<3.4", + "symfony/yaml": "<3.4" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/dependency-injection": "For loading routes from a service", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Routing Component", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/serializer", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/serializer.git", + "reference": "2f134b6cad1cefa0613a4339b08e480124914c85" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/serializer/zipball/2f134b6cad1cefa0613a4339b08e480124914c85", + "reference": "2f134b6cad1cefa0613a4339b08e480124914c85", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "phpdocumentor/type-resolver": "<0.2.1", + "symfony/dependency-injection": "<3.4", + "symfony/property-access": "<3.4", + "symfony/property-info": "<3.4", + "symfony/yaml": "<3.4" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "symfony/cache": "~3.4|~4.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/property-access": "~3.4|~4.0", + "symfony/property-info": "~3.4|~4.0", + "symfony/validator": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "psr/cache-implementation": "For using the metadata cache.", + "symfony/config": "For using the XML mapping loader.", + "symfony/http-foundation": "To use the DataUriNormalizer.", + "symfony/property-access": "For using the ObjectNormalizer.", + "symfony/property-info": "To deserialize relations.", + "symfony/yaml": "For using the default YAML mapping loader." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Serializer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Serializer Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T09:10:45+00:00" + }, + { + "name": "symfony/serializer-pack", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/serializer-pack.git", + "reference": "35cea385ea44d1f40ec12571996bf768fbe409de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/serializer-pack/zipball/35cea385ea44d1f40ec12571996bf768fbe409de", + "reference": "35cea385ea44d1f40ec12571996bf768fbe409de", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "php": "^7.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "symfony/cache": "^3.3|^4.0", + "symfony/property-access": "^3.3|^4.0", + "symfony/property-info": "^3.3|^4.0", + "symfony/serializer": "^3.3|^4.0" + }, + "type": "symfony-pack", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A pack for the Symfony serializer", + "time": "2017-12-12T01:48:53+00:00" + }, + { + "name": "symfony/translation", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "6fcd1bd44fd6d7181e6ea57a6f4e08a09b29ef65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/6fcd1bd44fd6d7181e6ea57a6f4e08a09b29ef65", + "reference": "6fcd1bd44fd6d7181e6ea57a6f4e08a09b29ef65", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<3.4", + "symfony/dependency-injection": "<3.4", + "symfony/yaml": "<3.4" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/intl": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/twig-bridge", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bridge.git", + "reference": "0fdf6b2e69c514e1b178ee823dd6bc9950db4a2f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/0fdf6b2e69c514e1b178ee823dd6bc9950db4a2f", + "reference": "0fdf6b2e69c514e1b178ee823dd6bc9950db4a2f", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "twig/twig": "^1.35|^2.4.4" + }, + "conflict": { + "symfony/console": "<3.4", + "symfony/form": "<4.1.2" + }, + "require-dev": { + "symfony/asset": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/form": "^4.1.2", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/http-kernel": "~3.4|~4.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/routing": "~3.4|~4.0", + "symfony/security": "~3.4|~4.0", + "symfony/security-acl": "~2.8|~3.0", + "symfony/stopwatch": "~3.4|~4.0", + "symfony/templating": "~3.4|~4.0", + "symfony/translation": "~3.4|~4.0", + "symfony/var-dumper": "~3.4|~4.0", + "symfony/web-link": "~3.4|~4.0", + "symfony/workflow": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/asset": "For using the AssetExtension", + "symfony/expression-language": "For using the ExpressionExtension", + "symfony/finder": "", + "symfony/form": "For using the FormExtension", + "symfony/http-kernel": "For using the HttpKernelExtension", + "symfony/routing": "For using the RoutingExtension", + "symfony/security": "For using the SecurityExtension", + "symfony/stopwatch": "For using the StopwatchExtension", + "symfony/templating": "For using the TwigEngine", + "symfony/translation": "For using the TranslationExtension", + "symfony/var-dumper": "For using the DumpExtension", + "symfony/web-link": "For using the WebLinkExtension", + "symfony/yaml": "For using the YamlExtension" + }, + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Twig\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Twig Bridge", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/twig-bundle", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bundle.git", + "reference": "7ad77c4f669d7d5de0032b876b19e2b664003e85" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/7ad77c4f669d7d5de0032b876b19e2b664003e85", + "reference": "7ad77c4f669d7d5de0032b876b19e2b664003e85", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/config": "~3.4|~4.0", + "symfony/http-foundation": "~4.1", + "symfony/http-kernel": "~4.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/twig-bridge": "^3.4.3|^4.0.3", + "twig/twig": "~1.34|~2.4" + }, + "conflict": { + "symfony/dependency-injection": "<4.1", + "symfony/framework-bundle": "<4.1" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "symfony/asset": "~3.4|~4.0", + "symfony/dependency-injection": "~4.1", + "symfony/expression-language": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/form": "~3.4|~4.0", + "symfony/framework-bundle": "~4.1", + "symfony/routing": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0", + "symfony/templating": "~3.4|~4.0", + "symfony/web-link": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\TwigBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony TwigBundle", + "homepage": "https://symfony.com", + "time": "2018-07-26T09:10:45+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "69e174f4c02ec43919380171c6f7550753299316" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/69e174f4c02ec43919380171c6f7550753299316", + "reference": "69e174f4c02ec43919380171c6f7550753299316", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php72": "~1.5" + }, + "conflict": { + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", + "symfony/console": "<3.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/process": "~3.4|~4.0", + "twig/twig": "~1.34|~2.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony mechanism for exploring and dumping PHP variables", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/yaml", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "46bc69aa91fc4ab78a96ce67873a6b0c148fd48c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/46bc69aa91fc4ab78a96ce67873a6b0c148fd48c", + "reference": "46bc69aa91fc4ab78a96ce67873a6b0c148fd48c", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "tightenco/collect", + "version": "v5.6.33", + "source": { + "type": "git", + "url": "https://github.com/tightenco/collect.git", + "reference": "d7381736dca44ac17d0805a25191b094e5a22446" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tightenco/collect/zipball/d7381736dca44ac17d0805a25191b094e5a22446", + "reference": "d7381736dca44ac17d0805a25191b094e5a22446", + "shasum": "" + }, + "require": { + "php": ">=7.1.3", + "symfony/var-dumper": ">=3.1.10" + }, + "require-dev": { + "mockery/mockery": "~1.0", + "nesbot/carbon": "~1.20", + "phpunit/phpunit": "~7.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/Collect/Support/helpers.php", + "src/Collect/Support/alias.php" + ], + "psr-4": { + "Tightenco\\Collect\\": "src/Collect" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylorotwell@gmail.com" + } + ], + "description": "Collect - Illuminate Collections as a separate package.", + "keywords": [ + "collection", + "laravel" + ], + "time": "2018-08-09T16:56:26+00:00" + }, + { + "name": "twig/twig", + "version": "v2.5.0", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/6a5f676b77a90823c2d4eaf76137b771adf31323", + "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323", + "shasum": "" + }, + "require": { + "php": "^7.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/debug": "^2.7", + "symfony/phpunit-bridge": "^3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + }, + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "https://twig.symfony.com/contributors", + "role": "Contributors" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "time": "2018-07-13T07:18:09+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2018-01-29T19:49:41+00:00" + } + ], + "packages-dev": [ + { + "name": "kadet/functional", + "version": "dev-master", + "source": { + "type": "git", + "url": "http://git.kadet.net/kadet/functional-php.git", + "reference": "024d97d46c183df8f3ccaf1f8b4dc73d9cb629ae" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0", + "psy/psysh": "@stable" + }, + "type": "library", + "autoload": { + "psr-4": { + "Kadet\\Functional\\": "./src/" + }, + "files": [ + "./src/functions.php", + "./src/Predicates/index.php" + ] + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kacper Donat", + "email": "kadet1090@gmail.com" + } + ], + "description": "Functional library for PHP", + "time": "2018-08-27T16:57:36+00:00" + }, + { + "name": "symfony/dotenv", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/dotenv.git", + "reference": "22ca63c46e252b8a8f37b8f9e6da66bff5b3d3e7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/22ca63c46e252b8a8f37b8f9e6da66bff5b3d3e7", + "reference": "22ca63c46e252b8a8f37b8f9e6da66bff5b3d3e7", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "require-dev": { + "symfony/process": "~3.4|~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Dotenv\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Registers environment variables from a .env file", + "homepage": "https://symfony.com", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/process", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "f01fc7a4493572f7f506c49dcb50ad01fb3a2f56" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/f01fc7a4493572f7f506c49dcb50ad01fb3a2f56", + "reference": "f01fc7a4493572f7f506c49dcb50ad01fb3a2f56", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/web-server-bundle", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/web-server-bundle.git", + "reference": "448d4437e95d0884856a1e83bc51a15b5d048060" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/web-server-bundle/zipball/448d4437e95d0884856a1e83bc51a15b5d048060", + "reference": "448d4437e95d0884856a1e83bc51a15b5d048060", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/config": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/http-kernel": "~3.4|~4.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/process": "^3.4.2|^4.0.2" + }, + "suggest": { + "symfony/expression-language": "For using the filter option of the log server.", + "symfony/monolog-bridge": "For using the log server." + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\WebServerBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony WebServerBundle", + "homepage": "https://symfony.com", + "time": "2018-07-26T09:10:45+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "kadet/functional": 20 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "^7.1.3", + "ext-ctype": "*", + "ext-iconv": "*", + "ext-json": "*" + }, + "platform-dev": [] +} diff --git a/config/bundles.php b/config/bundles.php new file mode 100644 index 0000000..e18f2a0 --- /dev/null +++ b/config/bundles.php @@ -0,0 +1,8 @@ + ['all' => true], + Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['dev' => true], + Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true], + Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], +]; diff --git a/config/packages/dev/routing.yaml b/config/packages/dev/routing.yaml new file mode 100644 index 0000000..4116679 --- /dev/null +++ b/config/packages/dev/routing.yaml @@ -0,0 +1,3 @@ +framework: + router: + strict_requirements: true diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml new file mode 100644 index 0000000..8b24418 --- /dev/null +++ b/config/packages/framework.yaml @@ -0,0 +1,30 @@ +framework: + secret: '%env(APP_SECRET)%' + #default_locale: en + #csrf_protection: true + #http_method_override: true + + # Enables session support. Note that the session will ONLY be started if you read or write from it. + # Remove or comment this section to explicitly disable session support. + session: + handler_id: ~ + + #esi: true + #fragments: true + php_errors: + log: true + + cache: + # Put the unique name of your app here: the prefix seed + # is used to compute stable namespaces for cache keys. + #prefix_seed: your_vendor_name/app_name + + # The app cache caches to the filesystem by default. + # Other options include: + + # Redis + #app: cache.adapter.redis + #default_redis_provider: redis://localhost + + # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) + #app: cache.adapter.apcu diff --git a/config/packages/routing.yaml b/config/packages/routing.yaml new file mode 100644 index 0000000..368bc7f --- /dev/null +++ b/config/packages/routing.yaml @@ -0,0 +1,3 @@ +framework: + router: + strict_requirements: ~ diff --git a/config/packages/sensio_framework_extra.yaml b/config/packages/sensio_framework_extra.yaml new file mode 100644 index 0000000..20e5cf3 --- /dev/null +++ b/config/packages/sensio_framework_extra.yaml @@ -0,0 +1,3 @@ +sensio_framework_extra: + router: + annotations: false \ No newline at end of file diff --git a/config/packages/test/framework.yaml b/config/packages/test/framework.yaml new file mode 100644 index 0000000..d051c84 --- /dev/null +++ b/config/packages/test/framework.yaml @@ -0,0 +1,4 @@ +framework: + test: true + session: + storage_id: session.storage.mock_file diff --git a/config/packages/translation.yaml b/config/packages/translation.yaml new file mode 100644 index 0000000..1edfbe2 --- /dev/null +++ b/config/packages/translation.yaml @@ -0,0 +1,7 @@ +framework: + default_locale: '%locale%' + translator: + paths: + - '%kernel.project_dir%/translations' + fallbacks: + - '%locale%' diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml new file mode 100644 index 0000000..3b315dc --- /dev/null +++ b/config/packages/twig.yaml @@ -0,0 +1,4 @@ +twig: + paths: ['%kernel.project_dir%/templates'] + debug: '%kernel.debug%' + strict_variables: '%kernel.debug%' diff --git a/config/routes.yaml b/config/routes.yaml new file mode 100644 index 0000000..c3283aa --- /dev/null +++ b/config/routes.yaml @@ -0,0 +1,3 @@ +#index: +# path: / +# controller: App\Controller\DefaultController::index diff --git a/config/routes/annotations.yaml b/config/routes/annotations.yaml new file mode 100644 index 0000000..d49a502 --- /dev/null +++ b/config/routes/annotations.yaml @@ -0,0 +1,3 @@ +controllers: + resource: ../../src/Controller/ + type: annotation diff --git a/config/routes/dev/twig.yaml b/config/routes/dev/twig.yaml new file mode 100644 index 0000000..f4ee839 --- /dev/null +++ b/config/routes/dev/twig.yaml @@ -0,0 +1,3 @@ +_errors: + resource: '@TwigBundle/Resources/config/routing/errors.xml' + prefix: /_error diff --git a/config/services.yaml b/config/services.yaml new file mode 100644 index 0000000..4d74763 --- /dev/null +++ b/config/services.yaml @@ -0,0 +1,40 @@ +# This file is the entry point to configure your own services. +# Files in the packages/ subdirectory configure your dependencies. + +# Put parameters here that don't need to change on each machine where the app is deployed +# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration +parameters: + locale: 'en' + +services: + # default configuration for services in *this* file + _defaults: + autowire: true # Automatically injects dependencies in your services. + autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. + public: false # Allows optimizing the container by removing unused services; this also means + # fetching services directly from the container via $container->get() won't work. + # The best practice is to be explicit about your dependencies anyway. + + # makes classes in src/ available to be used as services + # this creates a service per class whose id is the fully-qualified class name + App\: + resource: '../src/*' + exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}' + + # controllers are imported separately to make sure services can be injected + # as action arguments even if you don't extend any base controller class + App\Controller\: + resource: '../src/Controller' + tags: ['controller.service_arguments'] + + App\Provider\: + resource: '../src/Provider' + public: true + + serializer.datetime_normalizer: + class: Symfony\Component\Serializer\Normalizer\DateTimeNormalizer + arguments: [!php/const DateTime::ATOM] + tags: [serializer.normalizer] + + # add more service definitions when explicit configuration is needed + # please note that last definitions always *replace* previous ones diff --git a/package.json b/package.json new file mode 100644 index 0000000..e47e04b --- /dev/null +++ b/package.json @@ -0,0 +1,36 @@ +{ + "name": "czydojade", + "version": "1.0.0", + "author": "Kacper Donat ", + "license": "MIT", + "devDependencies": { + "webpack": "^4.17.0", + "webpack-cli": "^3.1.0" + "@fortawesome/fontawesome-svg-core": "^1.2.4", + "@fortawesome/pro-light-svg-icons": "^5.3.1", + "@fortawesome/pro-regular-svg-icons": "^5.3.1", + "@fortawesome/pro-solid-svg-icons": "^5.3.1", + "@fortawesome/vue-fontawesome": "^0.1.1", + "@types/bootstrap": "^4.1.2", + "@types/jquery": "^3.3.6", + "@types/moment": "^2.13.0", + "@types/popper.js": "^1.11.0", + "bootstrap": "^4.1.3", + "css-loader": "^1.0.0", + "file-loader": "^2.0.0", + "jquery": "^3.3.1", + "moment": "^2.22.2", + "node-sass": "^4.9.3", + "popper.js": "^1.14.4", + "raw-loader": "^0.5.1", + "sass-loader": "^7.1.0", + "style-loader": "^0.22.1", + "ts-loader": "^4.5.0", + "typescript": "^3.0.1", + "vue": "^2.5.17", + "vue-class-component": "^6.2.0", + "vue-property-decorator": "^7.0.0", + "xmldom": "^0.1.27", + "xpath": "^0.0.27" + } +} diff --git a/public/index.php b/public/index.php new file mode 100644 index 0000000..10878ce --- /dev/null +++ b/public/index.php @@ -0,0 +1,39 @@ +load(__DIR__.'/../.env'); +} + +$env = $_SERVER['APP_ENV'] ?? 'dev'; +$debug = (bool) ($_SERVER['APP_DEBUG'] ?? ('prod' !== $env)); + +if ($debug) { + umask(0000); + + Debug::enable(); +} + +if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) { + Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST); +} + +if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) { + Request::setTrustedHosts(explode(',', $trustedHosts)); +} + +$kernel = new Kernel($env, $debug); +$request = Request::createFromGlobals(); +$response = $kernel->handle($request); +$response->send(); +$kernel->terminate($request, $response); diff --git a/resources/components/departures.html b/resources/components/departures.html new file mode 100644 index 0000000..12f271b --- /dev/null +++ b/resources/components/departures.html @@ -0,0 +1,47 @@ +
+
+
+
+ + +
+
+ + s +
+
+ + +
+ +
    +
  • +
    +
    + + {{ departure.line.symbol }} +
    +
    {{ departure.display }}
    +
    + +
    + + {{ departure.scheduled.format('HH:mm') }} + + + {{ departure.delay|signed }}s + + {{ departure.estimated.format('HH:mm') }} +
    + + + + +
  • +
+
\ No newline at end of file diff --git a/resources/components/finder.html b/resources/components/finder.html new file mode 100644 index 0000000..f9d9bb2 --- /dev/null +++ b/resources/components/finder.html @@ -0,0 +1,42 @@ +
+ + +
+ +
+
+
+
+ + +

{{ name }}

+ +
+ +
+
+
    +
  • + + + +
  • +
+
+
+
+ Nie znaleziono więcej przystanków, spełniających te kryteria. +
+
+ Wprowadź zapytanie powyżej, aby wyszukać przystanek. +
+
\ No newline at end of file diff --git a/resources/components/picker.html b/resources/components/picker.html new file mode 100644 index 0000000..e2e4092 --- /dev/null +++ b/resources/components/picker.html @@ -0,0 +1,17 @@ +
+ + +
    +
  • + + + +
  • +
+ + +
\ No newline at end of file diff --git a/resources/components/stop.html b/resources/components/stop.html new file mode 100644 index 0000000..aee5ca7 --- /dev/null +++ b/resources/components/stop.html @@ -0,0 +1,19 @@ +
+
+ +
+ + {{ stop.name }} + {{ stop.variant }} + + +
+ + + +
+
\ No newline at end of file diff --git a/resources/icons/light/bus.svg b/resources/icons/light/bus.svg new file mode 100644 index 0000000..373b68d --- /dev/null +++ b/resources/icons/light/bus.svg @@ -0,0 +1 @@ +bus \ No newline at end of file diff --git a/resources/icons/light/icons.ai b/resources/icons/light/icons.ai new file mode 100644 index 0000000..c6ee7a7 --- /dev/null +++ b/resources/icons/light/icons.ai @@ -0,0 +1,463 @@ +%PDF-1.5 %âãÏÓ +1 0 obj <>/OCGs[5 0 R 25 0 R 43 0 R 60 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + Adobe Illustrator CC 22.1 (Windows) + 2018-09-02T15:44:01+02:00 + 2018-09-02T17:23:36+02:00 + 2018-09-02T17:23:36+02:00 + + + + 256 + 40 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAKAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8AnX5i+ePzM8wfmdJ+V/5f XFvo09nZLf6xrlwA8ixOUqIVKuNhMg2XkSeqgVxVAXn/ADjLokllNqf5h+ftZ1VYV53d1PdJbWyr 35fWPrHFR2+MYqxC3/Ln/nDy8uRpsPml0utlE73hjQkf8XSxCDf54qzVv+cZb/SEFz5A/MDWtGlp ziinl+sW7jqqsIfQBT5q304qnH5N/mJ58u/N+v8A5defFt7jzF5ehiuP0raUEc8UgQguqhF5FZkY FVXY0KgjFWefmP5wXyb5H1jzMbf602mwepHb14h5GYRxgnsvNxX2xV8/aTa+bvzGsoNb87/mzZ+X dPv0WeDy7pF5DAyQyqGVJqSx8WofsyeoR3odsVTWH8gv+cbeXqX3m86lMRRpbnWLTkTWtf3YTFVs v5B/848xOZtJ88yaTc1BSW21iz2p/rAt/wANiqVat5k8+flPAus6P+Y2n+ffLNvJGLzRb66ikvhH I4QCJvUnlPHkN0bbqUKg4q+nNH1O31XSbLVLcEW9/bxXMIbZuEyB1r70bFUh/M2DW5vJl9+hvMMP la7j4yPrNwqNFFErD1Axk2Sq/tdsVfEms33l+X8wEste806z+Yflwx/6Rd2DzRXPqkbqkV56quqO NuLAEUIbtirITpv5CekFl8k+dYVUD1LlfTLgDq1GIT9WKpV+WV+bjzFqNvpv5iXnkGOOTjodnqEs 0yy1Y/u7qRfQtkCgb8169tsVfdeiQX8GjWMGo3g1G/it4kur9UWITyqgDyhF+FebfFQbYqiLq6tr S2lurqVILaBGknnkYIiIgqzMxoAABUk4q8W1z/nKby3JeXGleRdF1LzjqsYYI1lA/wBX57hfiAaV lqOojoR0OKvLPKFh/wA5AwefLn8wtV8iz675ilVks5L2ZbWO0SRShWCAupACMUFegJ7muKq3nZvz s8y+cNO1rz5+Xt/qflrSqSW3ljTZawGX/fkpiW5aU7Gq0G1BsCeSr2Hyd/zkv5A17Vk0PU47vyxr juIlstWj9INIxoEWQEgE9B6nGp6Yq9axV88/m3538xeZfzPf8sdJ8yQ+TtF063juPMOtSzLbzSGZ EkWGF2eMn4JU+FGFatyNBTFUNbfkF/zjQsf+meaVv7pjyluptYtg7sepPDiNzviqr/yoX/nFz/q+ wf8AcYh/5qxVC335FfkTbr9a8qefB5e1qEE2t9Dq1u4V+3Iclelf5XXFWY/848/mT5i8wrr3lXzN cQ6jrXleVIv0zbOskV5BKXCSc0+FiPT+1tyBFRWuKs0/Nnz3/gTyBq3mZYRcXFoipaQNXi08zrFH zp+yrPybcbDxxV4R5e/Ljyr54srfzH+bX5ix6hql8q3KaLBqVrDb2iyDkIipZgGCncRhApqN+uKp 5/yoX/nFz/q+wf8AcYh/5qxVpvyE/wCcXSpA16FSRQMNYgqPcVYjFWO6hqp/JDVNO1Xyj50TzV5G uJ1ttT8tzXkN1PArAn1YRG1Bsv2lVd6Bqg4ql/8Azip5s1/zX+d+ua5r10bzU7nQphLOVRKhLq0V QFQKoCqKDbFXv35v/lND+ZWl6bpdzrFzpdlZ3QuLqG3UOtwlKcGBZQGH7DENx3+E4qwX8zvyQ/ID y1+Xt/cX1hFpD29vILC/+sTfWXuQhMarzdvWdmH2CpHXYYqmP/OI99rt3+T9uNULtDb3txBpTyVJ NogQgAnqqymRR4Up2xV5H5485eYfK/8Azl1fSaPc+gNSvNHsb+MqrLNbS29oHjbkDSvitDirKv8A nNHzl5i0yx0Ty7Y3XoaTrMVy2pwhFJm9F4TGpZgWAU7/AA098VZL+Xv/ADjh+TGr+QfLWq6h5e9e /wBQ0qxuryb65fJzmmtkkkbik6qvJmJooAxVkH/Qrn5E/wDUs/8AT9qH/ZRirv8AoVz8if8AqWf+ n7UP+yjFWAfn3+Qn5T+Vfyn13XtB0L6nq1n9V+rXP1q8l4+reQxP8Eszoao7DdcVZZ/ziZ5s17zH +V0r6zc/WpNL1B9Os3KqpW2htrdo0PALXj6h3O+KvIP+cmPMnmzX/wA3U/Lo6o0Hl6afTY4bQKvp rLcIo9V+IV5KNMTQtTp4Yq9J8vfkL+cHlywTT9B/MW302zQACK30i3StO7EbsfEsScVTT/lVv/OQ X/l1/wDuWQ/1xVin5gf849fmXrui3dz5k8922rLZQvcKZNKgWb9ypfikykSJXjTY4qhf+cN/Pnmz WJ9V8uapqD3ekaTZQnTYJApMI9QrxVwA5WhpRiaUFKYqnv8Azl9+ZUOjeUP8FR2skl55jiWQ3iye mkENvcRudgCZDJwKFdtjWp6Yqhfy+/J384bPydpDaB+YkWk6dd2kF1FZQ6XB8HrxrJRn6u3xbs25 xVkX/Krf+cgv/Lr/APcsh/rirv8AlVv/ADkF/wCXX/7lkP8AXFXmX/OQP5WfmTY+RJtf81+dIvMU GnSwiK3bT4YJQZpBF8M6/Go+OpXocVe6/kV+ZMH5geQYNVS2ktbiwk/Rt5HLJ6paaCKNjIJKKWDr IrbjrUe+KvKv+Ve+T/PH/OUvnzT/ADRp/wCkLO20+yuIIvWng4yfVbNOXKB4mPwsdiaYq9C/6Fc/ In/qWf8Ap+1D/soxV5R5F/JT8stU/PHz35YvtG9bQ9Gitn020+s3a+kZEQufUWVZGqWP2mOKvV/+ hXPyJ/6ln/p+1D/soxVi/wCRPlvRfLX5z/mboeiW/wBU0uyXTktbfnJJwDRs5HOVnc/ExO5xVPv+ csP/ACSWr/8AGez/AOolMVUfL3/OM35I3egaZd3HlvncXFpBLM/12/HJ3jVmNBcACpPbFUw/6Fc/ In/qWf8Ap+1D/soxV3/Qrn5E/wDUs/8AT9qH/ZRirzD/AJyN/I/8rvJ/5aTa15c0X6jqaXdvEtx9 au5qJIxDDhNNIm/yxVX/ACP8g2XkP/nJTzL5asbqS7tLbQWkhmmCiTjNPZycW47HjypXauKvp3FX gHmL8n7/AM/fn3e3nnG6hu/KGk2sTaZpEN2vqnkkfwSQKfVjR5Obu23L4QCR0Ve82NjZ2FnDZWUE dtZ2yLFb28ShI0RRRVVVoAAMVfMs35ead5y/5y68yNf3MkEWgppuqpHEBWV4Laz4Rsx+ytTvTf5d cVZT/wA5bfl3Ya75FbzXJcyQXvliNjDEoDRzJcyxIytWhUqdwR/tKpf5C85/85GW/kby7b6T+Xtn e6VDpllHp94+o20bTW626CKVkadSpdAGoRtiqe/47/5yg/8ALZ2P/cUtf+yjFXf47/5yg/8ALZ2P /cUtf+yjFWC/nh5s/Pi//K7WrTzT5GtNH0KT6r9c1GK/t53i43cLR0jSZ2blIFXZe9cVeuf84++Q bLyZ+Wlhb2t1JdHWBHrFw8gVeMt1bxAogX9lVjUbn+mKvIP+cn/I7aT+Ynljz1pLPeazquo2luml yFFiae14ejxkJXiH4qp5fOuKs9/x3/zlB/5bOx/7ilr/ANlGKu/x3/zlB/5bOx/7ilr/ANlGKoDX /O//ADktJoWox3f5cWUFq9rMtxMNTtWKRmNg7BROSaLvTFUN/wA4gfl1Y6V5MXzst3JNe+Yo5IWt ioWOGO1upYtjuWLmPlXanTFV3/OX/wCXmnar5Ibzq1xJDqHl1I4kgUAxzR3d1FFRq7qUMnIEfI+y rvKPnX/nJGHyposOnfl3ZXWnx2FslnctqVsjSwrCojkKmcFSy0NCMVTb/Hf/ADlB/wCWzsf+4pa/ 9lGKu/x3/wA5Qf8Als7H/uKWv/ZRirz38+fNX556h+WmoWvmzyTa6Lojy25n1CG+t7h0ZZlMYEcc 0jHk1B0xV7Z+Rf5ead5F/L600+yuJLptRYandTSgLWa4hjBCqOiqkajr74q8Y1vybqnmj/nJnz7B Yearzyj9S0+zurjULF3jZoltLQMkjJLBRBXkamm2KqPlLQLDzdrkuh6B+fev3epxhmWAm+i9VYxV zC0twiycd/snoK9N8VZVa/8AOK3mK01O61W1/M/WrfVL4AXt/EJUuJgtAollW5DvSm3I4qxOz0XS 73zd/hK1/P7XpdaMht0iD3vpPOCV9JJzcekz12ADbnYb4qyv/nHvQb7QPzc/MnR77VbjW7u0XTll 1W7LNPMWR3DOWaRtg3Hdj0xVkv8Azlh/5JLV/wDjPZ/9RKYqxvQv+cffPd1omn3Mf5teYbeOe2hk S3SW4CRq8YYItLobLWg2xVJPPXkSbyJBbS+aPzz8w2P1xitrEGvZpZONOREcVw7cVruxFPpxVOfL /wCS3mXzFo9trOifnX5gvtMvF529zFNc8WANCCDdBlYEUKkVB2OKsK/Pz8oPNflb8vZtW1P8wtY8 x2q3MEZ0y/kmaEs7EByHnlFV7fDirPdH1HT7D/nLvzXNfXMVpE3l2JFkndY1LE2R4gsQK0BxV7R/ izyr/wBXmx/6SYf+asVeYeX/AMt/IWjfm3qX5jR+b4prjUPWYac08ARHuAA/KQPV0G/FSu23WmKv T/8AFnlX/q82P/STD/zVirxr8vru1u/+crfzBuLSaO4t30qz4TRMHRqQWQNGUkGhFMVZh/zkj/5J LzT/AMYIf+omLFXjvmjyV5n83+WPyxu/LXnKx0u30zQtOhubWa/+rvbXCwIzXCqhJZ6UUjYjiPE0 VfSsXmrywsSK+uWMjqoDP9YhHIgbmgbauKpR5z1fStX8p6xpekeZbHT9UvbSaCyvRdRr6UroQjcl Ysu/ddx1G+KvnDUfLOteUf8AnG7zrpPmHzJZand3tzYy2Gn214Lr0lS+g9RlJNayfaKgbAV6k4q+ nfy8/wCUA8s/9sqx/wCoZMVeUf8AOUEkcWo/ltJIwSNPMUDO7EBVUNGSST0AxVAN5Q8y/wDQwY87 Dztp58rCT1PROofvPQ9HgbT6vXhTn70/a+1tir3H/FnlX/q82P8A0kw/81Yq+efIHkvzR5U1rztr PmLztYalp2oafexRRJfiZ7uWT445njYgIyqCNt6mg2xV6N/zi5/5Inyz/wBH3/dQuMVd/wA5R/8A kifM3/Rj/wB1C3xV5f538l+afN0H5e6j5Z852GlWenaNYQTwyX/oPa3CJze5VEPxMVKpTY1Uduir 6Q/xZ5V/6vNj/wBJMP8AzViqRee9T0zW/Jus6Ro/max0/VL60lhs7z63GvpyMtASyNyUHoWXcdRi r5v8weXNZ8p/843eY9H8weYrPVL+61G0ns7K2vBd+jEJog1CTX4iCxVRQdepOKvq3yn/AMoro3/M Dbf8mVxV86/mQbLyr+d3m2XzXJLp3ln8xdCOlWeuRI0kdvL9Xht2MgXc8WhPIeDCuxOKpP8Ak1+T 1xpHnjRfMWseZ/Lx0XQVlawm0y6hMt4ZPUKl3URswrMatIS1AEpToq+ov8WeVf8Aq82P/STD/wA1 Yq+QF/Jm18q69aS655w8vweTNJ1E6ompRSxPqs6IVIhREQzM5EQ+BWKqSWFTtir1/wD5x5ub7zP5 08/fmKtlJZ6F5guLeHSDMOLyraB0Z6ew41pUcqivwnFWWf8AORXljVvMv5Q65p2kwm4v0EN1HbqK tItvMksioO7cFPEdztiqh+Un50+QPMflXTbZdVt9P1eytYoL7S72RYJkkhQI/ESFfUSo2ZfpodsV YV+f/kNvOPmDRvM3lfXtDlv9Nge0m0/U5rd4HR2YiRVkEsbEeo1Qw8CNxirMvyQ0TQPy98gW3l+9 8x6dd35lkurt4rmP0lklpVIuTAlVCjcgVNTQYqwP/nIjz5ofnu1078sPJU6a9r+qX0LzyWbCW3t4 4qkl5kqlQd2ofhUEtTaqqJ/5ys/K2DVrPTfNmk6BPqerQXcMOs/URI88lgqt1iQmvFqLzC8gOvwj ZV55+Xn5OeXPOn5nb+SNX0HyPBYMbmHUXuI2N2DRSszFWPLkPgB7E4q9q/6FP/JL/q0T/wDSZc/8 14q8B8z/AJWaT5R88eadNv8AyHrOs6PKq/4WnsDcPHEGQnm0qcvU+JhVSaimKvd/+cX/AMs4fKnk KDVNR0l9O806qJP0g1xzE4gWVvQRo2P7r4KMVoD/ADb9FXq+vaDpOv6Nd6Nq9ut3pt9GYrq3YkBl PupDAg7gg1B6Yq+H9V/Lm10J/NmhX35fa7f6x9cuk8s6parctbxW5PG2YhAyzD9qu9emKvb/AMv/ APnFb8ubjyVo1x5p0WdPMM1qkmpIbqeMrK/xcSiOFUgEAjscVST87P8AnGXyfpPkG61DyNoV3Prs EsREUU1xcyGEtSTjCWflQHsK4qwnyp+Vvl7zf+aOgW+m/l/rGh+VIFlk19dUa5Eb8UZo/wB8/Eir cV4qan5VxV9nQwxQQxwwoscMShI41ACqqigUAdABirC/zj8veUdY8j3cnmfRbjXbTTaXVvY2IlN2 0w+BRD6JD786N2puemKvB/yd/wCcXbHzAbrzN520uXSdLu2b9EeWVlmSWOMnZ55HPrCg+ypoT9o0 FBir1D/oU/8AJL/q0T/9Jlz/AM14q8i8/f8AOOul+R/ONrrMOgXnmr8v71/SvNOtHna/sWenxIYS GkUfslv9VqHixVfU/lTQtD0Hy7YaToVr9S0m1iAtLYhwyq5Lnl6nx8izEty3r1xVU8w+XtG8xaLd 6JrVst5pl8np3Nu5IDAEMN1IYEMAQQag4q+Gb/8ALg6Lb+ZtB1DyBrl75i+typoGqWqXD20UNQIt kDLMDQkNvWuKvffJP/OKn5ZzeUNGm8yaNOmvy2cL6on1udeNwyAyAqj8QQ3YYqxn88/+cZvKuj+R JNR8haFdT6zb3ERmjimnuZPqxDCQrEzPyoxU/CK036VxViXkj8qvL3m/82NGS08g6vonku2t5n1y HVGuQryrHIYSJnKH4pDGOCtU0PauKvsuOOOKNY41CRoAqIoAVVAoAAOgGKsb/Mg6BH5M1K413RW8 w6fbxhzpMdv9blmkJCII4wGPLk/2h9kfFUAYq8A/Kf8A5xe0rXzeeaPO+kNo9lqLM+keVYZZ42to mNVaeR2M3KnRCfcgbKFXo3/Qp/5Jf9Wif/pMuf8AmvFXk/mb8irL8tPzBs9ej8ry+dfIN3Jwl09U luLqxZjWpjjNJlWnwmQFWHwtRqMVX1jZR20VnBHawi3tkjVYIFT0giADiojovCg2402xVWxV8zfn R+XEP5g/mRD5Y8seURpt1Gyz+YfO8tvNBBxYBisfExxXDkN1NWY7CgBbFWa2v/OJX5Lw20UU2nXN zLGirJcPdzq0jAULsEZVBbr8IAxVIfP3/OIHkW88uTjybHJpmvRfvLVpp5ZoZSAf3MgkL8Q3Zh0P iMVTr/nGiz0+y0G906fyW/lTzNphS21a4eCVReCrcZI7ibmziqEsocqDuuxGKv8A/9k= + + + + 1 + False + False + + 512.000000 + 512.000000 + Pixels + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + Document + application/pdf + proof:pdf + uuid:d992c7e0-91f6-4a5c-b5b6-13635ae583cc + uuid:938803d1-6397-43d9-92d0-20d396cc441a + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 7 0 obj <>/Resources<>/Properties<>>>/Thumb 11 0 R/TrimBox[0.0 0.0 512.0 512.0]/Type/Page>> endobj 21 0 obj <>/Resources<>/Properties<>>>/TrimBox[0.0 0.0 512.0 512.0]/Type/Page>> endobj 22 0 obj <>/Resources<>/Properties<>>>/TrimBox[0.0 0.0 512.0 512.0]/Type/Page>> endobj 23 0 obj <>/Resources<>/Properties<>>>/TrimBox[0.0 0.0 512.0 512.0]/Type/Page>> endobj 24 0 obj <>/Resources<>/Properties<>>>/TrimBox[0.0 0.0 512.0 512.0]/Type/Page>> endobj 27 0 obj <>/Resources<>/Properties<>>>/TrimBox[0.0 0.0 512.0 512.0]/Type/Page>> endobj 69 0 obj <>stream +H‰l•KnÜ0 †÷:….`E¤ÞÛ¦EWAtÑ},f +$½?П”dÙÓ"ˆÇŸÄ§HÑO_žíÓ˳·>>[óf¼MÄú¿Éãý»ùfcUþÞš§Ï_½ýùǼYÒ%²œ¢£ª\í~WÑ»Ùbt ÞnÅ;/樸DÑnC\$J$»›­%S€Cï(HDljT\kÍnµºÔ°ŸÉ5¬C£ˆv +9Ÿ«½ñÂ9a%º\a#G$Áå"É4Ø$¬W—‹ øWØ\Žäïˆ/JòÜMÀVi +ˆE63BliRõjt7ƒ‰ñ`h’å’Ôâ2bÏŽ°¾"Ó̈–Æ/{¬Öþ»›ñr3çí³Þ4·›³Ÿ['äç³m#²ˆ=NÀ#÷’È&vm/ön¼ 8tFN¨'%G!vÜÆ$œ] +yqÒƒ”a;‹ï©Za·Û¬bë¥u®}cèLTƒ†·C ‘¬a®WåÌÑl÷N±Óm’½-ÉEI$ËEôÙ_„O(»áƒè¢Nh—ÿÃ*Þ9Çimí?reÉŸ¹Ä‘È@ZÂõÄýhÊ5#öhIÚ‘w3¢,iBZâìbPe­E±ó0ÕÎn~Ê4¡ÉWtŒàNÌä/ëViî†9 +5éò^]µJ þî¬JhÜ .ª¶«;•_¤ :`œ‡Ë±q .úŽ[ŸnxI2­NœuH±_êƒq¸n˘Tly:2êyðè—Å2¤tŒUYÐ.8Ú)÷ôÛé„/ý@AÕ sSÕeVã^ֱ͚ÌQ a¨7v±NáR¯¦&‹+ÈuEr3uvÀ•4ªIÃPËèàÜÍVЀŽFêñPiø€LÑãBw3ëæi< 5̺®*x´Ø8ÔÅA§ÍÄ^“£=bŽú61öû^¯öâ¨3y¢~¡êtB—¯Àn~˜WóéãWóW€ø×rú +endstream endobj 60 0 obj <> endobj 70 0 obj [/View/Design] endobj 71 0 obj <>>> endobj 64 0 obj <> endobj 63 0 obj <> endobj 72 0 obj <> endobj 73 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 17.0 +%%AI8_CreatorVersion: 22.1.0 +%%For: (Kacper Donat) () +%%Title: (icons.ai) +%%CreationDate: 9/2/2018 5:23 PM +%%Canvassize: 16383 +%%BoundingBox: -576 -1 2782 513 +%%HiResBoundingBox: -576 -0.0009765625 2782 512.00048828125 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 13.0 +%AI12_BuildNumber: 312 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0 0 0 ([Registration]) +%AI3_Cropmarks: -576 0 -64 512 +%AI3_TemplateBox: 255.5 256.5 255.5 256.5 +%AI3_TileBox: -617.637786865234 -164.97509765625 -22.3177795410156 676.944885253906 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 6 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 1 +%AI17_Begin_Content_if_version_gt:17 1 +%AI9_OpenToView: -765 639 1 1554 988 18 1 0 108 87 0 1 0 0 1 0 1 1 0 1 +%AI17_Alternate_Content +%AI9_OpenToView: -765 639 1 1554 988 18 1 0 108 87 0 1 0 0 1 0 1 1 0 1 +%AI17_End_Versioned_Content +%AI5_OpenViewLayers: 7 +%%PageOrigin:240 240 +%AI7_GridSettings: 16 4 16 4 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 74 0 obj <>stream +%%BoundingBox: -576 -1 2782 513 +%%HiResBoundingBox: -576 -0.0009765625 2782 512.00048828125 +%AI7_Thumbnail: 128 20 8 +%%BeginData: 5549 Hex Bytes +%0000330000660000990000CC0033000033330033660033990033CC0033FF +%0066000066330066660066990066CC0066FF009900009933009966009999 +%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 +%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 +%3333663333993333CC3333FF3366003366333366663366993366CC3366FF +%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 +%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 +%6600666600996600CC6600FF6633006633336633666633996633CC6633FF +%6666006666336666666666996666CC6666FF669900669933669966669999 +%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 +%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF +%9933009933339933669933999933CC9933FF996600996633996666996699 +%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 +%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF +%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 +%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 +%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF +%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC +%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 +%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 +%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 +%000011111111220000002200000022222222440000004400000044444444 +%550000005500000055555555770000007700000077777777880000008800 +%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB +%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF +%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF +%524C45FFFFFFA87D2727FD06F827527DFD09FFA87D2727FD06F827527DFD +%09FFA87D2727FD05F82727527DFD0DFFF827FFFFFF2727FD0BFF52FD0BF8 +%27FD09FF52FD0BF852FD04FF27F8F827527D7DA87D7D5252F8F8F87DFD06 +%FF27F8F827527D7DA87D7D5252F8F8F8A8FD06FFA8FD04F87D7DA8A8A827 +%F8F8F852FD0BFFF8F852A87D27F8A8FD0AFFF8F852A87DA87DA87DA87DA8 +%52F8F8A8FD05FFA8F8F852A87DA87DA87DA87DA852F8F8A8FF27F87DFD0B +%FFA852F8A8FD04FF27F87DFD0BFFA852F8A8FD06FFA8FF27F8FD055227F8 +%A8A8FD09FF7D52F8F8F827FD05F82752FD07FF2727FD0DFF27F8FD05FFF8 +%27FD0DFF27F8FFF852FD04FF7D27F8F87DA8FD04FFF852FD04FF2727A8FD +%047D527D7D7D52FD047DF87DFD06FFA8F8F8F8FD0527F8F8F87DFD07FFA8 +%F8F8277D7DFD05A87D7D27F8F87DFD04FFA8F827A87D7D527D7D7D527D7D +%7D527D52F8A8FFFFFFA8F8527D527D7D7D527D7D7D527D7D7D27F8FFF87D +%FFFFFF7DF8F82727F827FD04FFF87DFD04FF27FD10F87DFD05FF7DF8277D +%A8A8FFA8FFA8A87D52F852A8FD05FFF8F87DFFFFFFA8FFA8FFA8FFFFFF7D +%27F8FD05FFFD11F8FD05FFFD0FF827F8F8F852FFFFFF2727A8FFFF7DF87D +%FFFFA8F8F87DFFFFF8F852FFA8FFA8FFA8FFA8FFA8FFA8FFA8F8F87DFFFF +%FF27F8F8F827FD0CF8A8FFFFFFA8F8F827FD0EF87DFFFFFFA8F852FFA8FF +%A8FFA8F87DFFA8FFA8FFA8F8A8FFFFFFA8F87DFFA8FFA8FFA8FFA8FFA8FF +%A8FF7DF8F8F87DFD08FF7DF852FFFFFFF8F852FFA8F8F87DFD0EFFF8F852 +%FFFFFF27F827FFFD09A8FF7DF8F8A8FFFFA827F87DFD0EA8F8F8A8FFFFFF +%F87DFD06FFF8A8FD06FFF8A8FFFFFFA8F8A8FD0DFFA8F8F8F852FD07FF7D +%F8F8A8FFFFA8F8F852FFA8F8F852FD0DFFA8F8F87DFFFFA827F852FD0BFF +%A8F8F87DFFFFA8F8F87DFD0DFFA8F8F852FFFFA8F87DFD05FFA8F8A8FD05 +%FFA8F8A8FFFFFFA8F87DFD0DFFA8F8F8F87DFD06FF7DF8F8A8FD04FFF8F8 +%52FFA8F8F87DFD0EFFF8F852FFFFFFF8F852FD0BFFA8F8F8A8FFFFA8F8F8 +%A8FD0EFFF8F852FFFFFFF852527D527D5252F852527D527D5252F8A8FD04 +%FFF852527D527D527D527D527D527D5252F827F852FD05FFA8F8F8FD05FF +%A8F8F8A8FFFF27F827A87DA87DA87DA87DA87DA87DA87DF8F8A8FFFFFF7D +%F8277DA87DA87DA87DA87DA87D7DF827A8FFFFFF27F852A87DA87DA87DA8 +%7DA87DA87DA87DF8F8A8FFFFA8FD04F827F8F8F827F8F8F827FD04F8A8FF +%FFFFA8F8F827F8F8F827F827F827F8F8F827F8F8FFF87DFD06FF27A8FD06 +%FFF87DFD04FF27F8F827F8F8F827F8F8F827F827F8F8F87DFD05FF52F8F8 +%F827F8F8F827F8F8F827F827FD06FFF8F8F827F8F8F827F8F8F827FD05F8 +%A8FD04FFF87DFFFFA8FD07FFA8FFFFA8F8A8FD04FFF8A8FD06FFA8FD06FF +%A8F8FFF852FD06FFA8A8FD05FFA8F87DFD04FF2752FFA8FFA8FFA8FFA8FF +%A8FFA8FFA8F87DFD05FF2752FFFFA8FFA8FFA8FD04FF7DF8FD05FFA8F852 +%FFA8FFA8FFA8FFA8FFA8FFA8FF7DF87DFFFFFFA8F87DFFF8F852FD05FF52 +%F8F8A8A8F8A8FFFFFFA8F87DFD05FF27F827FD05FF7DF8FFF87DFD05FFA8 +%F827FD06FFF87DFD04FFF87DFF2752FD07FF7D277DFFF87DFD05FF2752FF +%2752FD05FF7D27FFA8F8FD06FFF8A8A82752FD07FF7D277DFFF8A8FD04FF +%F8A852F827F8A8FD04FFF8272727FFF8FD05FFF8A8FD04FF7DF852F87DFD +%04FFA8F8FFF852FD05FFA82752FD05FFA8F87DFD04FF277D7DF8F8A8FD06 +%FF52F827A8F87DFD05FF2752A8F8F8A8FD04FFF8F852A8F8FD05FFA8F87D +%7DF8F8A8FD06FF27F827A8F87DFFFFFFA8F87D7DF8F8F8FD05FFF8F8F87D +%A8F8A8FFFFFFA8F87DFD04FFA8F827F8A8FD04FF7DF8FFF87DFD0EFFF87D +%FD04FFF87DFF527DFD07FFA852A8FFF87DFD05FF2752FF527DFD05FFA852 +%FFA827FD06FFF8A8FF527DFD07FFA852A8FFF8A8FD04FF2727A87D27A8FD +%06FF527DFF52F8FD05FFF852FD05FF7D27A8FD05FF27F8A8F827A87DA87D +%A87DA87DA87DA87DA87DF852FD04FFF827A87DA87DA87DA87DA87DA87DA8 +%7DF852FD05FF27277DA8A8A87DA87DA87DA8A852F8FD05FFA8F852A87DA8 +%7DA87DA87DA87DA87DA87DF87DFD04FFA8F8F852A8A8A87DA87DA87DA87D +%27F8A8FD05FFA8F8F852A87DA87DA87DA87DA852F8F8A8FF52FD10F8A8FD +%04FF52FD0CF827F8F8F8FD06FF7DF827FD0BF852FD06FF27FD0CF827F8F8 +%F8FD07FF5227FD0AF827A8FD08FF27FD0AF82752FD04FF2727A852F8FD05 +%A852F87D7DF8A8FD06FF2727FF27F8FD04A8FF7DF8A87DF8A8FD08FF27F8 +%52FD05A87DF8F8A8FD08FFF852A82727FFA8A8A8FF52F8A87DF8A8FD08FF +%52F852FD05A87DF827FD0BFF27F87DFFA8A8A8FF52F827FD05FF52F852F8 +%52FD05FFA8F82727F8A8FD06FF52F852F852FD05FFA8F827F8F8A8FD07FF +%7DF852FD07FFA8F827FD08FF52F852F852FD05FFA8F827F827FD08FF52F8 +%52FD07FF7DF827FD09FF52F87DFD07FF7DF852FD04FFA8522752A8FD06FF +%7D27527DFD07FFA8522752A8FD05FFA87D27277DFD07FFA85252FD09FF7D +%52A8FD07FFA8522752A8FD05FFA87D27527DFD07FFA8527DFD09FF7D52A8 +%FD07FFA8527DFD09FF7D52A8FF +%%EndData + +endstream endobj 75 0 obj <>stream +%AI12_CompressedDataxœÜ½g{òºÒ0z>ïëÊ€@BÛôªé)H#…ê¡ÆÀZ{=Þß~$¹ÉÆr?g½g¯½XË3Òhf43š‘®¬–/7Z _ÐOX.þsuU`™þvÅ&,ègKu>ßm¶,üÉÙtYȨŸ€­rÕX—oùÌ°›éj™°P”Ÿäž–àûÎz¸fX ½Zö·.‹ÓŸ´§Û9žM‡«åÆߟºD”Ýß‚gñ 2f '¨ ¥q‡Zô—õ7›éÿ€çd$ Âó«Ýr4]Žó«ÿ&,¾p4bñ‘*£,a5¨L›ÌF¥á'"„#TXx‚¿…b1*FRaø2½îÌrÛ`WCf³)¬æ+v“°þé/-wý1xÒ·¼1óùêoK~ÞÎÀ;¹j¸[šÎ0üEk!ƒˆ¹*Iuó»é|t¿[ @™ I¡ßƒ]õiÀÈð;ú=Ú­.ÀO-f»HQ›å<Þð+úÇùÞdÆS4E€„Ÿ.2»Z/úìlÚ°ø"!8Nþy›Y¬ç€Þˆ,T8ì”GЧø]h +†ÄQ/¦?ŒFc‘X$LC€à‘? ‹Ôô&’Ñh4‘ŽX"ш?” Sá`œˆð@%ò2M™¿–ûÕ’ái˜c·-nªC!‚à>ùGÍÝœaŸ–Ó-*Îñn5bæà DiÞG´CÿÒ'ߢÝgÇÌ0Èj¾Û"þ‰XÀDÝöÿaà|sÉh7¨¼¸–[Ðëîô»ûÇ÷Ýñ6AFùvñîÚY¶WÏhH>@K$xÉp8d‰ÇbÀ×°$³Ä¢²Ž‘ܧ€/7ß2,FÀynÅå¨ËË.3’! #$…@…(dÀàÉv +È B„üËsk™Ž$f%#–ÿQûYáÿH2Nq*nö—8ú_4B†cdˆ2ó O 0ï[0qê¨ná%Âׂ£Ã/¬7H™Àéò5_ù§Òè±[óäáxplƒ.!à‹ÿÜsÏbÝÆ|–ÙÕn]]~¯.þãäéítÉX¸‡ô¨Dô[ŸÝþ½bgàÏêˆéKúhǵËhkÆl‡%Xþ×S?3C ÚŽ,ƒð„•’¥Íö‡`Äào±€`VXaüà]ô§ð_3ïÓÌ7è¼€ûµ¸ü‹™¯Ö`®ˆyÙgE¢ ³ôxÒ³*„ ™í«)˜@ZÖ€,Š|R `L¡êo'`åa–£ûSê9 ÷›ˆ…þ|>³ýõd:´äÙÝfbi¯VsºÊsþ =‚ošâàƒÕ|ºYˆhð_€‡§Ã9Óúg³eÌÍ*~vù°äè³? +¾r`ÁàÞ9¨÷ÿ»ØÄ·Ô0‡ÿ7ai eÔpȉxøŸÿ…X„I.Ž¦@!j¾n›Öß} ±o§A…dþž.G ß­ÝtËH²¹Z¬¡¡kiMúkIŽÐ²% £E[·|>+·4¢¾pk8pŽvw@ŽAX€ÍeôТ«làsÖ®ýÇ—ÅÏw.βîü¡i)CÐ@«‡ð°±(ôh·„ûçüýsÏ ¹¼ýgÎ;&P_®þ^¢¿, Ðw°öwóí§Ë¸ï/‹´iMéψËüìdøÏkþÒþh(¥ÈPü7Ö&áDãd´Ýà +yNýßС[þÿ%Ê›ï¿ÿüý&ß̧Ãÿÿ¨q2…ý±0nHœˆZM¦?×þ„™Ž'¦dQlú¯Ðã¾h<1ÝÍqö¿dLh³ÒpLOGÛ‰©qñ-ÿcóňxTbÌHÌpœÿ˜ã?ÿ’ñE”_­ôÆ3XmÑqË|o¹}1SÃÛé_c_ ÅÙZíØ!ƒ¶ÍÿX÷þýX0ÛþX^gèLüäÎØF|øÄÏa­ÑOa?ÌȱL?‡¶ÔV{¥Ô!-)êÆjŠ6»'Úš—±4Ác¡§›õ¼ÿÏ]nFò’³ƒ¼õ´œA_…þcŽ3)è’F®)B “†µÉÌÛ«&‡ëAcµ™Â΢Ǥ0Tðaþ5Jê;'üÕMŽÝV}vÔbæÌp+º¾*-ø@Üý¾‰¡$c vët2nÙþâP:Âl£(I±Ø¿”qØ­sr5Ÿ3ÿÁ˜$¦Ž¤h$ú7Rvë,̉–ÄÈ¥bÇ“‚I)ÿ>b’u Vvu(5© q¤Ú„ypÿBjFƒâ ÄÜ-gp£ìPrúŽÖ¾ã<+5“h³µAK¼@÷;f4Ý-,R2Üç>erU’´ˆ{6(ʧZ1¬¥Á2fkÁÉ&æªq˳™XšýÍ–a§ÿƒ6Â0tü+Y±WvÛõnkô’0Ëjý»í/Ç;˜´ÔX­á>»O ~Àh=õ+ÉÚŸO+\rN×ýÑýýÀ^!Þp5g•¹Y¯¶.i:ª–Ün»Ç(/ÃâÀâ0• M›es-¤eÌ2¢1¦B@gj6¦,¬È-†ph:¬QÃàÝ%5*Ü2ج!Ëͺ,çá?ÊtdÙHTiæ^0q-@´‡³àœ1—]a®‹Øp0¸q˺“˜7ÓÅnÞ—³î)àÎþ–дˤœ~Ô ûci3ÿÝ¢Œþ`:Ÿnäƒ|_žær [Òð(™€YüÌh=—»0ƒ3¿úïë›BTf¹j£,Gðܦ¸00×ñ{:gêÌ?ŠI’5}™L‡µ¦ÜØdmaB +æF¢˜z»]‚Mie$pòÙûƒ‚. T\¶~ÁÂ&øÌ–oQ…Ž™Ã|Ì-˜“M7`Iž‰^:Þ:‚µî/·S Ð#}¡¡“˔Ǻ +HRÚÍçÂTói¹à©$œæwÑ ܃žæ6@ïÞïÒ|ì0åÑ°€Tú[èv5ìÏ¡ÆÞà«VkÀ [¥emñçms‡¨EBµÏ¨¿… PÌŒ¬×TT{ˆ,à­Ø4HE#Qž?±¤I˜…ÜmB®(cÚ†Ðk˜—dWwªm›¢f”6Õ†ëþPbäPX·q©?drËñœ1lF{­cš]²X Ø>Ûþr(¼#ã”% +Q{æ“òýÖ¶/Z#¢“Ư–b HÓ÷RÆÕEPdXŸTÅÿn±†¹!Ñdï…±hH£_¥ùjÅâ¼£Çh¨1Æ?†mÍðj(ç*B‘Z†£ÃûŽÅc¤N[»ë´4ÓYÁ”õÕ`\ßßFä%Í)+0óyaµg,¨ ¶Ä–CJ»«˜¦¾ZÊÖ Jcøm,,Ù£²5«µ€‘”VËí¦ ¥DÒbÑ(Iúã|YB 38#¡”|î/§› X\âÌ‹+òÔó(º¼$?H{µÆ!h ²Øþyºá—o¨6ŒäqÃïa^u9bþ[š²q¡ `$YbA2j8`¤WPO /É…ÙN´˜áj)K4§?§‚æz!’q¯±H”’©9Sì„Fu"?I”9…¡$(&9JzA‹5|a‚0ÆË@[ý/qš*%Ôv“d†Gñ¿ë»…6 ²X6˜½K`.'n²È‰óý…Êb,ƒþ[xI Kr8Ÿ® “:þ œ¯1èÒÆà•µà=¬þbØ5̵”¶ða†+vÄŒTFi ܯ¶òç‚u z.Dª´šORà«–Ùþh +ÝœþrÄ{ôº><÷ªr‚…ð-äòì½%ÇEZŠÖáȸ×Ì`Ã(‹zX€³Pàg¡)›¹QýuhÍç 5/¹w,t‚Ðè…KD<{Õdõwe:Rc$nÀ¼3ÒÒtFäíÚ’CâŽîr%q”eºD\ cRf)Ђ*ùkÆ»× V´à⮒̒לê@x\Ö€´«øY üƒévч²´Nâ +o¿/f~  +˜ÑêûÛÏmà +†”f{T}»×žTéŽünÃM”‡n\Úc@/ {+ðà~Èn¯9÷`›+‹YLš½ØÀLóºÁåêÁ(‚dKœÚú©°f¿GÌ7d‘¿åî¾Ñ ·"µ £Dƒ>k8#ëþ˜™.¿Wz؇ìÈ¿bÇþ¿t€Á6`,ëÉŠýƒf›áz>ܳÁÕNt˜ƒ4\nô¦6Ú‚UY +lš7ÐôOt A1Dúa…ñ¥×pÀg%è‚1›éx‰óL”Ò p `%¿J2T}@.æý5®oõê)-0?KfÜÇòe´Xm³l¶:ÄÞl籑3¬9±…ïñ/,eÛ•ºÖ£ ¯G¹æxY)¡ÎëC˜E 2̸5’ã'¬—XÉG–Á?šÄf À8Xw!GÆIà…Sqî]^“YhP–‚ð¸£A*D‘š²Ä½Êšçh™™¡¡; -—¡99â€)±‘!d$s¸ÈlQI‘öR´ð êj;a”›zŠ¦‹ñ³.¼áâqÓ,ç-Õb!BÆ#å' ØBÁÍ T˜N•ü7¼ ;b7rågÀÜè…þr¹Â¹?¨•àãoôÌ ®ån94j#WŽjôÿïè¨5Ú¦û{=É—0• µ”9³jÈVëÑΨÅpeÔb³— ¡àQHF"‚V@0 ƒê¦l;é–1€8'‡h'Séì*F   ²{®) +’¨5«y±j yq+‹è4äö7 š'E+ÜÿìË&šÚE¹iœ·ÌaT"'´¶`„Vœ ­¾‘AÁ µ0žàBfã\k0’Q”B¸’·0Ÿ é +F¾\~¥p© û_ÌÂYà,ϼbVè(ý¦›Ùt œ–åL‡yðñéê\Ôž"õQε՞³…qLŽ›4Ý&¾×­ç2x8œbŒIIPÇ)ûïÁ]"¸Ñ¾Uu æF%M<‚ÜË«¢äaô;½M¶…”ž ó°G8¼WÜmŒ¿U:–êÀôTpxB·é½öËþúe–Ý»Õ_`œ] '{ne£ 3Fçr 3QËFkõÿbî€=:Ò&Ä®7MŒCöÁÃÍi5b Ïi¶ÿ·ôÜHdïØÙˆ–¬c5Ù€ìÙ K]!ŒPÏŒš£¨a[ßΔµÍã–¯qó[}Qh t̶ܘ†ÛÄìY=rp˜.õb!BÛÈf!L´n³Ó…¢Ï:“2_±yý` ÐšW•ÅÕšR\úëµh°é‘A ¬ë· Á¶B,Y¿)ê@kÛ_Ž€ rמ…hç¶CÞÂ;’– –žåï ³´lúPd-ý%~R¨Ú–þþÌD—Ä$9¿åiƒ@‚O9°V; ÐkKËjiÊ>A¨9pãþt 7&0D^ @&¾ºôlWıLÑ.Fß2ïÿ“mçSN[6ðнê’F±B ‡m ˜uz·ú–ÐO7>kد/ã5è!;]„{„Ö\²kÂȧØAÑXN‹Ùjå›ê¶¦ÀTw«åj8aW †ƒä +ÍնδYwÓ°ù)r“X诹 Ç©hC«zä"#¿µú’ãÎ0”©)«Æ€¢G»8¢^áh 7”‘Áp¯ï÷HÔA¨cÚ²CÍ7Êlÿ,òq×Ç$M3!˜€¾bÅÑÓB@6QWÛx˜ÿ°ÙµyÈÇaìO—#ýnêæV’º<.eî Ä}<É¡óS‡‰ +½ÛÅÓš( ©—–"I^ѹÁJŒMªûŒ8:a×ë)B¬>D#ž–0Ï5.qm,\ße7_= o{ÉhkzÑ{ŠYÔSý<)—üÂ2•¯ñžùÓx”zሠú>·5ôYVÎû«C)L›™¡’沆3kX“ƒÌ”¬¦%Ë\o”übU]Á:ªêa1{]W*!#w²=Ù-ËþtnrQƒ ª#°äN¿§{þ° +O©7cnä†ìjÐßrGUÖoþ\¾°¥Qm'wÆ”… +ú +V¡BöØ'¤û6d]IÑÊ„Pº4/ønAÒâÏ8Ë¥ z£‚Ë›Ÿ +în®U¨Vcaš4DOC™‡ëwOêåÆ‘ì¿zkÁë_>Ë–“Äxi­•¬^§£0íû7öÈS¥±%²Oåô](“¸ýpÜeÙÝ0Z*Rw±+2²Ćþ¡Ç^žM~ùÝÙ”w½ÉnêT É&o­¬Ðª¶Í+·ÙTˆi¦7é!í÷;Æ{¸nGoa”.]%¢ò–þù̇:>on±ºÝ䪭íÄ“ŽØv%:dÉÿÌ/ ýMÔªÐìÑøwôùñý#×.øŸµ±âíŸÙÔ¬ô™Mlü í½Ú•œåÑ7@ƒèUê ¡¿?_¢ùyvþšøÎO¶…I´CÊ(Ò»¦‡äío6•q¼p€@§7…¯ñ× +|»þ¥«£ª5ï‹ýØs-ŸmÉuâµ?Ú4ñ§gX†…I¨›L宂מü½·çÉO¥³s§Ÿk¶Ir8ìÏà·©§ø};áP“D e§ö^búUåçW‡õ|ìr·­ë_8W6Y›À"ÉçÏln9t,<7wÉ@tñq3F›ï`ŽVIÏ,AŠ ‡tmó (u0Ñ— 1JL >˜dòîÆéó2ùy´±àÆðv{•-TS¶—¢7†'yÒÕ÷ˆ--¬¾<©çÑ{‚Ø>Üôò + )qÛà´¼G^"KHªt~æŠøx}Ýä§íŽôS×%«§ÃB4øà AAMbpY ¡?<éRŠÿ–z)Ö¹öo±ÇA£Þ¨*ààW“N½ßð€^nRÉÑÏýšM±ÇÞC>, ­ò5± ŸRHçM¶bBè·°5Ow¹Á2— E:‘Ÿa®Mÿxèï@ý·Øï;ìùÈàé1Þ¸z}Ê=ò ú»5ýÍþ~&à)õùÐ[»Ë´uŠ]Òóœ½æJôÏK·0ý‰’ß‹«q©ðí& Ó½h´9ZIc­ßE=÷pë®—hרÎQG 5'¶kÿ£'óÜÿ冔ŽÄúÙd{{™k׶»ýÁ)ˆ‹QB˜ŒWÖ*€j z(À¤Þbgt5¦z© M”>²AÄ©^ªDq{=ùUüK9_rââ“+LÇ>™Éf‡èGƒ“ªv[Îuk$â›”gì•œßuŽHµ;”Ëþ•âz"§Hd׌3%çõÚU˜Dš³¢çÖ_’øÈÁÛ +)›Vq5 ¤kq gsÆ“â&š>5sÑõ¢œ‡Feþ,~Y.ú¼ƒ¸Ú´ÄgL½ÐäÚw#P6é8¿}›©õ5Åڕߢß@xŠA•Cwûì³m”\y²D‡;”']îÁ#]¥¡q ¿KE:ÍG|ÏH÷øÉʳa¥½µ;ÿ³-òóåó*מ¼ÚŒºG°.zW÷TéÚ}Ï5¿'ðÚçu>â¹ðªÓE;*ÐßÕ„S‰Åç׊ Ñ†úg;XÊŽo^¡¾ïуÐä%÷t5ÜÈÛ]çší÷yìgîK!í&­ Ô`U#Rù™s=-¥Ê¤Sõ¦»“¬-˜ê&‰Á®è¼ù}‘VÅSÈÐÎmt :È´öÄzžduó ô÷ÐΓ»ù{®Õ«ø§ñ\/›ªü IïèƒÛë<ÙÙus­];$=E¡N¿,²ì0qÍM.¨·Tæ¡°ŒFë}QÛ¾g‰ºsQ£ÁÞ!(  7RvË•oq¿ñÐиøº’Jb§•XoSµù H®= †šÈð’ _ƒr€³*ÂõÃÏ lp(¹ ™Qý•ÆiâìK/qò8.ÅŒhZøsDC2 ±»"Â74$8n¬Ž¹MèεŸëËRÖÁ´ðMáëG<·«çø¶Ô»{K”¬n?\Öfˆ €Ïìz–}±= Ó¯.…9Yd8õ|Ä,+×#f´k;V»'`Ž†вQóŒp³å¦C×XwOáÁ!yoE/pÆ:)ÙšMزÏgžÍo?´˜)ÐD“ÛR.œ <ÑçÒ–«¿µ–²§ýûXieS¾è%]óØÂ2øžÐy•–udC+–æü`L3îâ-®0Öf©ÔuY'ܪïíß\£êúP_ÛóÎ=ö¤mÉÁêDÎVx³læ9òO˜Ôªþ#&5@£°ªÑàx_‚¬|ÐýeùøµY©H?±‰S¹º&¢È‰¸E×9kS}—D* 4nn#ùRªøá}/¿¾ïeÖñ‚ ¢Ñ§O¦ŽLõÇM+0m¼ù-þ¸©Ëw}wÒ”/ùò”ì´§«o/šv• +£Åâ}žG±ž0t)G3¢œ7ùA$}¹ñIr 9P<÷|¬«åü<2~—Ü)¨Q>§.0sWß…éf¡¿}ï Êe«V`“€ lâ³ñ^ņ_`ÍèW¨^ÒÝ€ ˆÄh1'ˆZ™¬!%¦'_íh6Y»,¯/'V‘Ð7x€œÖ*~§Ý°TöÉçÅk¼ß8w“¯´¯¿¹"ÏÇæ~¶Bz…¸Ü¡,eYvòJܽd”$‘Iö 3½5â;^¨ò†Ýàïu¾’íòé}Úˆ.ñ§(Ñ÷¯\?gòdaj}w›¤ û$WÎ~¯ÑŒÄØx©ôõ]t”rU ïËNŽÝ©Hîš×Õ¯µ<ò©wÍ„DQAÓöù&G +MyI–C3)ÆZ!ÑŒ%9>/­¾Íˆ1Þ ÆåÙäà1—µyv$Ë…ú\ Fp‰ 䧅É{H|ä®·W xûtóMÒ¿ .ü0¶f3CF˜KÇ.¬Ç\H0CˆÇøþö[ÃIoj솨¾—Sb¨˜¨õ~!ÊqO\mOåæ#ÄÙ,bøª|8ríÂC‹ö7G¾lâ~6•–0‰û¸øëu¥ùš‹~ŽÞ‹ÞÕÝ.ÌÝ’eÃG ‘ÿ°l£Hdþrð€1[‹oš_ÁˆN°G×ë«d¡7ˇ€y «CÏ#ø­Mòöß[OJ>à°;/c­äºSˆ1øèLšÄý89-Ú׿ró-0ï±öµ½UêÚ®›¥n#·…ñíz÷ÇW30‡ñK|ªxÅp~}ô “Î ²z¸õ)’rfY_|—{tÓßy_‚Y+°&Șõ¾äzklQEŽÄ·ž›úýˆ-â^ 5¡Ó VkU✠+Éž9& óÕ`0ØS0‡e+ÏÑWö7O&f +ÚŠ>«?¢œ¬t<ß¹z]·U5òHR{Mæ­«Rw„²ñ^û(3×aº^µ¶â«ŸRvS»ýAí$e³ÏK…é¥=ÂËc¢:‘_{• Âïn&Ùçï§<œé5n6ò <åϨ .k¹på³*7_ùÙMóýâW‰zÊ=&_®0™ŸÈ¸“®m0‰)â/_•?º¹eù©/^q -€xÏ?ÊÆ'¹9gú.×lgq³œï[ص·î\ô#YÈ&^~§Ñ—`ɵs«=ƣ³ß|Øéä–÷/´R¥ác™ôM$ÈÃ…íÓýù!c•LUK"¶KÐ fœ¬ì¯ùÇ«¼ø×·ô¶E3ë&Ü£Ì,›J¯ïsOzª8p„#ZMžÁºàÚÀõ1'j&HÍŠ­TÈ}ŽÁ‡¯[¢w”*š7»òµ+@x’¥xhŽUÜKÀ¡¼ÓÀÊßs;é‰4[@C×Û…IxÛb¨‹)üå&Œæ¦èqG¾qË|øÖÝüWöÙ¾ÝÊ䶇¶‰µÎ'6f¨’ƒWÃED"7gÍó¹'r­íû”þ¾®Ìca6ù‚vr’ÌWc¢Â4¸œUa¬sÐv_— +ù¸Úp÷Àà˱Å~ï݉Ïê0»£Ç¶7à›8‡ÅaÄ•ÊéÚBÁ·Iæ‰Òµ»§W X+>ÀÚïe$F‚x"‹ˆØ»3½†¯÷ß çå-°:_{tí&H¿Ÿôw{é—à¦*t7ƒP°.$jüÖp$0QØ¿IGzñÜÃj¸Žß‡»50-Ë&0B‹í\4ÞË…ò‡³ŽÀ·‰hwABÚf¹àÖMçšË;º8øîÞ¨¢­BÎøX[ˆÇâð%S +±ñvP0˜7ŽWµ#rYº»†óP kÖoB M¸³{І‘~ +sáÌ÷mÉY/Ç1×JGdqîæFK\À¼éÅa¿Ã¦7™èSÝïwù¬3±±˜]­B«(ŸÓLêë2×xì@¹ÆRþ_ã¹°^켧Áïgvr­Áú»DÏÉ–{¨»_`¢Îðc«@(Bé"ÿ&Ï:r«Ü·g7 ÐW½X¢("® +cMÖ¶€Ý¼¯J3 yöç]ÉД¯J•rì¡Z $Àãë’Žà|TïªCJjRŽ:¬½`t£ø'ü †_àz“½%G¥b¬Y‘â3)œm«3ú2m¿!¡«ïMê XVÜS(yñgÈ\q£mG; +è´:‡áa(Éýøp£L$ºø²/8³¡þRÈ'Ký+6öбºˆï®ï.p÷ñ†6q-´ ­^K…O·tçцÞÛž{®Èpð|ÄÑ"]¼óÄáÿâ¹Þe3®çÿ“¾K)XŒhy@u î‹ár¥J.ýÇ´âÚ) ÃA`ɉÑhTH<ÞkÖR9VëA¤èßu¨Q/ÈeÅoeå¹Bi«j™Ý~,EHg¯7¦ÿeæ †ýfökt÷N7[îWj ÍÍ犳ï“*UyØåЊ‡aZ$w1,­^üåKâ?©§?zÒá^Ô“yˆ€çÎçÉL¶Aø +¥AñÁ£ø =H3ímžþŽ—gÀ°ºé™|K‹OÁ:ÐŒL¬®`åÆê 8යՓž¥¬®ûNÜêLÁ³Þ·ßêÙ%ZVïÝ+mõw¸ys"üakÁõÚP›;Ð;zÊ<ôÒÁ|,Æô¢“òõJ+ä±IO‰J—Ág–Mß rÞõ}-[oÒ±JêÅ_ZuBÏEö£CÐÒ[»t“»’î\tI˜'Z£Y *½p€êY+¤×1yÖì @c¢3,›±îò½»Ý]®>$®—Sw9¼½Ë‚N<·²-QJ|>Ыx¯åËwk btýF‹XáUÕüdܼ…8ªæW›{î?·– ÑS"ð:‹*›À)`?úï!ð6¶ó¤ËÖki þÀ&V¦vo½Çå9]‚›Ü¼²Ÿ.úŽ„ZÜ´Hƒ/{:¡K*ᯑKØß ëçS„V`åÐðˆÃÁ«…µÇ~þnŸ4°‘fßG©bÝÄ^H€Fk¸•Pü*7SÇšº¼Þ8쫵Vv×óÛ{óC +÷DÄD‰È¤4°FlöXò;®Ž5ôöA”ÚùGÕ±^–ÖðÏ«‡é]Sm¸DÙ¶ºÕÄê¨Ý†î´(üÄ~ ©ÄêBX¹$h‰È—/Á«ðÖÞ ­ö¦6aOóX‡‚¡BíhyŽ°ùåXá~7ûù?KV87ò©½š-ï +ZXûDÙÛ{VÇZ&rÆ}Sà +çfkófxÄo>§Bx2÷¡›k¸æ2¬qõ‘«{k…Y "…:M9ÜÛ÷N_kÄJ_ZXiâÎýWà +Ðl.«¿‰ì{ßDˆ•X[IGPki ¬ï>¢Õu]"¬‚†Æ‡[¯0÷ï—Së³c9ÖÄÚš<öjXѲz/ÏõuJÈ·Á«§R6u£Žu]»ÔÄúÜ-_nV€Fe¸ÄK¦N«c½K»_ŸŸªX?fU5¬PCCÄ?oáQIƒÈ1âs3÷©c½ÿY/â± *ÖnÕ·DXÑz³?\öªå±j`}{"ŠÓEMkìÞwiÍ~úŠkâW +Ñ µëF»üpA—Bx\Û¾a¥igE>Ö[¢çNä VïÞÊÓýù½&kÝ6 ;®oؽ%ou}ÃcÝf<Š±ZÁâïâ°æßȪ\)zÙÍSÚ +±ú%¬ ¯¡ª>a¸…­«'Y¹ŒpX3dݧЋÞu辇°í‰B]ŽÕβý¼ +"&”ÃesÌJ`ãšU©Ã?‰<5ñèWPørÅôÚÜzÇô»¥É®<]­ŠÒÓ·Grñ¬õt ëæS(7î}­ÑÌõ§ÀÛXÌU<ÄÈ®ÐóÍ,¦|ºœ\¾ +â©Ö Ú¨&>4_QîfOûé¤ÿåP<ň±å¨ëÎPóõ[Ï2Ci?<|'5Ÿ4—ÃAE£A¬r]I=m¸§ßŽß¸âõ'Ï4ùÃ?%/ʧƒZk)M¥Á3íìO•§/Wƒ€Uûé¸Q<•­wõµk¾þ³m¬+šOgÏTþQó)@³˜•Ò_Z @'“aͧ5*”~Õ|:\Z·:D»¶^W?ÜZ¯_swFóiÊ\’:DËY)»+¡ñz¸BoܨΤ⩧ý¸ÉðO þ”â)@Óî•Ý9­·=#˜ÊjO3ìþ4ämòNaÐþè)øÜbäx/H6tïjŽü7Þy+uÃ:εµCϸ`õÕâoÀ3þiÃ?ü­dõÒÍüxj/nG¯!Õé¹ã” °ßÌ J”½¤7 ¿8Wø‚‘¶ÈÏäœ!à¼aR¸‹-ÀÓ|Ý!gˆs£¾S¢Óo Lo. ç.‹ÐòÉT7ŽÕ“¢ÆX#6ÛÓzþ.³pÄ¡·Ž&V°$ýšX‰Ò÷}K+@WÑ¡úpCo#k¨eÇ°Æîó- ëèúÚ&aÝØ&LSÄD -#rú×¾‡[žË°ºÞ4± +ßPšX! @×BB¬.t-¾4°¾}jõ²´ Ém9bäZhb…®ÅDkÊê×ÄŠLõÒ­Cs¸ÈNÑÄ +”¶l^™¸€}ãgzk…Îha¢©ëk·X¶‹Ø~¿Š¯ŠvB0EÖ4<á¹Wy0ðœ IÜs. šXÜ-]Ú±¼ž¹ne -½˜Ú^é#½vŽÚ|Hj(H×ôÚ•Z‹ F:^±ÿ N¤ãåw(±~¢J:ŠW6°<ôŠÿðÞ­x ȸ0H݃»YsMdC¤ó C_‰M…ãÁ‡¾Äö4DSÆ•]¯–:ýÔ^C‹uçÄy¼rÆhظ†)v22âÔ'já«+ô9ówÔú4‹W5ûÄÙÐ;àà;/åÈU)¼£ˆ&"ÂSŸ»|]Aø=ªÃ¾ïœëþˆâÊA:¬&Fˆ> ç°u‰š`ÁÕi´‰#tkŽÚÄOúsÈÍÄ4®ÔU^8(|44Òÿ)A3ÃóIŸDzÁ²9š¿Ê¿Æ—53ÔSç ’´ •ïÄkGÒK®…\ +-Ѐ}åó.N«*žo>«B‰'Š:ªîM)žâŒ2¸`æ¹}gDërýšWMÎÐ3ãbþkžöx¾Ð<Êrµ);hHÐ[|Å:!ªB…²é¹®A_iu=óæ]“}»£b‚6š„á–5šÐ¤M`²òÜ$24Š©“™T…Fcš\Ýûf@¿¤)}H§"€ýË×îlÚHïé…ïq£B©ÊÙ¨Ig±®?«ü˜R)ú½Ï `„P +vÚ>´‡G±[XßÀh¶eÕŽ¥ËƒÖ0³(f³} +ìYg:ÓâÙŸ–QYÑC£ÑPD{¬=‹m4}SRîíó¾Õ]©T'Y…eH“ŠÂ¸U¬T¦ªQY®µ÷—)À¾Ð÷×bnm35Õó¡ÉwG¯O‚-ÀuKÛÖ§ÏÔÆíŠ9”y¼¡¡çÈæpyev›Åjô*7's¿HCh­å¹ø ,0 +Pâ.î1ÐÞôœ‰f`ðH´.{6¢ÉµÛáD[ãìÖ‹²{Þí6­ª„eí˹rˆ·ØÔÒiù׉Մõ$^]<·™Ëó‰gþõ×nÖ8ßV!P†¬ßD ½î¼¡èà‰JoÄ•ZÛ‘à–5hh¨cõ`¦'hÿƬ¨Ý}Gc¢3r«óˆž ¢)…ëîÑXGÇó~WãÎ[Só¹ÝQ)<Þ”@RŸ›‹ƒƒoUÈøEý`ŠQ’˜ˆf˜¥Dž–ÀuK0GÌyÍÚ}²ÆL«‚Ïí• Á8­©« +ª‡¨ÕŠq0HÇ‘„ߣú¾õ°·Þ(˜WËÒÿ©Âmų#äÂÝšÓHoÉâç¦l>ò¡áºÃ˜Íçf<½Ô%}/ÊaŠ^Z®É¼Ü¨ +{ПäÂ^S +»ª·‹R ¦æ½<5èPSr9÷ȴϱ¨É{€¿¬h ²î8ypȲI<ÞzÍz YÛÉWj帤¸€^,0Ã/uÊx†®í-´G‰5¸Çü¦FŲfH£è B)nÿ¾Õ 1A L)ÈBr3;»Cf¶<Ü ˜ÁLüÑØÌ®+Ìl5¹1A¾Äã•~wë"gÙ¨/ÁÌSÔaÌ&ÖÅ:"š|iM†6gæÂý.J +ÁÆ~SrľShRa¥‚e–-ðª|à¯-åVæÑËßk ¡9S”tLKÑÐPxÌnq(øU>7pòô—AŒ È=Í bCò@Z¢¨E2 TºÏ  áó:[ U¡ÉvµMSû°ŽÁë”[¢”M«¿=ãæâd”%{äò³ç{Bh”ÿÀBMjþ0nDMsƒmšëj·Í̵§Ý63æFd^m²¿úÔä]\]3ïõédí†ï´³i·'…v;΀‚탴›¦“wí  íf‚ÓŒk7Î4t†]\HgGÉ›wŠAU ’OššŸq¾©n»ðydB®#ðˆö¢êð7•­Ü£2ºà–º)}$Zl껸 ñújÒìÎõl5•/`Âæ/H j xecBã<ŸâqKs'O‘3uŒz€Pö­~ŒÓdœU¡€¢–ƒixÞvGÈiÒÜ,ֵוРã^Êü4½õŒÐ£\Áo>$Û“Ö^û—MÍœóNáëËù¬ÿµÅQ•Ó̬/9àò $>µ¿GZÿŠ™Ðœ Haý·¬!@‡XÿZËt²õ¡h.ŽÜÞAëãǯž<ª/Ž +W¹>v÷wáo'jP@™Ìò’R;4Çß…‰Ê:Ó‚SSÃ>ÀeéUSÈ%OÚ¼œ¿në„^Mɹ%ŽˆfJØP0›~MsX- N=vW$}˜c bÔ-“l¡.dÊeªà÷!ÇC±RüÚ>È£ò¯£N–jÖDjœ¼cÚ;ˆšªipš,3Øœ1µB3¹ýc°÷AíÉúíY‚)€hQsqh­ù„vÍø(mOúm/K“-Lõ c y^çAi±Ò—ß-U~øŠ|j3¶ú–]«÷ù«hõå‚_°ˆ¯xP9Ÿ~-Jð?G9Ÿ~-ŸBÙ_Χ_ËÇ·§—óé×ò]ÈK/çÓ¯å»P”.]Χ_ËÐœ§œO¿–ïBQºxt9Ÿ~-”›³”óé×òqZà å|ûíðZ>Þñ8½œO?{ßóÈr>E´b WÙÐ0“¥¤ïË >íJ$ä´àËš™n©÷I?9 XŒRî AÝVI™ßzP@ +ߤ•¶±!©´àwYò¢¥#I¥H©J¢Ó…xfŠz‰›[Æ·*yl7§‰Š4RýažÏÃUšY^¸ã6Ç Ißá#”Š²;y K—ðº} +(7VŽ&¼Q Ë@nôë÷Lï L+&*kðmQ™É}DœðÍ»ÅR­L¥˜hæ— p³©±‰psñÈü…xóÙ +Ê«“y?¿D=áÒ¨ìîàü57 +–ÝÙ‚…r=àÚhç—(½‘¡5•¢~¡˜±Ï³V¤%ôÈýMŸõkÄîfE¿tUæïMé ¨§)æ@™­{í_Þ©Ö@êÚ4Ä€^:™&m²@#bYl­ˆ¨€×ŸÎVŽl1CZ&4•õšUƒ)Ú5…;£…óšÂ~ýMãÒ®‘»Tjó¥Žû}šØ´ú”•"Ò|ʈÑ4dÞ’–0*Ë£ž*&µé9d59ªVçÐŒ\¶Hë@3*Ñ1옴½ +¡$ó0LEÅΉD3,\=ˆhF§5èvLLËwò¯o>yUE¿|Ǭ™ ×1Zl,ö•iFu{Ü0f—èQ_$üèi +9Ÿ«^9›?8®(üAµ\ÑÔ„a¤(Ô`Êf\1:ÊEšîCKöðŠã™îf5M-‹íŒ´€I5<5ßS›"F庚{: +e†d(ñ²¨N Ab#™—R¥½=ÄCÖ®5R#½C”@Æ‚eY»¸Ôçf«¹Æd§U‘àkÛiÉþOUMö•vš9R Rá²|hXÁ8(üF”gs@·ä}¢Ìö‰Bê•Â½Ñ/ö ‰TƵ¸zÝ’GoüûÑ›EM?z£ÂiÑ›Ú)ÑIÙuûy¢7A{úù&¢&¢7µ³$'Î3Ô/ +Ñõvóõp&£7H<õêáNŽÞÀ:¸aØÎmŒªƒ.þc²@ ÊeïD• ñð,±46ÓÞrCºnTkhH_ðf3O›þÀ 9b]× ÿ`Åæ¼°è˜*f•‡4i0¸„óäÁI–0¯ŽaÔÌÓ•v,JÁ¥(QY»ÄO;ÂôP‚®Üä8²ÄÏ8!Ð0EÒæ”bV™UלÖù)sÊ Yn4àg“[º+ŸveîߘÈ$?¶2Ou7 +–Ó·2ïTN3Y™g¢Æã•yhCr¿8ïˆdXÝÊy|53—Ú{rQžrY벤(OunÎ_”'ÙFþIEyûDû#Ey&|Ïs剪S·['åÉ’,P]ÞáEy&,Fn›V_i‡~_Ø˹Pl¬^â§í7)v|¤¹ÑØôÐL3¦›w(DÕ!´ÓCš<ÑÞ.ÍíFïL Z:3'ÄÙ„}Oåb°ÑÛ:l­xã<éÍ3|L§»Jb ïÑójd¦ðó€nM?LÊóç~—¶vÅRÜžý*µÓb6°uJíLô ]OwŠl6W‰´k…¼X(äuxíBk-,NWó½È-¢’…éÀ¥¬ïÚ—ÙÅ œ_•Å~žäðá[cXÃ÷UʺÒ*€{Õ»BoP$\*ÊîÚyíb?xy_ kO¿Ø¯ì‹cX•¼%<«²ìÞÎ-^ø¨¨C»„ùzew¤_«'•\hûEl¶ßÈîC»Øïí]¯n¡Wì·j·5±4×·Ìd¤UìÇè6>¾jc-Þ¿—%¬{÷Ú—ÁdW ëãC¹åñ£o<»'ÔX@½iÒÈÐÇ­‰vèvlWƒkÊG`n#*Vª Á¥Ý\¹Àê—ÅS{MÞsàYî%ç7®W&ò@.LÝéeê¼z,À¢{§×¯‰n™é“ÊÉõº]Ç]¯§fãž´²[G^¯··B6VeÌæhRégbšÏ³¡Mܶ"3=õïÂ;åf=(‰AEËæ¨ýTÚÄE+h„ØÜèuËàvÃ>ñ¶}hÒ¦NŸÔÎGÊM™1¸ŒI‘W+ÈÍ ûÔºˆ·g*ìS³ÄESý|…}jñ± tÝûY ûdƒã«ú°½µsö©e•ˆûžêºê˜Â>µª>H´3öî>¬°OÍ—S0ô9 +û„¥¯ê“´ÀÙ +ûÔöy”Êæ …}jÞ5ZÖÎ[ا¹‹{ÞÂ>µª>Î[;kaŸšÉÃÅlÎZا6Úqã û”éÙ°ªïÂàÞ¨# +û”[¾|hèÜ…}jsx¡<¸ùôÂ>i÷RÏYاêB¨÷<_aŸ‰Íâsö©Uõƒh†ÆâAD3[ØgŽh'ö©UõáËÚ™ +ûÔªúöb§ö©W¬œ¥°O­ªO­båÄÂ>5»ZÛÅ=º°O í£JD;[aŸÚ,idwŸRاVÕgì{jRÄtýæFþI…}Š!íàPaŸ¼OF>â…z‘¬ÜGTÙ»ý©t攎U5ºÆÓtEد2ûÁ` +LÝâ§Æ–‡˜&oñ3uW„á-~fIµõ`×'ñÁq¤¢·†Ö†ò ëíöîì=¼OHÐÉ…¾ +¾ª«N“€´3´»CòL÷prwHžµÚ·µŸ‡~»8ßñ†šfµË…¼ÞÓLÁ è¯ņǖ”—Ÿàm›¤&îlj™Üzãrï{þ°.ðÄà ĬóÆ(uÞW¶FéÏІ€äòh|‘¶ãŨŠâ +$Œ8šç3ɣʽGÕ{|ïÇÐ:Wÿ§¤ ¥%è]ýgR îý3iªŸzïŸä{j\ýw¨©ßû‡qÚ!€õ¸ULuùÕêÏCïý“+›ƒ )«}õîýÓKç1Yíûb"uÊŒNûø=ÙøÁ8 @;WµïǯÂ÷Vì{š­ö%/»_^=:ëïÎP4 øÏÑ…™q² C@§ûW\êNY¢«YKeTúoÔÍ„<¼ú>áôîÉc©Z1­È4%¯‡Rí…íä•i_šfæa…Tp4`¤Ú1׃Rw (ÕÈŒhfÏp‡Ð̈§N¬SN´¥‰òf¾'guPK¥¡Äº¬~!îx˜«=ª +×i +£QåèGTFvŒÅ( ‘—Ý)•Ë( GscåÀºÛ7ýŸ î–_³u·oGžª¥U‡ÐÎtæ`ƒ2BLìF™º@0 ¿$E9tën÷R;tênON‚Ý:Ãe˜|¸ÎÄm!TËLlBX{W¹iÓ3²Ô^hSkÑO«}³êy"à[¹ÁÕ¾~”F”#}Is ŒãgiY“•Þgš8VYeÞÆöüÖÀ#[ò«é…÷7µÊ¼ ®6J»$Ýõ¤&V¢D¸µª#6{´éú”¹¸òº±½BÄuPkÙÖyRà +ÐpWÓUþ±ÖÕt.¹FX»2oãˆ^³xvwPQtérfÞç5r.ÝkøúªUˆh‘ë)ij•%W¡{º§U™×ÕÁZ¶Gär£¼ÿïÑÖÑÀ«ÈJ=•X›jX¹tÄÆõgM"ÅâSI>µvøÔ+~ãKBwZ» ®tQÖ4X L€$zîDÎD;Obµ-òZ(=¾y )ó Äý•Å´ ã_‰+ŸÞ%rCÐ5ì’o'Ñeg^è_ëv£__µLѪ?âѸ¥Ý§‚vâÜ…xj¯©úªÍ‘ùëû–Í^ø€Ä-©¤¥ÞDÂ¥©ZFy­æËãÌ&niòÁ…Tg jš«ÔrÀŽËB€‡ä€qÑAÍn©§Þ§½Ý¨j%urÀ”›•Ná,ß½<ܽÃL@WÓn¹ê*ž'6ÍÍMÕľ£ÁÅuú±01ÁßÌ^à›Ï ÅFÓGVQ6gK‡ïO;üÐ;õxZñûß_E)"}¡ur’¹’D³§ë^ˆÇ·«Óæ$¯FÉдI×ÙL*ŠÊN-ºÙï,]—ÎéI÷KGÆÕö`ퟎýuPÀ _RÙ#8ô¼$yø%ô»—‘0‹±Êñ)uv¯ÚŒ¦N²Õ%ÙsÚ3¬L€•MT™«¦ŠczVð=u÷T´ëìôŽ{5cªËº¥]$ MŸþ +!U@Õ™ýLµ¥*·þ(¶ð¨K4¾ ÅG ô é_m®c¨HBÓ¸ úˆa*ö=O$ša5ÑAD3Ø=h†wB0ÌÛЇ6Ñöª˜5=ÞÃ/ä×›cKµ,w­dØ#KeЩGMõãJÍÖ#ªÆ¡Í—$jðÁ^=¢šÕy@I¢‘{,œ÷R­+I4[¸ŸsPI¢Y’*WÏKU¹D¥ÑÀ“6*I<Ä“>ª$1Ëug\ª—Ê9í]V¨ËÐÅc\Vx¡s`Æ/+D£9ÓE¥:—ʶ‰þÜe…ûžô¹¬ÐlØîÄË +ñÐм¬P\Öþìe…{”YREtìjÔ§Zqá¡ùS­NºðP,ûS½íP‘™rü…‡úñ× írìÃ.<Ôœó 9P5“ F§Z™¿ðP¿ðâ §Z¡ ÏRïyj&ž§]x¨°æ·^H׺!¬yÛáÅeGæDªD Ž»ðPcpüm‡’ÉqT%¡©CØ b]x¨Ûá…™+)Ì\x¨Ï ÆÉ°&/<4Sïy† ©Wìì1ô±êßv¨e§|áááåqg*ÆÇo;4Ø#0áá©œfòÂCs÷ž\‘¯Û¡Ä&·Ê=é.gûÝå#Öþ(¾õ²öXrW¼¾{øm†goïÑ°?4ŒÝ•^ýu?k ß–C½|sö”µî"/“6sþ}v2ßö—œ+Dÿ\¶›õYbž‚Åå+&ã\þv£¿Wlv¹·¾Ügö ³¹ú~¯V]»‰í=´ú`h~Q©iú©Ýz¶ú=_Y+5þ}ö¤‚Ž,QÊ×óDé{X#Ê‘ë&ËöâNv{©nl_‘@³ Þb]bÛsð½øƒ·ñK¡ï'Àn>Vð¾¸M]Èê]“Ûn<7|\CQá/Èä²í˜¼añÊËÞÖÔè…(¼½f٠ݪ;Ö‰³ï`¶çN;m_²Ò5ÃíUÛ|dÁòÖšP®jÝyס{˜w·D’Ö\©Ý¾"ìÌüÖXÉ­ùµBŒÀà¬xCs«'v(PqjÄHG® +;ºSb^Ñý¢…Ïró5r_]fÛT-ØŒ’¥¸mÖ(¾dƒ_€rËtyþüú‘«D¬NÙ<ÿ +p¹+F¤g…µ•o_Ùä­•EãÊ-V·›\ýå¥ë)>¿Và70àÆÜK‰½\,.~c‘kE¶N˜ÜÐÝŠžt ìwp:&(æ È]‚?£nTŽ tOu þ¼ñ¢?Á²ö΂? ~áµR T¤îbn…ðÐÞ«]ÉY©VI¯cÒEýäFSwáÏâÛ¾0†ºpëŠ|øƒ¯(#>àÖ…1Ž†Äž•ó¿°²áÞÿöä€î½øƒqh$>ð£«ÉŠ=KÀÂNV|¥ |@"47«YÉ4á/8ðÁØéûèåš íѯɀ^„L–'‡¾6 ÀÊ©9ÌT!åIþÇ'”¿x3eƒ4÷Àªg´RÙ)—/}ƒ6FÊ•É&!š$Ü>oæçþ±;×~ßÒõªµ%±¥¸¡PBûrW…<媔RG‚TƒMu×ãí2Þ6ìLù³çZ;û´Ø58.Rbcês÷•-Lû’¼}&k‡°¡Ó™¨È//>an(ú±WÅ—€ /øà^W÷BòÆpø-+ø-(~ qŠÉEüÙñqv‡hö;©Ò+Ü!@Œç` +îTèQ'ˆ? göâpö'³Ÿ°0šû(á²ÇjÞº*zã. ßij]Q®Ðsò»³Ü¤>Xȇ÷ÒáO¿„5xíz€týo/Nø¿Q¨@Ã7½‡àÏ!•=–zÏoÚs•JÅ»ç¿Êna‚$"KýA{*Õ+u]ïµ] Þs‹:oäÁç)ò†‰ yù£Kš3QGâzE…Š/ùßg :Ý´'¥%ºÎ€w5z×o<€70q¬·7G…Ïš­’þµ/n•§+ð“V[ðú ô˜ñþeÍ…ÄMhòü ùÛÉ éõ±OˆAÈ£à—(‹T'*½F%Ò2ÕÙ +!àÐúåg?œõ¡:x˜ì4ï3¯œ™F4ÅÒßO‰wÅbDøû+û¡døêÛ€Šžõp*VªO^§ >ØE'õ¹@ÿ&?¿\–äZ°Lô¹RèÍr#à«®ó¼(–.8AwÈ€Š‘ù€b?pŠ©3 Sü: $Шº–Zлà +Ú“ãœü‰‚¿AòyeîÜ÷K"fíNR²öDNà ¾mÄêºïÄ­ž¡? ?òV/Uºçþt¥îVïóWÕê 8šVÏãå5|Ú²úrÁ4üY½w¯«‹e½V¯µç€ã3î°_s±F¦qãë3Ÿuñ£ô+—Híe‹ý^q–]þzÙgGó-×Nþ8éê{¤´ ó2›Ê”ü¢ ñ+º=˜\­¼r÷Ä4Ö´tÍ„¯¿ÙU…}+u½[îaœºÍµéþ~Ü4;mcýtÐÄèjI³ìMdžl Š>dŽCýH_¯m‰`€¡»PnŒÇ, xÉ­ÒQ„¼w›ÜQ üywK(‚>qÿé/bC/óìg‰‡{‡¢þˆë£¾nÇƱóªsØug““.íoöØÂ÷Ír FxMªs¬•–²Tÿ÷8-ýÔu®+¯:ËuRü)¥®G²„ƒùX0±%n›ÙD‘™ægNçc±Ò˜’Ùß\ GWÓM‰ž“yno +eˆž‚­¹…âéð‡*¹Å‘Ó­Fp€Æ<Í3‰GÎñIï®­ ]ˆC›½ÞÐuØÛ^5?ú#†žI¦¯%‡¬ÏD ÿëSöȬNu;l)«÷w} uê-t¶ëà…šžÝmõº²@óºó^«/æû²º¦s j—ðu¶ÏÀnÙeÑs| Ê<´ŽûYPOû3“}®ßTKÝmÛZìE&¦Åþxes>=‡ÙifÉm~ÀÝ`^cÐêä¢-îñf/âà™Öµ`CóŠíÙN$vfe 9YË›PñHuº²¾¬£ äX`vÌQËÚá¾€›Eîƒ ÐÈǬÂnyÇÉD£;pIÄ0ù:Ó”†Ü *f\+Ù ej´BÞOPÀ»{»Ïy×D67|¼/ÑO¸–ó®ºSÚ~æ*‘Þ}ö»½NÙÏÁCx>ø²#W0`·ö|ïžj•â¶pZæ&wã´7ï±Ï”#ã.+bl¹htΗi²öˆmSôL;“\ûù…M2qvÆoD+Í[€¦Øï;üÅÎèr‚¨ÍÃÕê³Í +x¼dU6j³¨ív`[ü~4pÀ¾>ÌÙ›{þ ¶°rª!~¡h¿?õü'™MÖfÍ°ò–…¦QÅ¡9ͤ4aT]ÈJ~ÿÄÚ†4ʶÃìªin–àȲ9Þš<«uú²z +ÊÎ`Tè[\&än„þŠ®†šcèÓ–šv"kHú…¼Nœ}œôP§Q_‰ÿýðQ£Â˜Wt–iM·›¦’ê0f„NpØÏåEÇÑÄgã.“H|¤ò`á°Ý£?S)ß6V”ò-XˆZ·ÙÀ6SÏUÂO~°ü<·ÀŸD)q½¢´m!þÌz££ + ÕiBýìÓ*t/49T¿Ç ææFŽ}](ägŽåí:6ŠÕV©ý_^oö–º ¼hÉ<¹0P6k»–ð‡7ŠõhyßÒ›«…ŽÄŸ¬ÛihÙÐåòÍ ¨˜àïAÓ}e…ˆvè’{8§si ç +›i¢F£9EÄÍñœà°›•³#lR§ÀihÀpÇã9;RÈÔtšÙ™>@Èà4$gG +r +er·÷Þðœ5yö+zÓK7)¼·z:άÕ3•¬Þî¨ÿtX½“ŸOò»‡Û.I „(««÷ƒ[2EØ4hõÕâoçŠ{ç Ô«™<ˆhçhœkàŸ^¶Gp¢;{¬'}\DCmè¼'mÊÖ<ÁÉ<‚‚¶fð¹=ŽñQ³“õ ‹ÓQcŒ8íTOãOFný;.žDËY92ž¶\³¥v&ôŠü•Rür•|5G†Ë¼?Ü—q8 Së»Ë좕˜ŽèIM#/|ÊÈk{„cK:˜maýdŒ"·Røò×Ãç†/ïíëÌyHðI«‡ÚM$ÓtäÚO?_¦,<ô­Ôµ‚oI/L#§šp:ìÞD:(náòJtÐ$B0ûètòDèg”‹4:ö)«Ÿ–}:(‰!k^ò®ºH„ʧÿòç‰[ox~Ðdîl7Ž—£3ž¨‰aøp§Å 1ÊÁõœ?ª3” œ#5 ЃÁ]²tB'ÐU'’esŒdÀÔâ²ÇD'x-  +ç̣¾-.ÒG * ¿ÙNðr£„´ÇgSXKÁ›\Ìæ0Nœ79×råBpçÄÙÓ œ7T6Nî&žýN°râì© ï„’šo*¦Tîf³¥Ã­¤¦Äž‡ó7—¥zç<ˆ=Õ"ñ¦%D- » JìITèÖ@¼^o)oç’X(µóbgß>÷8ÍeŠÓtÆåRÓ‚<§™¥K‹Ó Xç4—ÄiÇɾKS Ê9MÆi‡Ê-Ïi.‰ÓŽˆ§}(8MGö]&i«ƒþxäP›/9·b‘>F‰¹%ÞÔìÜ#Ð퇚"<¨ŠEúÙw›áM¨Á°EZ©ÄÜÇ.ÒÈ#c~h˜V¼§ õϾZ¼·S:p¥bõ>¸¼Èņýb!dÅ/aßFöÜÎm6†,A±õKVPFöí‹XVcx sõ‹ù×.ª#õ •yBU_sU ´*NTƒ «ïagÅÍy$ßä¥ é‚/öƒýõó]åß ˆÍ^¹”9Å®~#§3!‰´€†O,øí6À×­•Èä ö‹-^9ÕßÆy‚6ñòža£ê“<xH çÖ7ný¨º +üÙ$ *"ÁÇþùÊÁš8\ ªÝïâë‰ßªh6š™j5ü²ªˆ$óåú.L"¥‡ühråØðÜ.÷­ùŒ +ð Õ[¨Zg“ï+(¼*UEßøùŒÃHnøÛìɵ f.æ@ðœ“ûÖ·nøîÌú”Øÿ+$…gãX†*ÅÁÌS©"„í:>:ÐO]'ÆKÇS)U ýìÅ[ʯüKÜ”³IáL¹} rQÐóœ›ûVü¨y¸oXÏ·ã úM¨Å»é,*súûjÓæ‚÷¯¡\ý•€{¢Ÿa XˆQƒ×Ó«kTtÉ•^?˜<¶; ”ËT¯=c!(—y¯^ zÆBP^Ù¨Ö‚ž±” ©×‚Qºú?é‹ÿDãÁˆ% +Å,ænΰìt<]Z€ð$/þÈUIòi9Z•X†i3ÿÝÒ«ánÁ,·–„%kªÕX˜f†«cñòéÍQ‘Ÿ}¼bàU ~ª‰,âÈÕ¯Óßñò¬bkÞôéoâ-­Lzp+7¨š*žô,ÅUJy'Ó Ìmð[=»D ÖBÑVqGÁè­êV˜ŠêD”¯WZE_‚ÄÈ#OcD–wúfó®ïkÙz|“ŽUR/þÒªz.²‚î”ÞÚ¥›ÜÍ_ xbí'EÔMx2w8@õ¬•È=Ï*'Â䱜ðCjµCƒ@¾HU²¨L;ûýÔ¾GIû¨V[Y¨-–‚cù,/H¥91VÆÈfÉ‹ÒëÌGu+#/ªYãV©Ïͱ5Ço@©]"%ìŽü²98¡&áY!Îw*"»&<ÜYŽ›æ/’SîÏÏ Ã‚!–º×¡ŽEIÁûé%–=ü` +üœoáJ<„¢ŽBá}"EÛ«îÇŒo¾1”øìÕ †æÞÅKÛí¥xÂÆ=~ÂFùË/ž˜pŸ°Q^'àI÷¢)vOpGTT"·üSÌ¢&_W"ðG×j°&aìïÑ'J‹mIÃßüüY‘ôHÀû–XrXy@RüÑwR°*Jpg!pךÁxk›S ”+’iÓök›€³¥âÌ„=-Ú70ÈÀy@Šð ä42`Û¤aV…4šÞ‹µ`âp~͕ι?”狯vUq½ú pM=…x; ùæ¿Ñ}Ñ‚û +D ^?/rÊ=ÚŸ%z~9Ì5ÛŽâÀ—E&a +]Å› Ûu„³ ä +S~fÖµòè ñ`ŸŽJ|>¬œH‰æ]s¶´k¤’/þ¶êÑAâáDüö¬ƒ[™[Ñ%ˆxcÅäuæü³¯ Üò¦—kÎö$œþ`²ø¹ /77¡RœÅ#ªN°´ÿ¤9¯S4ÀKÏç¤ÁcÎàM6~d0B}Ôá|6•Cç¹ÑThrú6½MÿJª–Ó³H»æ; ¼8ξáÔyº ƒzFR±¢Çê]Þ(I?’óÅMg”oÜÂb…“ÌY—` >N§"íÔi€W§¼ñÄ@¹áœªr–&ë8ZY·™©p³wz)¶/ï”ßåÁyýYƒMÆËBîRÜd|ÞÛ¥¤6.YvŽõÚ;-*`x +öLQÚ¯¢œñ· bCõò2) ª+·bCusY*aIíÈ$¾ 0^_9ÆÔ‰] €bÈf@|PüHú  ±K{á,q'N¢ß [úÑoÜÜtƒÈ¶¼¢îVFýÓ¶žÞ0±§«·±írb„D[Ñrn8M†K†17^€r$ œ#´Ä Ñ“ —÷ÔNøäây ¿‰ Q\ ÓØUaNqz΄‹<ˆ7¡ï¹Ãë:\ÎåÜ +¨Jô0gP6^¯ ³3âõ©àˆ&ã ¼J~3bâ=•µ¼„&!ÃÝi‚šš’ÎY6^J€±Ir¶¹,× 2\·Ôξ &|»Ò‚’·Sr‰§é+p„RrZ@•Q`÷€*— ÐiÙË%§ˆS¢­€LsZ€úÛ»Ö;n#û]€þC/°$Û·Å÷ÃAœØ²³±3I ;Î:Ù iäȈFZYZÃÿ~OÉn²É+Í\ÝQv×›—,‹Åâ9d7õ6J$O»¯ß<í~k~ùûï'/>²ºQB½!•õæuÆP—xûëõJìÚEúQó%ÜͼnDÔe Ï(ˆ-Äá‹4_D Êúëø*ÛzÛò£¯žüæO¿ú𯟽‰þÃoœ}÷Å÷¼5¤N,šä Gºõ–YÆãÜΛÆf|Aïoç]˜ôà‚Þ÷w;oÞë^Ðûþñnçåfö\Ð{ÄÛyi!ØwAïoç-»ê—½M÷ÀÛyoßzÈ£ÝÎK½ÙwAïoçMF_Ðûþñnç]Þ5ºÚ¶ðUoçåÞì¹ ÷ˆ·óæ“쿦Ë÷7ïs¤€ñË¿¤ÃÓå8ù½bȯŸç"t-`Yæî²–[ÀÓ/?ú/zÿ„VÀßÞãéDÿ?â¿<›ó˯ÿåoù$åoÍ|ùŸ}ßòíË9íö=ùàÃ÷9~ëýÅg_¬Çù·oUÿ@…þÕŸÿð»rxšÿ ¾Éù{Õ;)ˆ~ôË÷‹Ò¿ËAáƒoäœ"Øræ™Îå—5ࣱln™[î¿}oé!íŽþçÇeïðÁ)þñ)<~žŠÐ–ê÷·Ë%¼ˆd2E²UøΖ1NCéÞ:ó<ýìâQ}Þ‰ì;Èúúüå«ç\Äž~rþÝ“‹“³ŸÎ£å”þøþôq’*LÊZyøòɳ‹³?MRžœîu~öéîÙ‹—Ÿ?ºÇ‡«§÷¿ýýÉ7Ÿ:}8%A§ô‹é.Ô§ŸrAêÄéí[bú˜þøöGNžß¾õªK¼÷Šôø”ÿˆ?fo¢WÒ8üm¢ƒò³óQF£¼´Î˜`8Gà7g” Ѻˆœ(¤±^Fa¥v2Yíž‘Øåé'zú©ï‘÷ã$Åôûé?þ&¦G·ñãWPCÁF{JéègçbT2x˹RK5I£f­…^„ŒÉ¹NLQ‰Ó>U *J§­¨¨¦ÔTI¹$Ò©ÊÏ&ŒäPnn‰Ó.Q¤té*=F=«ÝÒEkõ¶‹ÖÄrnn˜ÓjQÔn)wÑÊ°í¢f$‡rKK”îuiE±Ò¹O©‹‹IgĤ­â¾:­8}RÒp¤’62Îðè…š¥¢“3Ü/Z)½ a2&nÔ0AÌ9„ ‚œŒs@W–*¨JÍB¢PôÎ:i(gïÊ3:áBvöQeYag«¡ –¯¹ÇJÏRÑq²ädVúÙ{h-«L™Ô¤‰rŽ®ôEs>µ5›VØ•ZFSQ(mt@¦¨žiMг U ªg”à&5Fd±„žŒÓ³B™à}TÐ%µ¯P…”1ÒÇ…SHƒU«†Æ‘•EàÏ-ô@UÚríbc»>š´ÑêhrGÚÉÙXN)6wAÃj +…‚0Žx8P:ÚÍhnGJGx+z|ˆÔ[Y7ÇÚ†y¤§f‰|¶GnƆ¶bÍmŒND2{?RðíÙ‹µÀh T M‹“võ•ÜK˜aFycÄŒyQMM‰ƒšƒ\šK$ŸÓyŽIïÖ4¢DÒ£„7OÚÀÚÍØs®J“†Ò´NJÚ9ª]¤(nÒ)QZ¥ôINÇ5éC=ka{¸F=ȃ”tô7ÛIT¦$úº©­´¨j‹‘E¶­›’ΘuU(D!êX/‹ruö$)Ó´Nêeò$X¡Zm¬Y +ÒI‹9Þh»dQnÖ†’Y'ë…‹¬Eá²·*åÆ4”,£AñwIÃ×T=¬Ü˨r:$­)M¶8)éÎO²ö¤Ýä¨ÿ)Šâ…Nqqv¶Š8šÂ&æðêõ¤±4[tFQ¤â¥ “lŽz$Źá³€20(Ï°²€ ŒÌè@–U€¹±˜xKuMR¤hš—erŸ¬7ùTñB³x¨’©Àã<Ô¥ÇJ”š”ÌÅ©@•\kÒ@CÔÓìîyÞ(i›p¥Tö!š°TåçªG¥li`#ÕV­ù5ð.K4ÉÑ•UëüüÔô7·oÅéî½éÛ¦üfªÓýÏ/^&Ä:=|öôù³W¦þ~öü|zúìÑy _k™ušäðÑÿé«ô@Seˆ è\áHz:I¢Ú!X’Z;MRµðäÓÇ\·Â”ôtª¤jàJªv²¤j`ËÜÝ2ôï½J4éSþ«Âšô´¢Íò”ÂE~º.ÄI=»æäbGD·wÒ/׆¥ò¢ƒê!¢pc”4)pÒ#VGúŸÒ^8‰b‚3|H¨†¦ý^V™•¨Ðå`ï)n1u÷Ê,`bΡšyŠú¨ Ô炦EX;^6DÁbYTDÊ(±.MiÅJ ZÐVY‚´µOO11ý2xq¢š k75óÚ¸Öä—NÉG¦€‰g“÷»^ìtdêKp׺N%=(ÕU&¨ÜŒ:Y*rHÖÄhÝúFÙ„^˜1»˜eÍ1ζu‘MnÒ3ˆ (•ÍO—“„Î3&`J£ÇÉ„Øm+ÌÉ­dä!Å‘›#[“W¾eQ\O:©RËÁ¥‘eÉÕ˨—•ÑHW¥ÖJ°LZ]A§à/X°`"çƒqnYQtÆÚƒU K¸€“¬ùëI'’äÉ‹a/Ô.p­ùÙ9ÂÚØJã|“¿•_5]W¡Žæ¦}=¡)ÿd”O@+V‘ +yËXðq>Šé(hH )%EœŠ‹ÐßÐb,-ûNkp0ÉùƘV:IêuÞêð`OÇRŸ÷/ò>/ò_ÿùßN¿¦¥ýO?=?ïÞB|Ó«‡õvW\עW¹j ‰|@ô)q]/cY/늽$Z×õ2æ…nÝA~( f]1¬+f(Kf£I'‰tn–Ìõ9‘C:aP\ƒ¸%ÀKÉÔT´"ˆ³¡ÑRÎ[O»4ÊϦ‚zCÜ0fÚÁØ2äêmk?§À¥6»Ñ£)ä) •VˆÕ^Ì3·ö ØŒNVoQpzxP—3ÌÈòÑV«ú^PH¹`­Á 3Ü¿jì¦ÝŠ€¾³¥Iæµ2 + ¦µsˆUCت¶záû·Ì9*®¶¼LË%€´ªÌoÉ[Ê‚p1òáÒjšŒs¬w Ø7c»“`ˆ=Õ£,:7€‚z€›dØà1`Õ¼M›%6´±2Y'–a0u|h[;Úêúè xZ¨|;[ÇYY™Ÿ7§6¦%d€@hš­±í Qt¶EMi¬kÜf»²óç1%k¹ìvõÞõÓ§uüóº—6µ&[§÷ªf>us½†EÚ¼nR¯iú4öÛÌe‡>ª>8£ÛU*¯îÕ6°“¡DúÌð V‡3H¤d†‰œLP#  e§ì]0Ì[À +%ã’ê¶?œ5íxTô*ÃE/õ¬ë­å„œmäÀÜRzc4rŸfÜ› E}Û7py8!&@ V[Iä6õ< ¹uêÊ„ÿÈšP=n\v³ñâh·±pºUàAšÀ®vÆÔcš÷C€Ë¶úB Z€K IQ•Ø¨DÁ[¶}‹ÞðÆmÕ1Ž¢«òŽ‹ÆË ##+4‘®3Ÿµ6øÞŽnýzrëGǶ½$ôÞ¯ç¶^†ßûѱ­_Omýèȶ—D:7ŸÀ¼ó÷_«—Ö×`+…‡C˜ªÂ¥Pí6uçô >õÚ×B+~EOc†E¿\'Ç‚=.òPì:yÄ¿+¦Å}3×âb×ɶÈß–oÝ9½NÆuçôz9ä_†uQ±wÄ»ÐÔ;b^¹Ëp/Rè¸ì ë×p®ÀÀPxå`ùáu,ŒÜ§:@^™XJ_‘‹Á`c6i—àcTêhŒŒFeÄÉ-¬,MóA 33 +.oâfTæH쌂刟qþõ04Z·†–µž„ÂÓx5®ßZ©¸=½™­Q©•¯•§Ë2¶ö¥ßŠ·áá™aœKp7{kö×Èß0_.ÃàPì­9\ªŠÇÀ<&“£`3ärPÿ­Ù\Vethmát”³:®1äu‹¬“ZøÝÄÛºáÑ›!û8ÞžfV-íñõ«¹~øðÕÓ¯ž½<£Â­Ý%èÆHhf°¤šƒ ã"B€X5#ð‘û«æ€" –Ko¼ò× ÚŽÿýÅDà€>ǀ׶’«R<â¸ñiJ“({ÙÊïòþÏâb2xþLe^À ½üŠ¹7[Q^[7]ÌpÚÌí‹\Šbô’ë]S”¾­ |…éÅQ~ß—m# ¶K¶åÉ¡Dt#¿UR©Št讌’f0Ö)·×žó;?êÙºk7ð[%hŸ¤ýîpS±£oO˜áȧü®/ÛF:ŒlWùmú½÷[€NóZ¿U’¾ߎuÊÙ–ïºØøQßÈÆý’v½ß*ükýÄ =ÎÙ–ò»¾tlM0²]ã·kå(&„.ÿ$‡¦m>Ô =@bÄ@«´Î™²íHúKt¶8)ù’X’4AF­ TË‚ +x@ÆÈkvÀ +ÕuÄÛ(ô +ºH‚hºÖ‡EÓ7/éˈ¡­R›¿ûñL{1Ê®N}@š¾p†·JÏìeäýÒ½‡¡½›vÛH$ig`¡"ÛßYCQ—ž»"¬ó.HÁ"d\»V Ô$â`sŸ¶@J`w/Ed5-í¬%hßðÊi€ÿH¾¤}u§ cmÖôÞV%,(›GocùD­+"¥ozL-Ì-‚Ë(h#‚UñSÚ¥±J †dV”@ôuˆ0ðúöŠ; ¢kò§ó(@Ü\Åà…£¯L;»* >m’`ÜèC(3ufE 0OR†.ÀØ”Pä’ÒÁÇ ¸*>ùÂÂyÍ ƒµÉ…êOÐY MÎèà!àOìŒm¤ç¯¨‹&˜íù“xÝû´Rd¦í\H¹®ï;åogÚIÉßLK¬ ¶›ÀÃ(PèÓ×µ]”ˆ.tù'9íõs<ª½ù9ÉX¾¯OK¾ò³²D´tŸ9J˜ÍÂè鈫ïhìcRè‹òL'°ËÆÞaµ;Rn?L©ó¶¦|WÇ0(‹Q¶v$£àyd_ÎØ—åìËÈyœ{±u¶§%ßÐÍ5p¶ œw Cé0¤ƒ–ÛÌy]Úæ³fš®¾)Û²ª+êx §˜idrîh1ôæäX_4uR¼ý@ÃÖ»,yoòÂ^¥\Ï;I)íê…>íÁ¸-0™Rki?C‹l +5’eÔÚšQ#}¶ÂXõÜ7Xò7PPíXqéûÔ–¡’\¨W½£$ŪÌT®ÝÀÚËÿzÆrŒÅßl)⤜pYœ›[£ô@Ÿ°¤zî[PXÅ qWÊ…EJÇtœ¨4ÝT0A„÷3%ÃNË´“ÒóÑ¬Æ +I›«ŠfgÊJ¤)]IÔã”ðüå.ÄØþÓëhxX3êzè#€¦ò3¬Ù´>Ü´ƒƒµp'eGÙCœr¦”! o!Ž©oC ßCœüÙ6»$F¬…8¬ªði` 7çi*ÔPf¢­ø¾à¦2Å=]ÈÔÁA;\†Ð74<€/ð,ÉÐ1,­÷ð¥vIÚë]™s]îWPåëñ”ÞÎ’rÏÛ2É*8‚øïÊëÊÛåÆ N«¬%•©Ó¹Ìã"†ày„sn¶.÷ݺÕ&Uº„NwRèÜ£ÅOSÑìÁõ~è¿~óÞïïÖ VvqJJæ V8™ïEY^ØÁfý *;­DyÉcGG\Ý,;˧Z[iœ›®ñàtÑÂZµ¦Ýr긳~p.™rÓ0q:ú§t:í,RhÔXz>õçVóPr:®ÉîÌugUl:é$Ë¡ÿ.ß&s’“ݽf;7g%y!_•¶#K$ÍM¾ïaݲÏP¹ÑMiœ› h–{ÒvÊ4ɬ%{ JÙN'b9I'rí¤S¹Å§ÖIŽî•ãܬ“\n•ÛñµFu}2^t3G—ç¥Êଷ³ì¼)ïoìÖ Ûvë}m”ÌgÙœì& `êogáaHw­ðØdãQ2÷„ +TÉå¾6V®I,f« œ¨“UMDæ†Ä|<»+·9ät™]…æ‡Á)å.a»*­öUX~ ¸¦ËÔªN–LuG¬\¨I[·§B󅎦h]"TMºØ…+À³\P.]Ó¹÷‡Á-0;ºÄ²»¼…ÃÝóâlP¢,0èòY:‡B‚ÍaûŽîÑÍ6IëÇwpÌØ NÆ_tBz÷ËfCxH¤h(Ä÷îò}§üÃN°7Åe¤7$«£JÛuƒ" Î~…¶˜bRxÀGÌ¡¾Q¢ˆ½Ž2½P±Óü°~}€‹«¨ßÔN_$ëØÿÐ÷oÛh2ÌÈŽ‰ðo^÷ érËÉäóTºÁÌy¨§´à[u7ÃZ­øž)ø bž Ž7iß +H‹ çê@G:ýsžVD^@¥'Æ¿ÊÞ¡“Úè€>Ù¥vL¯ADP7íÇj߀ú7LG½KG/ÝH¸–’&¿x²£+ ÑÄú¢¥¶Eø8ÝbÅØÿ„KR“k'´Õ³¦K^3¹ß…ÁDYßC¡{du}ÙäŽx 7‹dü‰¶} ZÇò^-›µmŠV°H̪Àv;¾p·W:dGkŠrÙ-”_/ åÂà˜¸õ%™ àˆñôŠÎúÆ ïJ¥™¶Õ…î}«ïî‹`i“Âðõ[° Ï T‘î­‰fE8Ÿæ*x>‚-Á’ÄDøŠÍ7Ó¸;º1¶û›pÆú.ß$G¼Y®ˆI‹ó臶ï'ÃR˜*±~ùvGkõáp3ýÝÿ2½®½²½axé§9è<ÉG1áá?çôú›†í§èÀÇà +ñÓƒ)רóQñ@ šÔ§'«ê§«À}*¿þòôzÈŸÛ_Þ·ª`~¸2ð§z ôÏWÿdÏÿ)} jÕUÉ È‹~ÔZ¨¥ T­ºdúBÜuºP]»ûFZ€"+1È—£퇋A ‡Pv% ¹XóÐü#Y ¡Q[ɉöa#eqÈÆÎ2?­³l}(? _s¬)DyRû«U?-D"?­ÓMªöa-·Pä‚›'ëöVÛüÔ‹2}›§ÕrûèÅð§Á r‡Q ²Ö±IÆ>ŸY}jÿ*¶¼O¹—|ÐOǦ$óØ„d›‚ÐÌ=6 ÉCòæÁ±úéúx +¯RPO.ÃU¸Ü»b+Ù¼Gå+äC×ÈXHüµrž«cÖ2üé-y ÉÜÃ\x†™»°ÌK°—a¹cóËã2˜Ë›·ÿöºýªøÀ±oÈÍ ¹¹!7G"7õç{oMn.ŽBn.nÈÍ ¹92¹y݇u7„æš‹ÎrÃYn8Ë g9g¹ùTxø©ðÉ'ÐúãÏíégNÎ~:±Û!ãΗgßÿéÅÙ“œ¿¸}ë»Îþû|:»¸ odÏŸã§é»ç?¼|öâzö#åP¥¥Â;Ÿýñ7·oýb!ÀÍ +endstream endobj 68 0 obj <>stream +H‰LTËn1 ¼ë+ôK‹¤ÔµNÐSP=ôŒ6§@Òÿ:¤´F°ðjD ‡/­/?®ùòr-ùÛÓ5§Trc‰ßá¯ÏßéWþ «?ŸoéòýgÉoÿÒGæ0qÖVóìùö¤÷tð€{:¤ªÕ°9Ä,+Ó(¼p¯ù–qw.g±n~µ-âÏmÉ«Õìñ|½§f$:bãnµó (å ãð¾a’9ó#?w|Èn~Ýô äÊý,ΡkµðpmJQ×fÅõ%Š ÄL½ü>I+”EH§X ‹"™¡¿©µ|X£Ñ,b !înšÔÔ–JEŽÈJtµWâ*ƒë¨­HÛä:Ú Ã_ÜÂyÏJMDV“¬¹A GÇ=c¤†2BC¨‹í°m³ è)Ûz-WÔÖ£‹‹V xK^N4à2FDòÁ»ë.säB4bÀOøÑ*Yž_[Ébg›Æ%s°†h ­ôÑ­±¢D¿8öC«-ÿƒ¡Í¥û>°­ Ô”*z´Ém÷Ç>˜&\­ÍZ¾§àâEœ}å1ãžÙ Ã7<ÍÈD ¼ãdöuWׇť†ƒ_ñÉu¼‹p´UOö\3ˆýI¯éùÿ¯é¿ É +endstream endobj 67 0 obj <>stream +H‰LTËnÜ0 ¼ë+ôÖJ$õºvSôAý£MÛIÿ‡´ìb±Þ¡LÎPCioßïñö|ÏñËÓ=†÷c-dß _ágü««ø|¼†Û·9¾þ ï±ØR‰M¢”–rÎ5î,O¦DsFé©VBÒlxîÆx––ˆ;©¥R¦Á¬ioh+4ôÑʵ[£ÚTÂá&ÃÜ’ˆ¦2å{Ð*Cp4bQ¾ +³ÓíÚñV]ÖàV™"ô7oÜòÓZÒtŠ.+§¬„4~ûá3§Òf,#µŠ +¡Ä³Ä. E5'é¬ue¦VjÜ$×ÔëÐòRÓ`[™©òƒÍGmÄih’á=ÈtnDPIëŽwU9TL±¤®¦×‘ŠXLIj £ŽVH‹©ÕÄVÈT— +ª-)G‹³êŠîÐõ˜%±ðjŒ[^zfš’CÕS›ò4^û뺠µ˜‚[ÐQ¯¯Êr‰¹lÓé±>W@›?Lð qeÌì%Èq’Hp¨twƒØC•°©Þ@0Ù˼*TΙL—fµ: íD®Š#ÈÇ]8® +h¯žV{š©íqÖÑ{„¹lÔ{s 'Á­ðô2É Tµw¼µÝ­tÇÞ˜A'_é&ºzÙÃÈË´1.ÏpÖ†æIçÈÓÎl•çõëår«É•í†æ3[WGGæSÉíôÉþAŽ­86:‡¾ñ•C@â6U>]âÿ<½œ¾ü?R!·šØÃïð¾>ëŸêKø`ŒNñ +endstream endobj 66 0 obj <>stream +H‰lUKn1 ÝÏ)t1")‰Ò¶iÑUP]ôA›.ìI¤±\†>ùø›<|{ O)|úüŽ·#…‚äßh?ï?ážÚçýõxøú=…׿Ç[@?Âsƒ”z Tjx¹úÕë¹eH¤öeÙ=ôª(©‰Ãü}DE"Ög“"“Ñæ_å0ù-¢bn]eä”?:Æî·QªE¨ ¸tG1ƒJÂŒP8˜ H-¼X\†ž»C“!d»ÊX Öácóþrp‡îI^Æi^¦9|M»²:4GÔOg`u‹Ø¡iC“! +r1'QT-)îP4=©Ðº<6MØk¯É&íÅ@ÊAD'Ù5Du jgl°B±Gš¨1+‚ F`ç +BMÝ<ц¦™R;“6[™¤QDÆâä”ddr“¥T ¿«úDú–—>;³2Z•¡—­÷3/âV^”gRæÆø3)Ê&þ–'4v.£“ H+®s¥.bÖ"XóJ»ƒc&òÆLy,æ¥ÛÙìchÅÒ2íÍå˜@JXt¢§ß´ôÉŸöZ„Š(fM¬ŽF„ÛÒtÃ{[ƒËuxʵ;ÕëÇenÒ¨ò¹A³Ì­çy•„îüœXÃXƒ&4>y©é„Ó—öç”ÔÒ"ÚéŸzÒ‡´kI[h[Uc÷V ªVû¬Ôc…Í*l{•‚¬wnØe˜b1†9f`°t4Îw +ª³A:Xú +Ê£ª†V~¨ÃîÍ°ï¹Kó·ÃdUÿúƒêɶ1 vÞëN˜høš`Å™$—°‰ó i×ʉnb©µ;/  Íð‹i–ӡ˜YNÉk©Ü üWIœ•K›î_ÇóñåIÿ=ÿÚàI€ +endstream endobj 65 0 obj <>stream +H‰LUKnÜ0 Ý뺀‘úo›]EÐE`´Éb¦@Òû}¤$1‰EÊü<>RòÓgÿôòý—¯ÏÞ}¸è ‹ý}|þv¿ü_ìêïóÍ=}ÿýÛ?÷áÙ¶ØsÅSº?îfuwܨ6HI*­{ ³-zX×?|ЂšLQ®*¥>Ã[³šÍ†ˆu6BkZ®AQž1La¥Æ¸¥¥Á Ôñ*$d„`•«2@`·Wyñ#¿NHjK´á´ì6àr¤óÎ'[ýLa>Á‚nТ õHí×zá‰ëñDc}™ÎÿbN/œÅ§‰Ö&•V²³)ŽÝ"½8VçL,ó +ÖäÛ”fë—“fÞ7î*œýHóÒÖ xÞã*Mªi¨êg=æfƺ…/ÌúpÔ8=í£cï—Yô3ááþ¸W÷íß²W÷_€|ÓLû +endstream endobj 62 0 obj <>stream +H‰l”An1 E÷:….02EJi['è*(‚.z£Mv¤÷JŠ”FSAl=YŸüóEûòíê//Wð_ž®Þ½;ð9bÿßäåã§ûáÿð®ü}¼¹Ë×ïàßþºwûVô)ÕäS,þöèGn£š^ßç:æPš2„=6¿Q,¡ /Éo±!’åÍme)õm +”ä(˜þæ~» `dI9z%ÅÑ.³™ÀÞUDB‡Æð¾”hrxÖo&%Ôդꩳ¤O¶©…¶÷®Gq¬ï¶æƲ@¨^žÉ·2à% ÁTÝç`{0ý¸Aì‡ ´þ–0­D\¸vÚôŽøÞÌZÄ(R麩äG w¶Xú[ð‡3r…Â)$ˆAÂÈèønËmp’÷E!J*M”2a¢ÐÏ4‚q©»a-ŠÅOeK–NÌ=°?Gµ4pÔjûtTádW?1vàTV+°tŽœVRã£Îa’ì 4y9…LQ¡îëU"ñiÅ¥­u:LÎcs ²|!5f¬U¾=ISŒ;é]æ5 ¤HÞtÈ8*bO öÙè´rÒ Ô‚ƒ¬›ÉÄÇâ°7†Õ0ŽùåTd²¶˜h¦VÌͺj[®fø“9uùEþ/(“j†°˜ÿå^Ýó ÿ¿º n€‚ +endstream endobj 11 0 obj <>stream +8;Z]\9+HIp$j9DqJ&,I3NJZ"jkQ_`Sd&lmdfS[ILF>3$iG)'p]*IcgZLhUP,T@Zdt +CbP(n,TbA>U0=$`06-t*<+Up>^oOKn!T5EI++O2T^=D3 +#qrT*4ku=l2a#]ArVse0Mp1(+ZiGJc#/*_$aTAaYr8pReiQ5t"$'Q +endstream endobj 12 0 obj [/Indexed/DeviceRGB 255 13 0 R] endobj 13 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> +endstream endobj 5 0 obj <> endobj 25 0 obj <> endobj 43 0 obj <> endobj 53 0 obj [/View/Design] endobj 54 0 obj <>>> endobj 36 0 obj [/View/Design] endobj 37 0 obj <>>> endobj 14 0 obj [/View/Design] endobj 15 0 obj <>>> endobj 61 0 obj [60 0 R] endobj 76 0 obj <> endobj xref +0 77 +0000000004 65535 f +0000000016 00000 n +0000000187 00000 n +0000013945 00000 n +0000000006 00000 f +0000059934 00000 n +0000000008 00000 f +0000014031 00000 n +0000000009 00000 f +0000000010 00000 f +0000000016 00000 f +0000059027 00000 n +0000059372 00000 n +0000059420 00000 n +0000060378 00000 n +0000060409 00000 n +0000000017 00000 f +0000000018 00000 f +0000000019 00000 f +0000000020 00000 f +0000000026 00000 f +0000014385 00000 n +0000014728 00000 n +0000015070 00000 n +0000015413 00000 n +0000060004 00000 n +0000000028 00000 f +0000015756 00000 n +0000000029 00000 f +0000000030 00000 f +0000000031 00000 f +0000000032 00000 f +0000000033 00000 f +0000000034 00000 f +0000000035 00000 f +0000000038 00000 f +0000060262 00000 n +0000060293 00000 n +0000000039 00000 f +0000000040 00000 f +0000000041 00000 f +0000000042 00000 f +0000000000 00000 f +0000060075 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000060146 00000 n +0000060177 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000016889 00000 n +0000060494 00000 n +0000058443 00000 n +0000017189 00000 n +0000017076 00000 n +0000057609 00000 n +0000056866 00000 n +0000056219 00000 n +0000055666 00000 n +0000016098 00000 n +0000016960 00000 n +0000016991 00000 n +0000017263 00000 n +0000017437 00000 n +0000018777 00000 n +0000024538 00000 n +0000060519 00000 n +trailer +<<212874D0ED688D4D90967DE6A39EC7F2>]>> +startxref +60658 +%%EOF diff --git a/resources/icons/light/metro.svg b/resources/icons/light/metro.svg new file mode 100644 index 0000000..ac0c1be --- /dev/null +++ b/resources/icons/light/metro.svg @@ -0,0 +1 @@ +metro \ No newline at end of file diff --git a/resources/icons/light/train.svg b/resources/icons/light/train.svg new file mode 100644 index 0000000..a7f125a --- /dev/null +++ b/resources/icons/light/train.svg @@ -0,0 +1 @@ +train \ No newline at end of file diff --git a/resources/icons/light/tram.svg b/resources/icons/light/tram.svg new file mode 100644 index 0000000..241b6c2 --- /dev/null +++ b/resources/icons/light/tram.svg @@ -0,0 +1 @@ +tram \ No newline at end of file diff --git a/resources/icons/light/trolleybus.svg b/resources/icons/light/trolleybus.svg new file mode 100644 index 0000000..8cd1e88 --- /dev/null +++ b/resources/icons/light/trolleybus.svg @@ -0,0 +1 @@ +trolleybus \ No newline at end of file diff --git a/resources/icons/light/unknown.svg b/resources/icons/light/unknown.svg new file mode 100644 index 0000000..a58230e --- /dev/null +++ b/resources/icons/light/unknown.svg @@ -0,0 +1 @@ +unknown \ No newline at end of file diff --git a/resources/styles/_common.scss b/resources/styles/_common.scss new file mode 100644 index 0000000..27d2a1d --- /dev/null +++ b/resources/styles/_common.scss @@ -0,0 +1,15 @@ +.list-underlined { + @extend .list-unstyled; + + li { + border-bottom: 1px solid $text-muted; + } +} + +.flex-space-left { + margin-left: auto; +} + +.flex-space-right { + margin-right: auto; +} diff --git a/resources/styles/_controls.scss b/resources/styles/_controls.scss new file mode 100644 index 0000000..f188090 --- /dev/null +++ b/resources/styles/_controls.scss @@ -0,0 +1,11 @@ +.btn { + &.btn-action { + @extend .btn-link; + + color: black; + } + + &.btn-outline-action { + @extend .btn-outline-dark; + } +} diff --git a/resources/styles/_departure.scss b/resources/styles/_departure.scss new file mode 100644 index 0000000..0609bfb --- /dev/null +++ b/resources/styles/_departure.scss @@ -0,0 +1,53 @@ +.departure { + display: flex; + align-items: center; + flex-wrap: wrap; + + .departure__line { + flex: 3 0; + } + + .departure__stop { + width: 100%; + } + + .departure__time { + width: 9rem; + text-align: right; + + .departure__scheduled { + text-decoration: line-through; + } + } +} + +.departures__actions { + display: flex; + align-items: center; + + .departures__auto-refresh { + display: flex; + align-items: center; + } + + .form-control { + width: auto; + } +} + +@include media-breakpoint-up(lg) { + .departure__time { + order: 2; + } + + .departure__stop { + flex: 2 0; + width: auto; + } +} + +@include media-breakpoint-up(sm) { + .departure__time { + margin-left: auto; + } +} \ No newline at end of file diff --git a/resources/styles/_line.scss b/resources/styles/_line.scss new file mode 100644 index 0000000..52d283e --- /dev/null +++ b/resources/styles/_line.scss @@ -0,0 +1,8 @@ +.line { + display: flex; + align-items: center; + + .line__symbol { + min-width: 4rem; + } +} \ No newline at end of file diff --git a/resources/styles/_stop.scss b/resources/styles/_stop.scss new file mode 100644 index 0000000..11bfe05 --- /dev/null +++ b/resources/styles/_stop.scss @@ -0,0 +1,23 @@ +.stop, .stop-group__header { + display: flex; + align-items: center; +} + +.stop__name { +} + +.stop__description { + margin: 0 .5rem; +} + +.stop__actions { + display: flex; +} + + +.stop-group__name { + font-size: $font-size-base; + font-weight: bold; + + margin-bottom: 0; +} \ No newline at end of file diff --git a/resources/styles/main.scss b/resources/styles/main.scss new file mode 100644 index 0000000..d3fea81 --- /dev/null +++ b/resources/styles/main.scss @@ -0,0 +1,17 @@ +$border-radius: 2px; +$border-radius-lg: $border-radius; +$border-radius-sm: $border-radius; + +@import "~bootstrap/scss/functions"; +@import "~bootstrap/scss/variables"; + +$custom-control-indicator-checked-bg: $dark; +$custom-control-indicator-active-bg: $dark; + +@import "~bootstrap/scss/bootstrap"; + +@import "common"; +@import "stop"; +@import "departure"; +@import "line"; +@import "controls"; diff --git a/resources/svg-icon-loader.js b/resources/svg-icon-loader.js new file mode 100644 index 0000000..6b504f8 --- /dev/null +++ b/resources/svg-icon-loader.js @@ -0,0 +1,13 @@ +const dom = require('xmldom'); +const xpath = require('xpath'); + +module.exports = function svgIconLoader(source) { + const parser = new dom.DOMParser(); + const svg = parser.parseFromString(source, 'image/svg+xml'); + + const result = xpath.useNamespaces({ + 'svg': 'http://www.w3.org/2000/svg' + })('string(//svg:path/@d)', svg); + + return result; +}; \ No newline at end of file diff --git a/resources/ts/app.ts b/resources/ts/app.ts new file mode 100644 index 0000000..8c27c52 --- /dev/null +++ b/resources/ts/app.ts @@ -0,0 +1,26 @@ +/// +/// + +import '../styles/main.scss' + +import './font-awesome' +import './filters' + +import * as Popper from 'popper.js'; +import * as $ from "jquery"; + +import * as components from './components'; + +window['$'] = window['jQuery'] = $; +window['popper'] = Popper; + +// dependencies +import 'bootstrap' +import Vue from 'vue'; + +// here goes "public" API +window['czydojade'] = { + components +}; + +window['app'] = new Vue({ el: '#app' }); \ No newline at end of file diff --git a/resources/ts/components/departures.ts b/resources/ts/components/departures.ts new file mode 100644 index 0000000..4d15123 --- /dev/null +++ b/resources/ts/components/departures.ts @@ -0,0 +1,55 @@ +import Vue from 'vue' +import { Departure, Stop } from "../model"; +import { Component, Prop, Watch } from "vue-property-decorator"; +import urls from '../urls'; +import template = require("../../components/departures.html"); +import moment = require("moment"); +import { Jsonified } from "../utils"; +import { debounce } from "../decorators"; + +@Component({template}) +export class Departures extends Vue { + private _intervalId: number; + + autoRefresh: boolean = false; + departures: Departure[] = []; + interval: number = 20; + + @Prop(Array) + stops: Stop[]; + + @Watch('stops') + @debounce(300) + async update() { + const response = await fetch(urls.prepare(urls.departures, { + stop: this.stops.map(stop => stop.id), + provider: 'gdansk' + })); + + if (response.ok) { + const departures = await response.json() as Jsonified[]; + + this.departures = departures.map(departure => { + departure.scheduled = moment.parseZone(departure.scheduled); + departure.estimated = moment.parseZone(departure.estimated); + + return departure as Departure; + }); + } + } + + @Watch('interval') + @Watch('autoRefresh') + private setupAutoRefresh() { + if (this._intervalId) { + window.clearInterval(this._intervalId); + this._intervalId = undefined; + } + + if (this.autoRefresh) { + this._intervalId = window.setInterval(() => this.update(), this.interval * 1000); + } + } +} + +Vue.component('Departures', Departures); \ No newline at end of file diff --git a/resources/ts/components/index.ts b/resources/ts/components/index.ts new file mode 100644 index 0000000..c737a45 --- /dev/null +++ b/resources/ts/components/index.ts @@ -0,0 +1,2 @@ +export * from './picker' +export * from './departures' \ No newline at end of file diff --git a/resources/ts/components/picker.ts b/resources/ts/components/picker.ts new file mode 100644 index 0000000..4f5f6d4 --- /dev/null +++ b/resources/ts/components/picker.ts @@ -0,0 +1,99 @@ +import Component from "vue-class-component"; +import Vue from "vue"; +import { Stop, StopGroup, StopGroups } from "../model"; +import urls from '../urls'; + +import picker = require("../../components/picker.html"); +import finder = require('../../components/finder.html'); +import stop = require('../../components/stop.html'); + +import { Prop, Watch } from "vue-property-decorator"; +import { filter, map } from "../utils"; +import { debounce, throttle } from "../decorators"; +import { Departures } from "./departures"; + +@Component({ template: picker }) +export class PickerComponent extends Vue { + protected stops?: Stop[] = [{ + "id": 2001, + "name": "Dworzec Główny", + "description": null, + "location": [54.35544, 18.64565], + "variant": "01", + "onDemand": false + }, { + "id": 2002, + "name": "Dworzec Główny", + "description": null, + "location": [54.35541, 18.64548], + "variant": "02", + "onDemand": false + }]; + + private remove(stop: Stop) { + this.stops = this.stops.filter(s => s != stop); + } + + private add(stop: Stop) { + this.stops.push(stop); + } +} + +type FinderState = 'fetching' | 'ready' | 'error'; + +@Component({ template: finder }) +export class FinderComponent extends Vue { + protected found?: StopGroups = {}; + + public state: FinderState = 'ready'; + public filter: string = ""; + + @Prop({default: [], type: Array}) + public blacklist: Stop[]; + + get filtered(): StopGroups { + const groups = map( + this.found, + (group: StopGroup, name: string) => + group.filter(stop => !this.blacklist.some(blacklisted => blacklisted.id == stop.id)) + ) as StopGroups; + + return filter(groups, group => group.length > 0); + } + + @Watch('filter') + @debounce(400) + async fetch() { + if (this.filter.length < 3) { + return; + } + + this.state = 'fetching'; + + const response = await fetch(urls.prepare(urls.stops.search, { + name: this.filter, + provider: 'gdansk' + })); + + if (response.ok) { + this.found = await response.json(); + this.state = 'ready'; + } else { + this.state = 'error'; + } + } + + private select(stop) { + this.$emit('select', stop); + } +} + +@Component({ template: stop }) +export class StopComponent extends Vue { + @Prop(Object) + public stop: Stop; +} + +Vue.component('StopPicker', PickerComponent); +Vue.component('StopFinder', FinderComponent); +Vue.component('Stop', StopComponent); diff --git a/resources/ts/decorators.ts b/resources/ts/decorators.ts new file mode 100644 index 0000000..0974d26 --- /dev/null +++ b/resources/ts/decorators.ts @@ -0,0 +1,45 @@ +export interface Decorator { + decorate(f: (...farg: FArgs) => FRet, ...args: TArgs): (...farg: FArgs) => TRet; + + (...args: TArgs): (target, name: string | symbol, descriptor: TypedPropertyDescriptor<(...farg: FArgs) => FRet>) => void; +} + +export function decorator + (decorate: (f: (...fargs: FArgs) => FRet, ...args: TArgs) => (...fargs: FArgs) => TRet) + : Decorator { + + const factory = function (this: Decorator, ...args: TArgs) { + return (target, name: string | symbol, descriptor: PropertyDescriptor) => { + descriptor.value = decorate(descriptor.value, ...args); + } + } as Decorator; + factory.decorate = decorate; + + return factory; +} + +export const throttle = decorator(function (decorated, time: number) { + let timeout; + return function (this: any, ...args) { + if (typeof timeout === 'undefined') { + timeout = window.setTimeout(() => { + decorated.call(this, ...args); + timeout = undefined; + }, time); + } + } +}); + +export const debounce = decorator(function (decorated, time: number, max: number = time * 3) { + let timeout; + return function (this: any, ...args) { + if (typeof timeout !== 'undefined') { + window.clearTimeout(timeout); + } + + timeout = window.setTimeout(() => { + timeout = undefined; + decorated.call(this, ...args); + }, time); + } +}); diff --git a/resources/ts/filters.ts b/resources/ts/filters.ts new file mode 100644 index 0000000..6407753 --- /dev/null +++ b/resources/ts/filters.ts @@ -0,0 +1,4 @@ +import { signed } from "./utils"; +import Vue from 'vue'; + +Vue.filter('signed', signed); \ No newline at end of file diff --git a/resources/ts/font-awesome.ts b/resources/ts/font-awesome.ts new file mode 100644 index 0000000..492b18d --- /dev/null +++ b/resources/ts/font-awesome.ts @@ -0,0 +1,14 @@ +import Vue from 'vue' + +import { library } from '@fortawesome/fontawesome-svg-core' + +import { far } from "@fortawesome/pro-regular-svg-icons"; +import { fas } from "@fortawesome/pro-solid-svg-icons"; +import { fal } from "@fortawesome/pro-light-svg-icons"; +import { fac } from "./icons"; + +import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome' + +library.add(far, fas, fal, fac); + +Vue.component('fa', FontAwesomeIcon); \ No newline at end of file diff --git a/resources/ts/icons.ts b/resources/ts/icons.ts new file mode 100644 index 0000000..2b32c9c --- /dev/null +++ b/resources/ts/icons.ts @@ -0,0 +1,48 @@ +import { IconPack, IconDefinition } from '@fortawesome/fontawesome-svg-core'; + +import bus = require("../icons/light/bus.svg"); +import tram = require("../icons/light/tram.svg"); +import trolleybus = require("../icons/light/trolleybus.svg"); +import metro = require("../icons/light/metro.svg"); +import train = require("../icons/light/train.svg"); +import unknown = require("../icons/light/unknown.svg"); + +export const faBus: IconDefinition = { + prefix: 'fac', + iconName: 'bus', + icon: [ 512, 512, [], null, bus] +}; + +export const faTram = { + prefix: 'fac', + iconName: 'tram', + icon: [ 512, 512, [], null, tram] +}; + +export const faTrain = { + prefix: 'fac', + iconName: 'train', + icon: [ 512, 512, [], null, train] +}; + +export const faTrolleybus = { + prefix: 'fac', + iconName: 'trolleybus', + icon: [ 512, 512, [], null, trolleybus] +}; + +export const faMetro = { + prefix: 'fac', + iconName: 'metro', + icon: [ 512, 512, [], null, metro] +}; + +export const faUnknown = { + prefix: 'fac', + iconName: 'unknown', + icon: [ 512, 512, [], null, unknown] +}; + +export const fac: IconPack = { + faBus, faTram, faTrain, faTrolleybus, faMetro, faUnknown +}; \ No newline at end of file diff --git a/resources/ts/model/departure.ts b/resources/ts/model/departure.ts new file mode 100644 index 0000000..772fd87 --- /dev/null +++ b/resources/ts/model/departure.ts @@ -0,0 +1,14 @@ +import { Stop } from "./stop"; +import { Line } from "./line"; +import { Moment } from "moment"; + +export interface Departure { + display: string; + estimated: Moment; + scheduled: Moment; + stop: Stop; + line: Line; + delay: number; + + vehicle?: string; +} \ No newline at end of file diff --git a/resources/ts/model/index.ts b/resources/ts/model/index.ts new file mode 100644 index 0000000..b18fa3a --- /dev/null +++ b/resources/ts/model/index.ts @@ -0,0 +1,3 @@ +export * from './stop' +export * from './departure' +export * from './line' diff --git a/resources/ts/model/line.ts b/resources/ts/model/line.ts new file mode 100644 index 0000000..b65b667 --- /dev/null +++ b/resources/ts/model/line.ts @@ -0,0 +1,8 @@ +export type LineType = "tram" | "bus" | "trolleybus" | "train" | "other"; + +export interface Line { + id: any; + symbol: string; + variant?: string; + type: LineType; +} \ No newline at end of file diff --git a/resources/ts/model/stop.ts b/resources/ts/model/stop.ts new file mode 100644 index 0000000..e50a744 --- /dev/null +++ b/resources/ts/model/stop.ts @@ -0,0 +1,14 @@ +export interface Stop { + id: any; + name: string; + description?: string; + location?: [ number, number ]; + onDemand?: boolean; + variant?: string; +} + +export type StopGroup = Stop[]; + +export type StopGroups = { + [name: string]: StopGroup; +} \ No newline at end of file diff --git a/resources/ts/types/popper.js.d.ts b/resources/ts/types/popper.js.d.ts new file mode 100644 index 0000000..a95552e --- /dev/null +++ b/resources/ts/types/popper.js.d.ts @@ -0,0 +1,131 @@ +declare class Popper { + static modifiers: (Popper.BaseModifier & { name: string })[]; + static placements: Popper.Placement[]; + static Defaults: Popper.PopperOptions; + + options: Popper.PopperOptions; + + constructor(reference: Element | Popper.ReferenceObject, popper: Element, options?: Popper.PopperOptions); + + destroy(): void; + update(): void; + scheduleUpdate(): void; + enableEventListeners(): void; + disableEventListeners(): void; +} + +declare namespace Popper { + export type Position = 'top' | 'right' | 'bottom' | 'left'; + + export type Placement = 'auto-start' + | 'auto' + | 'auto-end' + | 'top-start' + | 'top' + | 'top-end' + | 'right-start' + | 'right' + | 'right-end' + | 'bottom-end' + | 'bottom' + | 'bottom-start' + | 'left-end' + | 'left' + | 'left-start'; + + export type Boundary = 'scrollParent' | 'viewport' | 'window'; + + export type Behavior = 'flip' | 'clockwise' | 'counterclockwise'; + + export type ModifierFn = (data: Data, options: Object) => Data; + + export interface BaseModifier { + order?: number; + enabled?: boolean; + fn?: ModifierFn; + } + + export interface Modifiers { + shift?: BaseModifier; + offset?: BaseModifier & { + offset?: number | string, + }; + preventOverflow?: BaseModifier & { + priority?: Position[], + padding?: number, + boundariesElement?: Boundary | Element, + escapeWithReference?: boolean + }; + keepTogether?: BaseModifier; + arrow?: BaseModifier & { + element?: string | Element, + }; + flip?: BaseModifier & { + behavior?: Behavior | Position[], + padding?: number, + boundariesElement?: Boundary | Element, + }; + inner?: BaseModifier; + hide?: BaseModifier; + applyStyle?: BaseModifier & { + onLoad?: Function, + gpuAcceleration?: boolean, + }; + computeStyle?: BaseModifier & { + gpuAcceleration?: boolean; + x?: 'bottom' | 'top', + y?: 'left' | 'right' + }; + + [name: string]: (BaseModifier & Record) | undefined; + } + + export interface Offset { + top: number; + left: number; + width: number; + height: number; + } + + export interface Data { + instance: Popper; + placement: Placement; + originalPlacement: Placement; + flipped: boolean; + hide: boolean; + arrowElement: Element; + styles: CSSStyleDeclaration; + boundaries: Object; + offsets: { + popper: Offset, + reference: Offset, + arrow: { + top: number, + left: number, + }, + }; + } + + export interface PopperOptions { + placement?: Placement; + positionFixed?: boolean; + eventsEnabled?: boolean; + modifiers?: Modifiers; + removeOnDestroy?: boolean; + + onCreate?(data: Data): void; + + onUpdate?(data: Data): void; + } + + export interface ReferenceObject { + clientHeight: number; + clientWidth: number; + + getBoundingClientRect(): ClientRect; + } +} + +declare module "popper.js" { + export = Popper; +} diff --git a/resources/ts/types/webpack.d.ts b/resources/ts/types/webpack.d.ts new file mode 100644 index 0000000..3d249b2 --- /dev/null +++ b/resources/ts/types/webpack.d.ts @@ -0,0 +1,9 @@ +declare module "*.html" { + const content: string; + export = content; +} + +declare module "*.svg" { + const content: string; + export = content; +} diff --git a/resources/ts/urls.ts b/resources/ts/urls.ts new file mode 100644 index 0000000..c75e86d --- /dev/null +++ b/resources/ts/urls.ts @@ -0,0 +1,56 @@ +export type UrlParams = { + [name: string]: any +} + +type ParamValuePair = [string, string]; + +export function query(params: UrlParams = { }) { + function *simplify(name: string, param: any): IterableIterator { + if (typeof param === 'string') { + yield [ name, param ]; + } else if (typeof param === 'number') { + yield [ name, param.toString() ]; + } else if (param instanceof Array) { + for (let entry of param) { + yield* simplify(`${name}[]`, entry); + } + } else if (typeof param === "object") { + for (let [key, entry] of Object.entries(param)) { + yield* simplify(`${name}[${key}]`, entry); + } + } + } + + let simplified: ParamValuePair[] = []; + for (const [key, entry] of Object.entries(params)) { + for (const pair of simplify(key, entry)) { + simplified.push(pair); + } + } + + return Object.values(simplified).map(entry => entry.map(encodeURIComponent).join('=')).join('&'); +} + +export function prepare(url: string, params: UrlParams = { }) { + const regex = /\{([\w-]+)\}/gi; + + let group; + while (group = regex.exec(url)) { + const name = group[1]; + + url = url.replace(new RegExp(`\{${name}\}`, 'gi'), params[name]); + delete params[name]; + } + + return Object.keys(params).length > 0 ? `${url}?${query(params)}` : url; +} + +export default { + departures: '/{provider}/departures', + stops: { + all: '/{provider}/stops', + search: '/{provider}/stops/search', + get: '/{provider}/stop/{id}' + }, + prepare +} \ No newline at end of file diff --git a/resources/ts/utils.ts b/resources/ts/utils.ts new file mode 100644 index 0000000..748cbe4 --- /dev/null +++ b/resources/ts/utils.ts @@ -0,0 +1,37 @@ +type Simplify = string | + T extends string ? string : + T extends number ? number : + T extends boolean ? boolean : + T extends Array ? Array : + T extends Object ? Object : any; + +export type Jsonified = { [K in keyof T]: Simplify } +export type Optionalify = { [K in keyof T]?: T[K] } + +export type Index = string | symbol | number; + +export function map(source: T, mapper: (value: T[KT], key: KT) => R[KT]): R { + const result: R = {} as R; + + for (const [key, value] of Object.entries(source)) { + result[key] = mapper(value as T[KT], key as KT); + } + + return result; +} + +export function filter(source: T, filter: (value: T[KT], key: KT) => boolean): Optionalify { + const result: Optionalify = {}; + + for (const [key, value] of Object.entries(source)) { + if (filter(value as T[KT], key as KT)) { + result[key] = value; + } + } + + return result; +} + +export function signed(number: number): string { + return number > 0 ? `+${number}` : number.toString(); +} diff --git a/src/Controller/.gitignore b/src/Controller/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/src/Controller/Controller.php b/src/Controller/Controller.php new file mode 100644 index 0000000..47a075d --- /dev/null +++ b/src/Controller/Controller.php @@ -0,0 +1,11 @@ +getById($id); + + return $this->json($departures->getForStop($stop)); + } + + /** + * @Route("/") + */ + public function stops(DepartureRepository $departures, StopRepository $stops, Request $request) + { + $stops = collect($request->query->get('stop')) + ->map([ $stops, 'getById' ]) + ->flatMap([ $departures, 'getForStop' ]) + ->sortBy(function (Departure $departure) { + return $departure->getEstimated(); + }); + + return $this->json($stops->values()); + } +} \ No newline at end of file diff --git a/src/Controller/HomepageController.php b/src/Controller/HomepageController.php new file mode 100644 index 0000000..f4e53a4 --- /dev/null +++ b/src/Controller/HomepageController.php @@ -0,0 +1,17 @@ +render('base.html.twig'); + } +} \ No newline at end of file diff --git a/src/Controller/StopsController.php b/src/Controller/StopsController.php new file mode 100644 index 0000000..609e75e --- /dev/null +++ b/src/Controller/StopsController.php @@ -0,0 +1,49 @@ +query->has('id') + ? $stops->getManyById($request->query->get('id')) + : $stops->getAllGroups(); + + return $this->json($result->all()); + } + + /** + * @Route("/search", methods={"GET"}) + */ + public function find(Request $request, StopRepository $stops) + { + $result = $request->query->has('name') + ? $stops->findGroupsByName($request->query->get('name')) + : $stops->getAllGroups(); + + return $this->json($result->all()); + } + + /** + * @Route("/{id}", methods={"GET"}) + */ + public function one(Request $request, StopRepository $stops, $id) + { + return $this->json($stops->getById($id)); + } +} \ No newline at end of file diff --git a/src/Exception/NonExistentServiceException.php b/src/Exception/NonExistentServiceException.php new file mode 100644 index 0000000..c2c6ba3 --- /dev/null +++ b/src/Exception/NonExistentServiceException.php @@ -0,0 +1,10 @@ +getProjectDir().'/var/cache/'.$this->environment; + } + + public function getLogDir() + { + return $this->getProjectDir().'/var/log'; + } + + public function registerBundles() + { + $contents = require $this->getProjectDir().'/config/bundles.php'; + foreach ($contents as $class => $envs) { + if (isset($envs['all']) || isset($envs[$this->environment])) { + yield new $class(); + } + } + } + + protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader) + { + $container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php')); + // Feel free to remove the "container.autowiring.strict_mode" parameter + // if you are using symfony/dependency-injection 4.0+ as it's the default behavior + $container->setParameter('container.autowiring.strict_mode', true); + $container->setParameter('container.dumper.inline_class_loader', true); + $confDir = $this->getProjectDir().'/config'; + + $loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{packages}/'.$this->environment.'/**/*'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob'); + } + + protected function configureRoutes(RouteCollectionBuilder $routes) + { + $confDir = $this->getProjectDir().'/config'; + + $routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob'); + $routes->import($confDir.'/{routes}/'.$this->environment.'/**/*'.self::CONFIG_EXTS, '/', 'glob'); + $routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob'); + } +} diff --git a/src/Model/AbstractModel.php b/src/Model/AbstractModel.php new file mode 100644 index 0000000..5fcb06f --- /dev/null +++ b/src/Model/AbstractModel.php @@ -0,0 +1,26 @@ +id = $id; + } + + /** + * @return mixed + */ + public function getId() + { + return $this->id; + } + +} \ No newline at end of file diff --git a/src/Model/Departure.php b/src/Model/Departure.php new file mode 100644 index 0000000..48894d1 --- /dev/null +++ b/src/Model/Departure.php @@ -0,0 +1,116 @@ +line; + } + + public function setLine(Line $line): void + { + $this->line = $line; + } + + public function getVehicle(): ?string + { + return $this->vehicle; + } + + public function setVehicle(?string $vehicle): void + { + $this->vehicle = $vehicle; + } + + public function getDisplay(): ?string + { + return $this->display; + } + + public function setDisplay(?string $display): void + { + $this->display = $display; + } + + public function getEstimated(): ?Carbon + { + return $this->estimated; + } + + public function setEstimated(?Carbon $estimated): void + { + $this->estimated = $estimated; + } + + public function getScheduled(): Carbon + { + return $this->scheduled; + } + + public function setScheduled(Carbon $scheduled): void + { + $this->scheduled = $scheduled; + } + + public function getStop(): Stop + { + return $this->stop; + } + + public function setStop(Stop $stop): void + { + $this->stop = $stop; + } + + public function getDelay(): ?int + { + return $this->getEstimated() + ? $this->getScheduled()->diffInSeconds($this->getEstimated(), false) + : null; + } +} \ No newline at end of file diff --git a/src/Model/FillTrait.php b/src/Model/FillTrait.php new file mode 100644 index 0000000..8edae3a --- /dev/null +++ b/src/Model/FillTrait.php @@ -0,0 +1,34 @@ + $value) { + switch (true) { + case method_exists($this, $setter = 'set' . strtoupper($name)): + $this->{$setter}($value); + break; + + case property_exists($this, $name) && (new \ReflectionProperty($this, $name))->isPublic(): + $this->$name = $value; + break; + } + } + } + + public static function createFromArray(array $vars = [], ...$args) + { + $object = empty($args) + ? (new \ReflectionClass(static::class))->newInstanceWithoutConstructor() + : new static(...$args); + + $object->fill($vars); + + return $object; + } +} \ No newline at end of file diff --git a/src/Model/Fillable.php b/src/Model/Fillable.php new file mode 100644 index 0000000..f63bf1b --- /dev/null +++ b/src/Model/Fillable.php @@ -0,0 +1,11 @@ +id; + } + + public function setId($id): void + { + $this->id = $id; + } + + public function getSymbol(): string + { + return $this->symbol; + } + + public function setSymbol(string $symbol): void + { + $this->symbol = $symbol; + } + + public function getVariant(): ?string + { + return $this->variant; + } + + public function setVariant(?string $variant): void + { + $this->variant = $variant; + } + + public function getType(): string + { + return $this->type; + } + + public function setType(string $type): void + { + $this->type = $type; + } +} \ No newline at end of file diff --git a/src/Model/Message.php b/src/Model/Message.php new file mode 100644 index 0000000..2099ada --- /dev/null +++ b/src/Model/Message.php @@ -0,0 +1,58 @@ +message; + } + + /** + * @param string $message + */ + public function setMessage(string $message): void + { + $this->message = $message; + } + + /** + * @return mixed + */ + public function getType() + { + return $this->type; + } + + /** + * @param mixed $type + */ + public function setType($type): void + { + $this->type = $type; + } +} \ No newline at end of file diff --git a/src/Model/Referable.php b/src/Model/Referable.php new file mode 100644 index 0000000..37585e4 --- /dev/null +++ b/src/Model/Referable.php @@ -0,0 +1,10 @@ +setId($id); + + return $reference; + } +} \ No newline at end of file diff --git a/src/Model/Stop.php b/src/Model/Stop.php new file mode 100644 index 0000000..f21e18a --- /dev/null +++ b/src/Model/Stop.php @@ -0,0 +1,142 @@ +id; + } + + /** + * @param mixed $id + */ + public function setId($id): void + { + $this->id = $id; + } + + /** + * @return string + */ + public function getName(): string + { + return $this->name; + } + + /** + * @param string $name + */ + public function setName(string $name): void + { + $this->name = $name; + } + + /** + * @return null|string + */ + public function getDescription(): ?string + { + return $this->description; + } + + /** + * @param null|string $description + */ + public function setDescription(?string $description): void + { + $this->description = $description; + } + + /** + * @return mixed + */ + public function getLocation() + { + return $this->location; + } + + /** + * @param mixed $location + */ + public function setLocation($location): void + { + $this->location = $location; + } + + /** + * @return null|string + */ + public function getVariant(): ?string + { + return $this->variant; + } + + /** + * @param null|string $variant + */ + public function setVariant(?string $variant): void + { + $this->variant = $variant; + } + + /** + * @return bool + */ + public function isOnDemand(): bool + { + return $this->onDemand; + } + + /** + * @param bool $onDemand + */ + public function setOnDemand(bool $onDemand): void + { + $this->onDemand = $onDemand; + } +} \ No newline at end of file diff --git a/src/Model/StopGroup.php b/src/Model/StopGroup.php new file mode 100644 index 0000000..5727352 --- /dev/null +++ b/src/Model/StopGroup.php @@ -0,0 +1,32 @@ +name; + } + + /** + * @param string $name + */ + public function setName(string $name): void + { + $this->name = $name; + } +} \ No newline at end of file diff --git a/src/Provider/DepartureRepository.php b/src/Provider/DepartureRepository.php new file mode 100644 index 0000000..706274c --- /dev/null +++ b/src/Provider/DepartureRepository.php @@ -0,0 +1,13 @@ +lines = $lines; + } + + public function getForStop(Stop $stop): Collection + { + try { + $estimates = json_decode(file_get_contents(static::ESTIMATES_URL . "?stopId=" . $stop->getId()), true)['delay']; + + return collect($estimates)->map(function ($delay) use ($stop) { + $scheduled = new Carbon($delay['theoreticalTime']); + $estimated = (clone $scheduled)->addSeconds($delay['delayInSeconds']); + + return Departure::createFromArray([ + 'scheduled' => $scheduled, + 'estimated' => $estimated, + 'stop' => $stop, + 'display' => trim($delay['headsign']), + 'vehicle' => $delay['vehicleCode'], + 'line' => Line::createFromArray([ + 'id' => $delay['id'], + 'symbol' => $delay['routeId'], + 'type' => $delay['routeId'] > 1 && $delay['routeId'] <= 12 ? Line::TYPE_TRAM : Line::TYPE_BUS + ]) + ]); + })->values(); + } catch (\Throwable $error) { + return collect(); + } + } +} \ No newline at end of file diff --git a/src/Provider/ZtmGdansk/ZtmGdanskLineRepository.php b/src/Provider/ZtmGdansk/ZtmGdanskLineRepository.php new file mode 100644 index 0000000..3d6e0bb --- /dev/null +++ b/src/Provider/ZtmGdansk/ZtmGdanskLineRepository.php @@ -0,0 +1,27 @@ +cache = $cache; + } + + public function getAllGroups(): Collection + { + $stops = $this->getAllStops(); + return $this->group($stops); + } + + public function findGroupsByName(string $name): Collection + { + if (empty($name)) { + return collect(); + } + + $stops = $this->getAllStops(); + $stops = $stops->filter(function (Stop $stop) use ($name) { + return stripos($stop->getName(), $name) !== false; + }); + + return $this->group($stops); + } + + public function getAllStops(): Collection + { + static $stops = null; + if ($stops === null) { + $stops = collect($this->queryZtmApi())->map(function ($stop) { + return Stop::createFromArray([ + 'id' => $stop['stopId'], + 'name' => trim($stop['stopName'] ?? $stop['stopDesc']), + 'variant' => trim($stop['zoneName'] == 'GdaÅ„sk' ? $stop['subName'] : null), + 'location' => [$stop['stopLat'], $stop['stopLon']], + 'onDemand' => (bool)$stop['onDemand'], + ]); + })->keyBy(function (Stop $stop) { + return $stop->getId(); + })->sort(function (Stop $a, Stop $b) { + return (int)$a->getVariant() <=> (int)$b->getVariant(); + }); + } + + return $stops; + } + + public function getById($id): ?Stop + { + return $this->getAllStops()->get($id); + } + + public function getManyById($ids): Collection + { + $stops = $this->getAllStops(); + + return collect($ids)->mapWithKeys(function ($id) use ($stops) { + return [$id => $stops[$id]]; + }); + } + + private function queryZtmApi() + { + $item = $this->cache->getItem('ztm-gdansk.stops'); + + if (!$item->isHit()) { + $stops = json_decode(file_get_contents(static::STOPS_URL), true); + + $item->expiresAfter(24 * 60 * 60); + $item->set($stops[date('Y-m-d')]['stops']); + + $this->cache->save($item); + } + + return $item->get(); + } + + private function group(Collection $stops) + { + return $stops->groupBy(function (Stop $stop) { + return $stop->getName(); + })->map(function ($group, $key) { + $group = new StopGroup($group); + $group->setName($key); + + return $group; + }); + } +} \ No newline at end of file diff --git a/src/Provider/ZtmGdanskProvider.php b/src/Provider/ZtmGdanskProvider.php new file mode 100644 index 0000000..befb94b --- /dev/null +++ b/src/Provider/ZtmGdanskProvider.php @@ -0,0 +1,49 @@ +lines = $lines; + $this->departures = $departures; + $this->stops = $stops; + $this->messages = $messages; + } + + public function getDepartureRepository(): DepartureRepository + { + return $this->departures; + } + + public function getLineRepository(): LineRepository + { + return $this->lines; + } + + public function getStopRepository(): StopRepository + { + return $this->stops; + } + + public function getMessageRepository(): MessageRepository + { + return $this->messages; + } +} \ No newline at end of file diff --git a/src/Service/ProviderParameterConverter.php b/src/Service/ProviderParameterConverter.php new file mode 100644 index 0000000..c874168 --- /dev/null +++ b/src/Service/ProviderParameterConverter.php @@ -0,0 +1,43 @@ +resolver = $resolver; + } + + public function apply(Request $request, ParamConverter $configuration) + { + $provider = $request->get('provider'); + + try { + $request->attributes->set('provider', $this->resolver->resolve($provider)); + } catch (NonExistentServiceException $exception) { + throw new NotFoundHttpException("There is no such provider as '$provider'.", $exception); + } + } + + public function supports(ParamConverter $configuration) + { + return $configuration->getName() === 'provider' && is_a($configuration->getClass(), Provider::class, true); + } +} \ No newline at end of file diff --git a/src/Service/ProviderResolver.php b/src/Service/ProviderResolver.php new file mode 100644 index 0000000..9aebe2e --- /dev/null +++ b/src/Service/ProviderResolver.php @@ -0,0 +1,46 @@ + ZtmGdanskProvider::class + ]; + + /** + * @var \Symfony\Component\DependencyInjection\ContainerInterface + */ + private $container; + + /** + * ProviderResolver constructor. + * + * @param \Symfony\Component\DependencyInjection\ContainerInterface $container + */ + public function __construct(\Symfony\Component\DependencyInjection\ContainerInterface $container) + { + $this->container = $container; + } + + /**\ + * @param string $name + * + * @return \App\Provider\Provider + * @throws \App\Exception\NonExistentServiceException + */ + public function resolve(string $name): Provider + { + if (!array_key_exists($name, static::PROVIDER)) { + throw new NonExistentServiceException(); + } + + return $this->container->get(static::PROVIDER[$name]); + } +} \ No newline at end of file diff --git a/src/Service/RepositoryParameterConverter.php b/src/Service/RepositoryParameterConverter.php new file mode 100644 index 0000000..baf6690 --- /dev/null +++ b/src/Service/RepositoryParameterConverter.php @@ -0,0 +1,77 @@ +resolver = $resolver; + } + + public function apply(Request $request, ParamConverter $configuration) + { + if (!$request->attributes->has('provider')) { + return false; + } + + $provider = $request->attributes->get('provider'); + + try { + $provider = $this->resolver->resolve($provider); + $class = $configuration->getClass(); + switch (true) { + case is_a($class, StopRepository::class, true): + $request->attributes->set($configuration->getName(), $provider->getStopRepository()); + break; + + case is_a($class, LineRepository::class, true): + $request->attributes->set($configuration->getName(), $provider->getLineRepository()); + break; + + case is_a($class, DepartureRepository::class, true): + $request->attributes->set($configuration->getName(), $provider->getDepartureRepository()); + break; + + default: + return false; + } + + return true; + } catch (NonExistentServiceException $exception) { + throw new NotFoundHttpException("There is no such provider as '$provider'.", $exception); + } + } + + public function supports(ParamConverter $configuration) + { + $instance = curry('is_a', 3)(_, _, true); + + return any( + $instance(StopRepository::class), + $instance(LineRepository::class), + $instance(DepartureRepository::class) + )($configuration->getClass()); + } +} \ No newline at end of file diff --git a/symfony.lock b/symfony.lock new file mode 100644 index 0000000..c2fe44e --- /dev/null +++ b/symfony.lock @@ -0,0 +1,206 @@ +{ + "doctrine/annotations": { + "version": "1.0", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "1.0", + "ref": "cb4152ebcadbe620ea2261da1a1c5a9b8cea7672" + } + }, + "doctrine/cache": { + "version": "v1.7.1" + }, + "doctrine/collections": { + "version": "v1.5.0" + }, + "doctrine/common": { + "version": "v2.9.0" + }, + "doctrine/event-manager": { + "version": "v1.0.0" + }, + "doctrine/inflector": { + "version": "v1.3.0" + }, + "doctrine/lexer": { + "version": "v1.0.1" + }, + "doctrine/persistence": { + "version": "v1.0.0" + }, + "doctrine/reflection": { + "version": "v1.0.0" + }, + "kadet/functional": { + "version": "dev-master" + }, + "nesbot/carbon": { + "version": "1.33.0" + }, + "phpdocumentor/reflection-common": { + "version": "1.0.1" + }, + "phpdocumentor/reflection-docblock": { + "version": "4.3.0" + }, + "phpdocumentor/type-resolver": { + "version": "0.4.0" + }, + "psr/cache": { + "version": "1.0.1" + }, + "psr/container": { + "version": "1.0.0" + }, + "psr/log": { + "version": "1.0.2" + }, + "psr/simple-cache": { + "version": "1.0.1" + }, + "sensio/framework-extra-bundle": { + "version": "5.2", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "5.2", + "ref": "fb7e19da7f013d0d422fa9bce16f5c510e27609b" + } + }, + "symfony/cache": { + "version": "v4.1.3" + }, + "symfony/config": { + "version": "v4.1.3" + }, + "symfony/console": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "e3868d2f4a5104f19f844fe551099a00c6562527" + } + }, + "symfony/debug": { + "version": "v4.1.3" + }, + "symfony/dependency-injection": { + "version": "v4.1.3" + }, + "symfony/dotenv": { + "version": "v4.1.3" + }, + "symfony/event-dispatcher": { + "version": "v4.1.3" + }, + "symfony/filesystem": { + "version": "v4.1.3" + }, + "symfony/finder": { + "version": "v4.1.3" + }, + "symfony/flex": { + "version": "1.0", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "1.0", + "ref": "e921bdbfe20cdefa3b82f379d1cd36df1bc8d115" + } + }, + "symfony/framework-bundle": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "87c585d24de9f43bca80ebcfd5cf5cb39445d95f" + } + }, + "symfony/http-foundation": { + "version": "v4.1.3" + }, + "symfony/http-kernel": { + "version": "v4.1.3" + }, + "symfony/inflector": { + "version": "v4.1.3" + }, + "symfony/polyfill-mbstring": { + "version": "v1.9.0" + }, + "symfony/polyfill-php72": { + "version": "v1.9.0" + }, + "symfony/process": { + "version": "v4.1.3" + }, + "symfony/property-access": { + "version": "v4.1.3" + }, + "symfony/property-info": { + "version": "v4.1.3" + }, + "symfony/routing": { + "version": "4.0", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "4.0", + "ref": "cda8b550123383d25827705d05a42acf6819fe4e" + } + }, + "symfony/serializer": { + "version": "v4.1.3" + }, + "symfony/serializer-pack": { + "version": "v1.0.1" + }, + "symfony/translation": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "6bcd6c570c017ea6ae5a7a6a027c929fd3542cd8" + } + }, + "symfony/twig-bridge": { + "version": "v4.1.3" + }, + "symfony/twig-bundle": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "f75ac166398e107796ca94cc57fa1edaa06ec47f" + } + }, + "symfony/var-dumper": { + "version": "v4.1.3" + }, + "symfony/web-server-bundle": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "dae9b39fd6717970be7601101ce5aa960bf53d9a" + } + }, + "symfony/yaml": { + "version": "v4.1.3" + }, + "tightenco/collect": { + "version": "v5.6.33" + }, + "twig/twig": { + "version": "v2.5.0" + }, + "webmozart/assert": { + "version": "1.3.0" + } +} diff --git a/templates/base.html.twig b/templates/base.html.twig new file mode 100644 index 0000000..35aabd2 --- /dev/null +++ b/templates/base.html.twig @@ -0,0 +1,17 @@ + + + + + {% block title %}Welcome!{% endblock %} + {% block stylesheets %}{% endblock %} + + + {% block body %} +
+ +
+ {% endblock %} + + {% block javascripts %}{% endblock %} + + diff --git a/translations/.gitignore b/translations/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..e6f36a5 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "lib": ["dom", "es2015", "es2016.array.include", "es2017.object"], + "experimentalDecorators": true, + "target": "es5", + "sourceMap": true, + "noImplicitThis": true, + "moduleResolution": "node", + "downlevelIteration": true + }, + "files": ["resources/ts/app.ts"] +} \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..d65d5ca --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,57 @@ +const path = require('path'); +const config = { + entry: { + main: ['./resources/ts/app.ts'], + }, + output: { + path: path.resolve('./public/'), + filename: "bundle.js", + }, + resolve: { + extensions: ['.tsx', '.ts', '.js'], + alias: { + 'vue$': 'vue/dist/vue.esm.js' + } + }, + module: { + rules: [{ + test: /\.svg$/, + include: [ + path.resolve('./resources/icons') + ], + use: ['raw-loader', { + loader: path.resolve('./resources/svg-icon-loader.js') + }] + },{ + test: /\.s[ac]ss$/, + use: ["style-loader", "css-loader?sourceMap", "sass-loader?sourceMap"] + }, { + test: /\.css$/, + use: ["style-loader", "css-loader"] + }, { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + }, { + test: /\.(png|svg|jpg|gif)$/, + use: 'file-loader', + exclude: [ + path.resolve('./resources/icons') + ] + }, { + test: /\.(woff|woff2|eot|ttf|otf)$/, + use: 'file-loader' + }, { + test: /\.html?$/, + use: 'raw-loader' + }] + }, +}; + +module.exports = (env, argv) => { + if (argv.mode === 'development') { + config.devtool = 'inline-source-map'; + } + + return config; +}; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..2b8ea52 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3597 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@fortawesome/fontawesome-common-types@^0.2.4": + version "0.2.4" + resolved "https://npm.fontawesome.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.4.tgz#7c560ff732c6c7c7c179ae25227ce5449e6f6d65" + +"@fortawesome/fontawesome-svg-core@^1.2.4": + version "1.2.4" + resolved "https://npm.fontawesome.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.4.tgz#2e40c65e66c7ad5aabc179a2d7c5827b1599905c" + dependencies: + "@fortawesome/fontawesome-common-types" "^0.2.4" + +"@fortawesome/pro-light-svg-icons@^5.3.1": + version "5.3.1" + resolved "https://npm.fontawesome.com/@fortawesome/pro-light-svg-icons/-/pro-light-svg-icons-5.3.1.tgz#186c9819d49987d248f2eede994ae9e7bc4354d3" + dependencies: + "@fortawesome/fontawesome-common-types" "^0.2.4" + +"@fortawesome/pro-regular-svg-icons@^5.3.1": + version "5.3.1" + resolved "https://npm.fontawesome.com/@fortawesome/pro-regular-svg-icons/-/pro-regular-svg-icons-5.3.1.tgz#79e835ae8b73a5d99782b503a1e3b3caa8f1fabc" + dependencies: + "@fortawesome/fontawesome-common-types" "^0.2.4" + +"@fortawesome/pro-solid-svg-icons@^5.3.1": + version "5.3.1" + resolved "https://npm.fontawesome.com/@fortawesome/pro-solid-svg-icons/-/pro-solid-svg-icons-5.3.1.tgz#b09c2cce921e8a2295ab8ac73499975b124eb953" + dependencies: + "@fortawesome/fontawesome-common-types" "^0.2.4" + +"@fortawesome/vue-fontawesome@^0.1.1": + version "0.1.1" + resolved "https://npm.fontawesome.com/@fortawesome/vue-fontawesome/-/vue-fontawesome-0.1.1.tgz#f54cad4028213a011c6ecb10eaf2b99dbd4a8496" + +"@types/bootstrap@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@types/bootstrap/-/bootstrap-4.1.2.tgz#3d6a3ea111e88ca926803a0e02b1f3d4c9913a5b" + dependencies: + "@types/jquery" "*" + popper.js "^1.14.1" + +"@types/jquery@*", "@types/jquery@^3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.6.tgz#5932ead926307ca21e5b36808257f7c926b06565" + +"@types/moment@^2.13.0": + version "2.13.0" + resolved "https://registry.yarnpkg.com/@types/moment/-/moment-2.13.0.tgz#604ebd189bc3bc34a1548689404e61a2a4aac896" + dependencies: + moment "*" + +"@types/popper.js@^1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@types/popper.js/-/popper.js-1.11.0.tgz#217a9231953ded26b15a6264f9942e963a8f6e69" + dependencies: + popper.js "*" + +"@webassemblyjs/ast@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.13.tgz#81155a570bd5803a30ec31436bc2c9c0ede38f25" + dependencies: + "@webassemblyjs/helper-module-context" "1.5.13" + "@webassemblyjs/helper-wasm-bytecode" "1.5.13" + "@webassemblyjs/wast-parser" "1.5.13" + debug "^3.1.0" + mamacro "^0.0.3" + +"@webassemblyjs/floating-point-hex-parser@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz#29ce0baa97411f70e8cce68ce9c0f9d819a4e298" + +"@webassemblyjs/helper-api-error@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz#e49b051d67ee19a56e29b9aa8bd949b5b4442a59" + +"@webassemblyjs/helper-buffer@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz#873bb0a1b46449231137c1262ddfd05695195a1e" + dependencies: + debug "^3.1.0" + +"@webassemblyjs/helper-code-frame@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz#1bd2181b6a0be14e004f0fe9f5a660d265362b58" + dependencies: + "@webassemblyjs/wast-printer" "1.5.13" + +"@webassemblyjs/helper-fsm@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz#cdf3d9d33005d543a5c5e5adaabf679ffa8db924" + +"@webassemblyjs/helper-module-context@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz#dc29ddfb51ed657655286f94a5d72d8a489147c5" + dependencies: + debug "^3.1.0" + mamacro "^0.0.3" + +"@webassemblyjs/helper-wasm-bytecode@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz#03245817f0a762382e61733146f5773def15a747" + +"@webassemblyjs/helper-wasm-section@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz#efc76f44a10d3073b584b43c38a179df173d5c7d" + dependencies: + "@webassemblyjs/ast" "1.5.13" + "@webassemblyjs/helper-buffer" "1.5.13" + "@webassemblyjs/helper-wasm-bytecode" "1.5.13" + "@webassemblyjs/wasm-gen" "1.5.13" + debug "^3.1.0" + +"@webassemblyjs/ieee754@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz#573e97c8c12e4eebb316ca5fde0203ddd90b0364" + dependencies: + ieee754 "^1.1.11" + +"@webassemblyjs/leb128@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.5.13.tgz#ab52ebab9cec283c1c1897ac1da833a04a3f4cee" + dependencies: + long "4.0.0" + +"@webassemblyjs/utf8@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.5.13.tgz#6b53d2cd861cf94fa99c1f12779dde692fbc2469" + +"@webassemblyjs/wasm-edit@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz#c9cef5664c245cf11b3b3a73110c9155831724a8" + dependencies: + "@webassemblyjs/ast" "1.5.13" + "@webassemblyjs/helper-buffer" "1.5.13" + "@webassemblyjs/helper-wasm-bytecode" "1.5.13" + "@webassemblyjs/helper-wasm-section" "1.5.13" + "@webassemblyjs/wasm-gen" "1.5.13" + "@webassemblyjs/wasm-opt" "1.5.13" + "@webassemblyjs/wasm-parser" "1.5.13" + "@webassemblyjs/wast-printer" "1.5.13" + debug "^3.1.0" + +"@webassemblyjs/wasm-gen@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz#8e6ea113c4b432fa66540189e79b16d7a140700e" + dependencies: + "@webassemblyjs/ast" "1.5.13" + "@webassemblyjs/helper-wasm-bytecode" "1.5.13" + "@webassemblyjs/ieee754" "1.5.13" + "@webassemblyjs/leb128" "1.5.13" + "@webassemblyjs/utf8" "1.5.13" + +"@webassemblyjs/wasm-opt@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz#147aad7717a7ee4211c36b21a5f4c30dddf33138" + dependencies: + "@webassemblyjs/ast" "1.5.13" + "@webassemblyjs/helper-buffer" "1.5.13" + "@webassemblyjs/wasm-gen" "1.5.13" + "@webassemblyjs/wasm-parser" "1.5.13" + debug "^3.1.0" + +"@webassemblyjs/wasm-parser@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz#6f46516c5bb23904fbdf58009233c2dd8a54c72f" + dependencies: + "@webassemblyjs/ast" "1.5.13" + "@webassemblyjs/helper-api-error" "1.5.13" + "@webassemblyjs/helper-wasm-bytecode" "1.5.13" + "@webassemblyjs/ieee754" "1.5.13" + "@webassemblyjs/leb128" "1.5.13" + "@webassemblyjs/utf8" "1.5.13" + +"@webassemblyjs/wast-parser@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz#5727a705d397ae6a3ae99d7f5460acf2ec646eea" + dependencies: + "@webassemblyjs/ast" "1.5.13" + "@webassemblyjs/floating-point-hex-parser" "1.5.13" + "@webassemblyjs/helper-api-error" "1.5.13" + "@webassemblyjs/helper-code-frame" "1.5.13" + "@webassemblyjs/helper-fsm" "1.5.13" + long "^3.2.0" + mamacro "^0.0.3" + +"@webassemblyjs/wast-printer@1.5.13": + version "1.5.13" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz#bb34d528c14b4f579e7ec11e793ec50ad7cd7c95" + dependencies: + "@webassemblyjs/ast" "1.5.13" + "@webassemblyjs/wast-parser" "1.5.13" + long "^3.2.0" + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +acorn-dynamic-import@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" + dependencies: + acorn "^5.0.0" + +acorn@^5.0.0, acorn@^5.6.2: + version "5.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" + +ajv-errors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.0.tgz#ecf021fa108fd17dfb5e6b383f2dd233e31ffc59" + +ajv-keywords@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" + +ajv@^5.1.0, ajv@^5.3.0: + version "5.5.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + +ajv@^6.1.0: + version "6.5.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.3.tgz#71a569d189ecf4f4f321224fecb166f071dd90f9" + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-escapes@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + dependencies: + color-convert "^1.9.0" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert@^1.1.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +atob@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.6.0, aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-js@^1.0.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + dependencies: + tweetnacl "^0.14.3" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + +binary-extensions@^1.0.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bluebird@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + +bootstrap@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.1.3.tgz#0eb371af2c8448e8c210411d0cb824a6409a12be" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.0, braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + dependencies: + pako "~1.0.5" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + +buffer@^4.3.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + +cacache@^10.0.4: + version "10.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" + dependencies: + bluebird "^3.5.1" + chownr "^1.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + lru-cache "^4.1.1" + mississippi "^2.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.2" + ssri "^5.2.4" + unique-filename "^1.1.0" + y18n "^4.0.0" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chardet@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.5.0.tgz#fe3ac73c00c3d865ffcc02a0682e2c20b6a06029" + +chokidar@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" + dependencies: + anymatch "^2.0.0" + async-each "^1.0.0" + braces "^2.3.0" + glob-parent "^3.1.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + lodash.debounce "^4.0.8" + normalize-path "^2.1.1" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + upath "^1.0.5" + optionalDependencies: + fsevents "^1.2.2" + +chownr@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" + +chrome-trace-event@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" + dependencies: + tslib "^1.9.0" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + dependencies: + restore-cursor "^2.0.0" + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +clone-deep@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713" + dependencies: + for-own "^1.0.0" + is-plain-object "^2.0.4" + kind-of "^6.0.0" + shallow-clone "^1.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.2" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147" + dependencies: + color-name "1.1.1" + +color-name@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" + +combined-stream@1.0.6, combined-stream@~1.0.5, combined-stream@~1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" + dependencies: + delayed-stream "~1.0.0" + +commander@~2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-loader@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.0.tgz#9f46aaa5ca41dbe31860e3b62b8e23c42916bf56" + dependencies: + babel-code-frame "^6.26.0" + css-selector-tokenizer "^0.7.0" + icss-utils "^2.1.0" + loader-utils "^1.0.2" + lodash.camelcase "^4.3.0" + postcss "^6.0.23" + postcss-modules-extract-imports "^1.2.0" + postcss-modules-local-by-default "^1.2.0" + postcss-modules-scope "^1.1.0" + postcss-modules-values "^1.3.0" + postcss-value-parser "^3.3.0" + source-list-map "^2.0.0" + +css-selector-tokenizer@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" + dependencies: + cssesc "^0.1.0" + fastparse "^1.1.1" + regexpu-core "^1.0.0" + +cssesc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +cyclist@~0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +debug@^2.1.2, debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +debug@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + dependencies: + ms "2.0.0" + +decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decamelize@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" + dependencies: + xregexp "4.0.0" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +elliptic@^6.0.0: + version "6.4.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + tapable "^1.0.0" + +errno@^0.1.3, errno@~0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + dependencies: + is-arrayish "^0.2.1" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +eslint-scope@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + dependencies: + estraverse "^4.1.0" + +estraverse@^4.1.0, estraverse@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +events@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.1, extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + +external-editor@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.1.tgz#fc9638c4d7cde4f0bb82b12307a1a23912c492e3" + dependencies: + chardet "^0.5.0" + iconv-lite "^0.4.22" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +fast-deep-equal@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + +fastparse@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + dependencies: + escape-string-regexp "^1.0.5" + +file-loader@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-2.0.0.tgz#39749c82f020b9e85901dcff98e8004e6401cfde" + dependencies: + loader-utils "^1.0.2" + schema-utils "^1.0.0" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^2.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + dependencies: + locate-path "^3.0.0" + +flush-write-stream@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.4" + +for-in@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.3.1, form-data@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" + dependencies: + asynckit "^0.4.0" + combined-stream "1.0.6" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + dependencies: + map-cache "^0.2.2" + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + dependencies: + minipass "^2.2.1" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +fstream@^1.0.0, fstream@^1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + dependencies: + globule "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2, glob@~7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules-path@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.0.tgz#b0e2bac6beac39745f7db5c59d26a36a0b94f7dc" + +globule@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" + dependencies: + glob "~7.1.1" + lodash "~4.17.10" + minimatch "~3.0.2" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + +har-validator@~5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" + dependencies: + ajv "^5.1.0" + har-schema "^2.0.0" + +har-validator@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.0.tgz#44657f5688a22cfd4b72486e81b3a3fb11742c29" + dependencies: + ajv "^5.3.0" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.5" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812" + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.7.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + +iconv-lite@^0.4.22, iconv-lite@^0.4.4: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + +icss-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" + dependencies: + postcss "^6.0.1" + +ieee754@^1.1.11, ieee754@^1.1.4: + version "1.1.12" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + dependencies: + minimatch "^3.0.4" + +import-local@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" + dependencies: + pkg-dir "^2.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +in-publish@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +inquirer@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.1.0.tgz#8f65c7b31c498285f4ddf3b742ad8c487892040b" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.0" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.1.0" + string-width "^2.1.0" + strip-ansi "^4.0.0" + through "^2.3.6" + +interpret@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + dependencies: + is-extglob "^2.1.1" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +jquery@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca" + +js-base64@^2.1.8: + version "2.4.8" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.8.tgz#57a9b130888f956834aa40c5b165ba59c758f033" + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +loader-runner@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" + +loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +lodash.assign@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + +lodash.clonedeep@^4.3.2: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + +lodash.mergewith@^4.6.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" + +lodash.tail@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" + +lodash@^4.0.0, lodash@^4.3.0, lodash@~4.17.10: + version "4.17.10" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" + +long@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + +long@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lru-cache@^4.0.1, lru-cache@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + dependencies: + pify "^3.0.0" + +mamacro@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + dependencies: + object-visit "^1.0.0" + +md5.js@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + dependencies: + mimic-fn "^1.0.0" + +memory-fs@^0.4.0, memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +micromatch@^3.1.4, micromatch@^3.1.8: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@~1.35.0: + version "1.35.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.35.0.tgz#0569d657466491283709663ad379a99b90d9ab47" + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19: + version "2.1.19" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.19.tgz#71e464537a7ef81c15f2db9d97e913fc0ff606f0" + dependencies: + mime-db "~1.35.0" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + +"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minipass@^2.2.1, minipass@^2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.4.tgz#4768d7605ed6194d6d576169b9e12ef71e9d9957" + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" + dependencies: + minipass "^2.2.1" + +mississippi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^2.0.1" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mixin-object@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + dependencies: + for-in "^0.1.3" + is-extendable "^0.1.1" + +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +moment@*, moment@^2.22.2: + version "2.22.2" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + +nan@^2.10.0, nan@^2.9.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +needle@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.2.tgz#1120ca4c41f2fcc6976fd28a8968afe239929418" + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" + +neo-async@^2.5.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.2.tgz#489105ce7bc54e709d736b195f82135048c50fcc" + +nice-try@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4" + +node-gyp@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "^2.87.0" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + +node-libs-browser@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^1.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.0" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.10.3" + vm-browserify "0.0.4" + +node-pre-gyp@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +node-sass@^4.9.3: + version "4.9.3" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.3.tgz#f407cf3d66f78308bb1e346b24fa428703196224" + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash.assign "^4.2.0" + lodash.clonedeep "^4.3.2" + lodash.mergewith "^4.6.0" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.10.0" + node-gyp "^3.8.0" + npmlog "^4.0.0" + request "2.87.0" + sass-graph "^2.2.4" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" + +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +npm-bundled@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" + +npm-packlist@^1.1.6: + version "1.1.11" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.11.tgz#84e8c683cbe7867d34b1d357d893ce29e28a02de" + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + dependencies: + isobject "^3.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + dependencies: + mimic-fn "^1.0.0" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@0, osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz#e624ed54ee8c460a778b3c9f3670496ff8a57aec" + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + dependencies: + p-limit "^2.0.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + +p-try@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" + +pako@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" + +parallel-transform@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" + dependencies: + cyclist "~0.2.2" + inherits "^2.0.3" + readable-stream "^2.1.5" + +parse-asn1@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + +path-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pbkdf2@^3.0.3: + version "3.0.16" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + dependencies: + find-up "^2.1.0" + +popper.js@*, popper.js@^1.14.1, popper.js@^1.14.4: + version "1.14.4" + resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.4.tgz#8eec1d8ff02a5a3a152dd43414a15c7b79fd69b6" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + +postcss-modules-extract-imports@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" + dependencies: + postcss "^6.0.1" + +postcss-modules-local-by-default@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-scope@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-values@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" + +postcss-value-parser@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + +postcss@^6.0.1, postcss@^6.0.23: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +psl@^1.1.24: + version "1.1.29" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67" + +public-encrypt@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + +pump@^2.0.0, pump@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + +qs@~6.5.1, qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +raw-loader@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +regenerate@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpu-core@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +request@2.87.0: + version "2.87.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.6.0" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.1" + forever-agent "~0.6.1" + form-data "~2.3.1" + har-validator "~5.0.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.17" + oauth-sign "~0.8.2" + performance-now "^2.1.0" + qs "~6.5.1" + safe-buffer "^5.1.1" + tough-cookie "~2.3.3" + tunnel-agent "^0.6.0" + uuid "^3.1.0" + +request@^2.87.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + +rimraf@2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + dependencies: + is-promise "^2.1.0" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + dependencies: + aproba "^1.1.1" + +rxjs@^6.1.0: + version "6.2.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.2.tgz#eb75fa3c186ff5289907d06483a77884586e1cf9" + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + +sass-graph@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^7.0.0" + +sass-loader@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.1.0.tgz#16fd5138cb8b424bf8a759528a1972d72aad069d" + dependencies: + clone-deep "^2.0.1" + loader-utils "^1.0.1" + lodash.tail "^4.1.1" + neo-async "^2.5.0" + pify "^3.0.0" + semver "^5.5.0" + +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +schema-utils@^0.4.4, schema-utils@^0.4.5: + version "0.4.7" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" + dependencies: + ajv "^6.1.0" + ajv-keywords "^3.1.0" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + +"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.3.0, semver@^5.5.0: + version "5.5.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477" + +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +serialize-javascript@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.5.0.tgz#1aa336162c88a890ddad5384baebc93a655161fe" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-1.0.0.tgz#4480cd06e882ef68b2ad88a3ea54832e2c48b571" + dependencies: + is-extendable "^0.1.1" + kind-of "^5.0.0" + mixin-object "^2.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-list-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + +source-map@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + +spdx-correct@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + dependencies: + extend-shallow "^3.0.0" + +sshpk@^1.7.0: + version "1.14.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + safer-buffer "^2.0.2" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +ssri@^5.2.4: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" + dependencies: + safe-buffer "^5.1.1" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stdout-stream@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b" + dependencies: + readable-stream "^2.0.1" + +stream-browserify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@^1.0.0, string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +style-loader@^0.22.1: + version "0.22.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.22.1.tgz#901ea28aac78fcc00c5075585ac07d7ef3f87a52" + dependencies: + loader-utils "^1.1.0" + schema-utils "^0.4.5" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^5.3.0, supports-color@^5.4.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + dependencies: + has-flag "^3.0.0" + +tapable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" + +tar@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +tar@^4: + version "4.4.6" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.6.tgz#63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b" + dependencies: + chownr "^1.0.1" + fs-minipass "^1.2.5" + minipass "^2.3.3" + minizlib "^1.1.0" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + +through2@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +timers-browserify@^2.0.4: + version "2.0.10" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" + dependencies: + setimmediate "^1.0.4" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + dependencies: + os-tmpdir "~1.0.2" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@~2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" + dependencies: + punycode "^1.4.1" + +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +"true-case-path@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.2.tgz#7ec91130924766c7f573be3020c34f8fdfd00d62" + dependencies: + glob "^6.0.4" + +ts-loader@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-4.5.0.tgz#a1ce70b2dc799941fb2197605f0d67874097859b" + dependencies: + chalk "^2.3.0" + enhanced-resolve "^4.0.0" + loader-utils "^1.0.2" + micromatch "^3.1.4" + semver "^5.0.1" + +tslib@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +typescript@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.0.1.tgz#43738f29585d3a87575520a4b93ab6026ef11fdb" + +uglify-es@^3.3.4: + version "3.3.9" + resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" + dependencies: + commander "~2.13.0" + source-map "~0.6.1" + +uglifyjs-webpack-plugin@^1.2.4: + version "1.3.0" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz#75f548160858163a08643e086d5fefe18a5d67de" + dependencies: + cacache "^10.0.4" + find-cache-dir "^1.0.0" + schema-utils "^0.4.5" + serialize-javascript "^1.4.0" + source-map "^0.6.1" + uglify-es "^3.3.4" + webpack-sources "^1.1.0" + worker-farm "^1.5.2" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +unique-filename@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3" + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab" + dependencies: + imurmurhash "^0.1.4" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +util@^0.10.3: + version "0.10.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" + dependencies: + inherits "2.0.3" + +uuid@^3.1.0, uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + +v8-compile-cache@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +vue-class-component@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/vue-class-component/-/vue-class-component-6.2.0.tgz#7adb1daa9a868c75f30f97f33f4f1b94aee62089" + +vue-property-decorator@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/vue-property-decorator/-/vue-property-decorator-7.0.0.tgz#46f53dd741eb86c3af091bb0492400c450eebf19" + dependencies: + vue-class-component "^6.2.0" + +vue@^2.5.17: + version "2.5.17" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.5.17.tgz#0f8789ad718be68ca1872629832ed533589c6ada" + +watchpack@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" + dependencies: + chokidar "^2.0.2" + graceful-fs "^4.1.2" + neo-async "^2.5.0" + +webpack-cli@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.1.0.tgz#d71a83687dcfeb758fdceeb0fe042f96bcf62994" + dependencies: + chalk "^2.4.1" + cross-spawn "^6.0.5" + enhanced-resolve "^4.0.0" + global-modules-path "^2.1.0" + import-local "^1.0.0" + inquirer "^6.0.0" + interpret "^1.1.0" + loader-utils "^1.1.0" + supports-color "^5.4.0" + v8-compile-cache "^2.0.0" + yargs "^12.0.1" + +webpack-sources@^1.0.1, webpack-sources@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^4.17.0: + version "4.17.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.17.0.tgz#7e8df9529dd5fca65c700b3341a001aeae27c749" + dependencies: + "@webassemblyjs/ast" "1.5.13" + "@webassemblyjs/helper-module-context" "1.5.13" + "@webassemblyjs/wasm-edit" "1.5.13" + "@webassemblyjs/wasm-opt" "1.5.13" + "@webassemblyjs/wasm-parser" "1.5.13" + acorn "^5.6.2" + acorn-dynamic-import "^3.0.0" + ajv "^6.1.0" + ajv-keywords "^3.1.0" + chrome-trace-event "^1.0.0" + enhanced-resolve "^4.1.0" + eslint-scope "^4.0.0" + json-parse-better-errors "^1.0.2" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + micromatch "^3.1.8" + mkdirp "~0.5.0" + neo-async "^2.5.0" + node-libs-browser "^2.0.0" + schema-utils "^0.4.4" + tapable "^1.0.0" + uglifyjs-webpack-plugin "^1.2.4" + watchpack "^1.5.0" + webpack-sources "^1.0.1" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + +which@1, which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + dependencies: + string-width "^1.0.2 || 2" + +worker-farm@^1.5.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" + dependencies: + errno "~0.1.7" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +xmldom@^0.1.27: + version "0.1.27" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" + +xpath@^0.0.27: + version "0.0.27" + resolved "https://registry.yarnpkg.com/xpath/-/xpath-0.0.27.tgz#dd3421fbdcc5646ac32c48531b4d7e9d0c2cfa92" + +xregexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" + +yargs-parser@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + dependencies: + camelcase "^4.1.0" + +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + dependencies: + camelcase "^3.0.0" + +yargs@^12.0.1: + version "12.0.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.1.tgz#6432e56123bb4e7c3562115401e98374060261c2" + dependencies: + cliui "^4.0.0" + decamelize "^2.0.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^10.1.0" + +yargs@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.0"