From ca1886b0df8ae772ffb6cbe4f1b67a5b7ef60d71 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 26 Dec 2020 21:23:15 +0000 Subject: [PATCH 01/17] Initial commit --- .env | 19 + .gitignore | 10 + bin/console | 43 + composer.json | 66 + composer.lock | 3293 +++++++++++++++++++ config/bundles.php | 9 + config/packages/cache.yaml | 19 + config/packages/framework.yaml | 17 + config/packages/prod/routing.yaml | 3 + config/packages/routing.yaml | 7 + config/packages/sensio_framework_extra.yaml | 3 + config/packages/test/framework.yaml | 4 + config/packages/test/twig.yaml | 2 + config/packages/twig.yaml | 2 + config/preload.php | 5 + config/routes.yaml | 3 + config/routes/annotations.yaml | 7 + config/routes/dev/framework.yaml | 3 + config/services.yaml | 31 + public/index.php | 22 + src/Controller/.gitignore | 0 src/Kernel.php | 38 + symfony.lock | 218 ++ templates/html.html.twig | 12 + 24 files changed, 3836 insertions(+) create mode 100644 .env 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/cache.yaml create mode 100644 config/packages/framework.yaml create mode 100644 config/packages/prod/routing.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/test/twig.yaml create mode 100644 config/packages/twig.yaml create mode 100644 config/preload.php create mode 100644 config/routes.yaml create mode 100644 config/routes/annotations.yaml create mode 100644 config/routes/dev/framework.yaml create mode 100644 config/services.yaml create mode 100644 public/index.php create mode 100644 src/Controller/.gitignore create mode 100644 src/Kernel.php create mode 100644 symfony.lock create mode 100644 templates/html.html.twig diff --git a/.env b/.env new file mode 100644 index 0000000..878d30c --- /dev/null +++ b/.env @@ -0,0 +1,19 @@ +# In all environments, the following files are loaded if they exist, +# the latter taking precedence over the former: +# +# * .env contains default values for the environment variables needed by the app +# * .env.local uncommitted file with local overrides +# * .env.$APP_ENV committed environment-specific defaults +# * .env.$APP_ENV.local uncommitted environment-specific overrides +# +# Real environment variables win over .env files. +# +# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES. +# +# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2). +# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration + +###> symfony/framework-bundle ### +APP_ENV=dev +APP_SECRET=46fa47144047c93268cbab44bb33a01d +###< symfony/framework-bundle ### diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a67f91e --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ + +###> symfony/framework-bundle ### +/.env.local +/.env.local.php +/.env.*.local +/config/secrets/prod/prod.decrypt.private.php +/public/bundles/ +/var/ +/vendor/ +###< symfony/framework-bundle ### diff --git a/bin/console b/bin/console new file mode 100755 index 0000000..8fe9d49 --- /dev/null +++ b/bin/console @@ -0,0 +1,43 @@ +#!/usr/bin/env php +getParameterOption(['--env', '-e'], null, true)) { + putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env); +} + +if ($input->hasParameterOption('--no-debug', true)) { + putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0'); +} + +(new Dotenv())->bootEnv(dirname(__DIR__).'/.env'); + +if ($_SERVER['APP_DEBUG']) { + umask(0000); + + if (class_exists(Debug::class)) { + Debug::enable(); + } +} + +$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); +$application = new Application($kernel); +$application->run($input); diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..c2f012d --- /dev/null +++ b/composer.json @@ -0,0 +1,66 @@ +{ + "type": "project", + "license": "proprietary", + "minimum-stability": "dev", + "prefer-stable": true, + "require": { + "php": ">=7.2.5", + "ext-ctype": "*", + "ext-iconv": "*", + "sensio/framework-extra-bundle": "^5.6", + "symfony/console": "5.2.*", + "symfony/dotenv": "5.2.*", + "symfony/flex": "^1.3.1", + "symfony/framework-bundle": "5.2.*", + "symfony/maker-bundle": "^1.26", + "symfony/twig-bundle": "5.2.*", + "symfony/yaml": "5.2.*", + "twig/extra-bundle": "^2.12|^3.0", + "twig/twig": "^2.12|^3.0" + }, + "require-dev": { + }, + "config": { + "optimize-autoloader": true, + "preferred-install": { + "*": "dist" + }, + "sort-packages": true + }, + "autoload": { + "psr-4": { + "App\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "App\\Tests\\": "tests/" + } + }, + "replace": { + "symfony/polyfill-ctype": "*", + "symfony/polyfill-iconv": "*", + "symfony/polyfill-php72": "*" + }, + "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": "5.2.*" + } + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..983b431 --- /dev/null +++ b/composer.lock @@ -0,0 +1,3293 @@ +{ + "_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": "78370320905a72a021718c801ce79a79", + "packages": [ + { + "name": "doctrine/annotations", + "version": "1.11.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "ce77a7ba1770462cd705a91a151b6c3746f9c6ad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/ce77a7ba1770462cd705a91a151b6c3746f9c6ad", + "reference": "ce77a7ba1770462cd705a91a151b6c3746f9c6ad", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "ext-tokenizer": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/cache": "1.*", + "doctrine/coding-standard": "^6.0 || ^8.1", + "phpstan/phpstan": "^0.12.20", + "phpunit/phpunit": "^7.5 || ^9.1.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2020-10-26T10:28:16+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^7.0", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-strict-rules": "^0.11", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2020-05-29T15:13:26+00:00" + }, + { + "name": "doctrine/lexer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11.8", + "phpunit/phpunit": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2020-05-25T17:44:05+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.10.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2020-12-20T10:01:03+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/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/log", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.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": "2020-03-23T09:12:05+00:00" + }, + { + "name": "sensio/framework-extra-bundle", + "version": "v5.6.1", + "source": { + "type": "git", + "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", + "reference": "430d14c01836b77c28092883d195a43ce413ee32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/430d14c01836b77c28092883d195a43ce413ee32", + "reference": "430d14c01836b77c28092883d195a43ce413ee32", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "php": ">=7.2.5", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/framework-bundle": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0" + }, + "conflict": { + "doctrine/doctrine-cache-bundle": "<1.3.1", + "doctrine/persistence": "<1.3" + }, + "require-dev": { + "doctrine/dbal": "^2.10|^3.0", + "doctrine/doctrine-bundle": "^1.11|^2.0", + "doctrine/orm": "^2.5", + "nyholm/psr7": "^1.1", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/doctrine-bridge": "^4.4|^5.0", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/monolog-bridge": "^4.0|^5.0", + "symfony/monolog-bundle": "^3.2", + "symfony/phpunit-bridge": "^4.4.9|^5.0.9", + "symfony/psr-http-message-bridge": "^1.1", + "symfony/security-bundle": "^4.4|^5.0", + "symfony/twig-bundle": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0", + "twig/twig": "^1.34|^2.4|^3.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "5.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Sensio\\Bundle\\FrameworkExtraBundle\\": "src/" + }, + "exclude-from-classmap": [ + "/tests/" + ] + }, + "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": "2020-08-25T19:10:18+00:00" + }, + { + "name": "symfony/cache", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "5e61d63b1ef4fb4852994038267ad45e12f3ec52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/5e61d63b1ef4fb4852994038267ad45e12f3ec52", + "reference": "5e61d63b1ef4fb4852994038267ad45e12f3ec52", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/cache": "~1.0", + "psr/log": "^1.1", + "symfony/cache-contracts": "^1.1.7|^2", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "conflict": { + "doctrine/dbal": "<2.10", + "symfony/dependency-injection": "<4.4", + "symfony/http-kernel": "<4.4", + "symfony/var-dumper": "<4.4" + }, + "provide": { + "psr/cache-implementation": "1.0", + "psr/simple-cache-implementation": "1.0", + "symfony/cache-implementation": "1.0" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/cache": "^1.6", + "doctrine/dbal": "^2.10|^3.0", + "predis/predis": "^1.1", + "psr/simple-cache": "^1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/filesystem": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/messenger": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "type": "library", + "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" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-10T19:16:15+00:00" + }, + { + "name": "symfony/cache-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache-contracts.git", + "reference": "8034ca0b61d4dd967f3698aaa1da2507b631d0cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/8034ca0b61d4dd967f3698aaa1da2507b631d0cb", + "reference": "8034ca0b61d4dd967f3698aaa1da2507b631d0cb", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/cache": "^1.0" + }, + "suggest": { + "symfony/cache-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Cache\\": "" + } + }, + "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": "Generic abstractions related to caching", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/config", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "d0a82d965296083fe463d655a3644cbe49cbaa80" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/d0a82d965296083fe463d655a3644cbe49cbaa80", + "reference": "d0a82d965296083fe463d655a3644cbe49cbaa80", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/filesystem": "^4.4|^5.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/finder": "<4.4" + }, + "require-dev": { + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/messenger": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "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", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-09T18:54:12+00:00" + }, + { + "name": "symfony/console", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "47c02526c532fb381374dab26df05e7313978976" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/47c02526c532fb381374dab26df05e7313978976", + "reference": "47c02526c532fb381374dab26df05e7313978976", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" + }, + "conflict": { + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "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", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-18T08:03:05+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "7f8a9e9eff0581a33e20f6c5d41096fe22832d25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/7f8a9e9eff0581a33e20f6c5d41096fe22832d25", + "reference": "7f8a9e9eff0581a33e20f6c5d41096fe22832d25", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.0", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1.6|^2" + }, + "conflict": { + "symfony/config": "<5.1", + "symfony/finder": "<4.4", + "symfony/proxy-manager-bridge": "<4.4", + "symfony/yaml": "<4.4" + }, + "provide": { + "psr/container-implementation": "1.0", + "symfony/service-implementation": "1.0" + }, + "require-dev": { + "symfony/config": "^5.1", + "symfony/expression-language": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.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", + "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", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-18T08:03:05+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.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": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/dotenv", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/dotenv.git", + "reference": "204a9dc6f70a13d9d24ebbf2c5ce51be235f3d7b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/204a9dc6f70a13d9d24ebbf2c5ce51be235f3d7b", + "reference": "204a9dc6f70a13d9d24ebbf2c5ce51be235f3d7b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1" + }, + "require-dev": { + "symfony/process": "^4.4|^5.0" + }, + "type": "library", + "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" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-08T17:02:38+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "59b190ce16ddf32771a22087b60f6dafd3407147" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/59b190ce16ddf32771a22087b60f6dafd3407147", + "reference": "59b190ce16ddf32771a22087b60f6dafd3407147", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/var-dumper": "^4.4|^5.0" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.1", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "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 ErrorHandler Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-09T18:54:12+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "1c93f7a1dff592c252574c79a8635a8a80856042" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1c93f7a1dff592c252574c79a8635a8a80856042", + "reference": "1c93f7a1dff592c252574c79a8635a8a80856042", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher-contracts": "^2", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/dependency-injection": "<4.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/error-handler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/stopwatch": "^4.4|^5.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "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", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-18T08:03:05+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2", + "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "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": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "fa8f8cab6b65e2d99a118e082935344c5ba8c60d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/fa8f8cab6b65e2d99a118e082935344c5ba8c60d", + "reference": "fa8f8cab6b65e2d99a118e082935344c5ba8c60d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "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", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-11-30T17:05:38+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/0b9231a5922fd7287ba5b411893c0ecd2733e5ba", + "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "type": "library", + "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", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-08T17:02:38+00:00" + }, + { + "name": "symfony/flex", + "version": "v1.11.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/flex.git", + "reference": "ceb2b4e612bd0b4bb36a4d7fb2e800c861652f48" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/flex/zipball/ceb2b4e612bd0b4bb36a4d7fb2e800c861652f48", + "reference": "ceb2b4e612bd0b4bb36a4d7fb2e800c861652f48", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0|^2.0", + "php": ">=7.1" + }, + "require-dev": { + "composer/composer": "^1.0.2|^2.0", + "symfony/dotenv": "^4.4|^5.0", + "symfony/filesystem": "^4.4|^5.0", + "symfony/phpunit-bridge": "^4.4|^5.0", + "symfony/process": "^3.4|^4.4|^5.0" + }, + "type": "composer-plugin", + "extra": { + "branch-alias": { + "dev-main": "1.9-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", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-03T10:57:35+00:00" + }, + { + "name": "symfony/framework-bundle", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/framework-bundle.git", + "reference": "0663407ca5ad12e2e3fe657b32266904b3dc1e3f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/0663407ca5ad12e2e3fe657b32266904b3dc1e3f", + "reference": "0663407ca5ad12e2e3fe657b32266904b3dc1e3f", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=7.2.5", + "symfony/cache": "^5.2", + "symfony/config": "^5.0", + "symfony/dependency-injection": "^5.2", + "symfony/deprecation-contracts": "^2.1", + "symfony/error-handler": "^4.4.1|^5.0.1", + "symfony/event-dispatcher": "^5.1", + "symfony/filesystem": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-foundation": "^5.2.1", + "symfony/http-kernel": "^5.2.1", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/routing": "^5.2" + }, + "conflict": { + "doctrine/persistence": "<1.3", + "phpdocumentor/reflection-docblock": "<3.0", + "phpdocumentor/type-resolver": "<0.2.1", + "phpunit/phpunit": "<5.4.3", + "symfony/asset": "<5.1", + "symfony/browser-kit": "<4.4", + "symfony/console": "<5.2", + "symfony/dom-crawler": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/form": "<5.2", + "symfony/http-client": "<4.4", + "symfony/lock": "<4.4", + "symfony/mailer": "<5.2", + "symfony/messenger": "<4.4", + "symfony/mime": "<4.4", + "symfony/property-access": "<5.2", + "symfony/property-info": "<4.4", + "symfony/serializer": "<5.2", + "symfony/stopwatch": "<4.4", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<4.4", + "symfony/twig-bundle": "<4.4", + "symfony/validator": "<5.2", + "symfony/web-profiler-bundle": "<4.4", + "symfony/workflow": "<5.2" + }, + "require-dev": { + "doctrine/annotations": "~1.7", + "doctrine/cache": "~1.0", + "paragonie/sodium_compat": "^1.8", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/asset": "^5.1", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/console": "^5.2", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/dotenv": "^5.1", + "symfony/expression-language": "^4.4|^5.0", + "symfony/form": "^5.2", + "symfony/http-client": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/mailer": "^5.2", + "symfony/messenger": "^5.2", + "symfony/mime": "^4.4|^5.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/process": "^4.4|^5.0", + "symfony/property-info": "^4.4|^5.0", + "symfony/security-bundle": "^5.1", + "symfony/security-csrf": "^4.4|^5.0", + "symfony/security-http": "^4.4|^5.0", + "symfony/serializer": "^5.2", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/string": "^5.0", + "symfony/translation": "^5.0", + "symfony/twig-bundle": "^4.4|^5.0", + "symfony/validator": "^5.2", + "symfony/web-link": "^4.4|^5.0", + "symfony/workflow": "^5.2", + "symfony/yaml": "^4.4|^5.0", + "twig/twig": "^2.10|^3.0" + }, + "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", + "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", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-18T11:40:59+00:00" + }, + { + "name": "symfony/http-client-contracts", + "version": "v2.3.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "41db680a15018f9c1d4b23516059633ce280ca33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33", + "reference": "41db680a15018f9c1d4b23516059633ce280ca33", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/http-client-implementation": "" + }, + "type": "library", + "extra": { + "branch-version": "2.3", + "branch-alias": { + "dev-main": "2.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + } + }, + "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": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-14T17:08:19+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a1f6218b29897ab52acba58cfa905b83625bef8d", + "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.15" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/cache": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" + }, + "type": "library", + "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", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-18T10:00:10+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1feb619286d819180f7b8bc0dc44f516d9c62647", + "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "~1.0", + "symfony/deprecation-contracts": "^2.1", + "symfony/error-handler": "^4.4|^5.0", + "symfony/event-dispatcher": "^5.0", + "symfony/http-client-contracts": "^1.1|^2", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/browser-kit": "<4.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<5.1.8", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.4" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/cache": "~1.0", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/config": "^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dependency-injection": "^5.1.8", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "twig/twig": "^2.4|^3.0" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "" + }, + "type": "library", + "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", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-18T13:49:39+00:00" + }, + { + "name": "symfony/maker-bundle", + "version": "v1.26.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/maker-bundle.git", + "reference": "0f1d3ed2584349dc8700d7908e8a92b3742b1c99" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/0f1d3ed2584349dc8700d7908e8a92b3742b1c99", + "reference": "0f1d3ed2584349dc8700d7908e8a92b3742b1c99", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^1.2|^2.0", + "nikic/php-parser": "^4.0", + "php": ">=7.1.3", + "symfony/config": "^3.4|^4.0|^5.0", + "symfony/console": "^3.4|^4.0|^5.0", + "symfony/dependency-injection": "^3.4|^4.0|^5.0", + "symfony/deprecation-contracts": "^2.2", + "symfony/filesystem": "^3.4|^4.0|^5.0", + "symfony/finder": "^3.4|^4.0|^5.0", + "symfony/framework-bundle": "^3.4|^4.0|^5.0", + "symfony/http-kernel": "^3.4|^4.0|^5.0" + }, + "require-dev": { + "composer/semver": "^3.0@dev", + "doctrine/doctrine-bundle": "^1.8|^2.0", + "doctrine/orm": "^2.3", + "friendsofphp/php-cs-fixer": "^2.8", + "friendsoftwig/twigcs": "^3.1.2", + "symfony/http-client": "^4.3|^5.0", + "symfony/phpunit-bridge": "^4.3|^5.0", + "symfony/process": "^3.4|^4.0|^5.0", + "symfony/security-core": "^3.4|^4.0|^5.0", + "symfony/yaml": "^3.4|^4.0|^5.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-main": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\MakerBundle\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.", + "homepage": "https://symfony.com/doc/current/bundles/SymfonyMakerBundle/index.html", + "keywords": [ + "code generator", + "generator", + "scaffold", + "scaffolding" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-18T17:08:39+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c", + "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "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 intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "727d1096295d807c309fb01a851577302394c897" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/727d1096295d807c309fb01a851577302394c897", + "reference": "727d1096295d807c309fb01a851577302394c897", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "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 intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "39d483bdf39be819deabf04ec872eb0b2410b531" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531", + "reference": "39d483bdf39be819deabf04ec872eb0b2410b531", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "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" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/8ff431c517be11c78c48a39a66d37431e26a6bed", + "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "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.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de", + "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/routing", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "934ac2720dcc878a47a45c986b483a7ee7193620" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/934ac2720dcc878a47a45c986b483a7ee7193620", + "reference": "934ac2720dcc878a47a45c986b483a7ee7193620", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/config": "<5.0", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.7", + "psr/log": "~1.0", + "symfony/config": "^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "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", + "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" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-08T17:03:37+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "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": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/string", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", + "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "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 String component", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-05T07:33:16+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "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": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-28T13:05:58+00:00" + }, + { + "name": "symfony/twig-bridge", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bridge.git", + "reference": "378a136a41c07b5f2086f753d9756fb018921f86" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/378a136a41c07b5f2086f753d9756fb018921f86", + "reference": "378a136a41c07b5f2086f753d9756fb018921f86", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15", + "symfony/translation-contracts": "^1.1|^2", + "twig/twig": "^2.10|^3.0" + }, + "conflict": { + "symfony/console": "<4.4", + "symfony/form": "<5.1", + "symfony/http-foundation": "<4.4", + "symfony/http-kernel": "<4.4", + "symfony/translation": "<5.2", + "symfony/workflow": "<5.2" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/asset": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/form": "^5.1.9", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/mime": "^5.2", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/property-info": "^4.4|^5.1", + "symfony/routing": "^4.4|^5.0", + "symfony/security-acl": "^2.8|^3.0", + "symfony/security-core": "^4.4|^5.0", + "symfony/security-csrf": "^4.4|^5.0", + "symfony/security-http": "^4.4|^5.0", + "symfony/serializer": "^5.2", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^5.2", + "symfony/web-link": "^4.4|^5.0", + "symfony/workflow": "^5.2", + "symfony/yaml": "^4.4|^5.0", + "twig/cssinliner-extra": "^2.12", + "twig/inky-extra": "^2.12", + "twig/markdown-extra": "^2.12" + }, + "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-core": "For using the SecurityExtension", + "symfony/security-csrf": "For using the CsrfExtension", + "symfony/security-http": "For using the LogoutUrlExtension", + "symfony/stopwatch": "For using the StopwatchExtension", + "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", + "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", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-11T23:40:07+00:00" + }, + { + "name": "symfony/twig-bundle", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bundle.git", + "reference": "8cb3208aec4655ae1495afad7ef3c032a236dfa7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/8cb3208aec4655ae1495afad7ef3c032a236dfa7", + "reference": "8cb3208aec4655ae1495afad7ef3c032a236dfa7", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/config": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/twig-bridge": "^5.0", + "twig/twig": "^2.10|^3.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.2", + "symfony/framework-bundle": "<5.0", + "symfony/translation": "<5.0" + }, + "require-dev": { + "doctrine/annotations": "~1.7", + "doctrine/cache": "~1.0", + "symfony/asset": "^4.4|^5.0", + "symfony/dependency-injection": "^5.2", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/form": "^4.4|^5.0", + "symfony/framework-bundle": "^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^5.0", + "symfony/web-link": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" + }, + "type": "symfony-bundle", + "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", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-08T16:43:38+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/13e7e882eaa55863faa7c4ad7c60f12f1a8b5089", + "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "twig/twig": "^2.4|^3.0" + }, + "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", + "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" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-16T17:02:19+00:00" + }, + { + "name": "symfony/var-exporter", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-exporter.git", + "reference": "fbc3507f23d263d75417e09a12d77c009f39676c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/fbc3507f23d263d75417e09a12d77c009f39676c", + "reference": "fbc3507f23d263d75417e09a12d77c009f39676c", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" + }, + "require-dev": { + "symfony/var-dumper": "^4.4.9|^5.0.9" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\VarExporter\\": "" + }, + "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": "A blend of var_export() + serialize() to turn any serializable data structure to plain PHP code", + "homepage": "https://symfony.com", + "keywords": [ + "clone", + "construct", + "export", + "hydrate", + "instantiate", + "serialize" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-28T21:31:18+00:00" + }, + { + "name": "symfony/yaml", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "290ea5e03b8cf9b42c783163123f54441fb06939" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/290ea5e03b8cf9b42c783163123f54441fb06939", + "reference": "290ea5e03b8cf9b42c783163123f54441fb06939", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<4.4" + }, + "require-dev": { + "symfony/console": "^4.4|^5.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "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", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-12-08T17:02:38+00:00" + }, + { + "name": "twig/extra-bundle", + "version": "v3.1.1", + "source": { + "type": "git", + "url": "https://github.com/twigphp/twig-extra-bundle.git", + "reference": "a7c5799cf742ab0827f5d32df37528ee8bf5a233" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/a7c5799cf742ab0827f5d32df37528ee8bf5a233", + "reference": "a7c5799cf742ab0827f5d32df37528ee8bf5a233", + "shasum": "" + }, + "require": { + "php": "^7.1.3|^8.0", + "symfony/framework-bundle": "^4.3|^5.0", + "symfony/twig-bundle": "^4.3|^5.0", + "twig/twig": "^2.4|^3.0" + }, + "require-dev": { + "twig/cssinliner-extra": "^2.12|^3.0", + "twig/html-extra": "^2.12|^3.0", + "twig/inky-extra": "^2.12|^3.0", + "twig/intl-extra": "^2.12|^3.0", + "twig/markdown-extra": "^2.12|^3.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Twig\\Extra\\TwigExtraBundle\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + } + ], + "description": "A Symfony bundle for extra Twig extensions", + "homepage": "https://twig.symfony.com", + "keywords": [ + "bundle", + "extra", + "twig" + ], + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2020-05-21T09:56:39+00:00" + }, + { + "name": "twig/twig", + "version": "v3.1.1", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "b02fa41f3783a2616eccef7b92fbc2343ffed737" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/b02fa41f3783a2616eccef7b92fbc2343ffed737", + "reference": "b02fa41f3783a2616eccef7b92fbc2343ffed737", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/phpunit-bridge": "^4.4.9|^5.0.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "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": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2020-10-27T19:28:23+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": ">=7.2.5", + "ext-ctype": "*", + "ext-iconv": "*" + }, + "platform-dev": [], + "plugin-api-version": "1.1.0" +} diff --git a/config/bundles.php b/config/bundles.php new file mode 100644 index 0000000..60c9d23 --- /dev/null +++ b/config/bundles.php @@ -0,0 +1,9 @@ + ['all' => true], + Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], + Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true], + Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], + Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true], +]; diff --git a/config/packages/cache.yaml b/config/packages/cache.yaml new file mode 100644 index 0000000..6899b72 --- /dev/null +++ b/config/packages/cache.yaml @@ -0,0 +1,19 @@ +framework: + cache: + # Unique name of your app: used to compute stable namespaces for cache keys. + #prefix_seed: your_vendor_name/app_name + + # The "app" cache stores to the filesystem by default. + # The data in this cache should persist between deploys. + # 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 + + # Namespaced pools use the above "app" backend by default + #pools: + #my.dedicated.cache: null diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml new file mode 100644 index 0000000..cad7f78 --- /dev/null +++ b/config/packages/framework.yaml @@ -0,0 +1,17 @@ +# see https://symfony.com/doc/current/reference/configuration/framework.html +framework: + secret: '%env(APP_SECRET)%' + #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: null + cookie_secure: auto + cookie_samesite: lax + + #esi: true + #fragments: true + php_errors: + log: true diff --git a/config/packages/prod/routing.yaml b/config/packages/prod/routing.yaml new file mode 100644 index 0000000..b3e6a0a --- /dev/null +++ b/config/packages/prod/routing.yaml @@ -0,0 +1,3 @@ +framework: + router: + strict_requirements: null diff --git a/config/packages/routing.yaml b/config/packages/routing.yaml new file mode 100644 index 0000000..b45c1ce --- /dev/null +++ b/config/packages/routing.yaml @@ -0,0 +1,7 @@ +framework: + router: + utf8: true + + # Configure how to generate URLs in non-HTTP contexts, such as CLI commands. + # See https://symfony.com/doc/current/routing.html#generating-urls-in-commands + #default_uri: http://localhost diff --git a/config/packages/sensio_framework_extra.yaml b/config/packages/sensio_framework_extra.yaml new file mode 100644 index 0000000..1821ccc --- /dev/null +++ b/config/packages/sensio_framework_extra.yaml @@ -0,0 +1,3 @@ +sensio_framework_extra: + router: + annotations: false 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/test/twig.yaml b/config/packages/test/twig.yaml new file mode 100644 index 0000000..8c6e0b4 --- /dev/null +++ b/config/packages/test/twig.yaml @@ -0,0 +1,2 @@ +twig: + strict_variables: true diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml new file mode 100644 index 0000000..b3cdf30 --- /dev/null +++ b/config/packages/twig.yaml @@ -0,0 +1,2 @@ +twig: + default_path: '%kernel.project_dir%/templates' diff --git a/config/preload.php b/config/preload.php new file mode 100644 index 0000000..5ebcdb2 --- /dev/null +++ b/config/preload.php @@ -0,0 +1,5 @@ +bootEnv(dirname(__DIR__).'/.env'); + +if ($_SERVER['APP_DEBUG']) { + umask(0000); + + Debug::enable(); +} + +$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); +$request = Request::createFromGlobals(); +$response = $kernel->handle($request); +$response->send(); +$kernel->terminate($request, $response); diff --git a/src/Controller/.gitignore b/src/Controller/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/src/Kernel.php b/src/Kernel.php new file mode 100644 index 0000000..655e796 --- /dev/null +++ b/src/Kernel.php @@ -0,0 +1,38 @@ +import('../config/{packages}/*.yaml'); + $container->import('../config/{packages}/'.$this->environment.'/*.yaml'); + + if (is_file(\dirname(__DIR__).'/config/services.yaml')) { + $container->import('../config/services.yaml'); + $container->import('../config/{services}_'.$this->environment.'.yaml'); + } elseif (is_file($path = \dirname(__DIR__).'/config/services.php')) { + (require $path)($container->withPath($path), $this); + } + } + + protected function configureRoutes(RoutingConfigurator $routes): void + { + $routes->import('../config/{routes}/'.$this->environment.'/*.yaml'); + $routes->import('../config/{routes}/*.yaml'); + + if (is_file(\dirname(__DIR__).'/config/routes.yaml')) { + $routes->import('../config/routes.yaml'); + } elseif (is_file($path = \dirname(__DIR__).'/config/routes.php')) { + (require $path)($routes->withPath($path), $this); + } + } +} diff --git a/symfony.lock b/symfony.lock new file mode 100644 index 0000000..4fc7d4b --- /dev/null +++ b/symfony.lock @@ -0,0 +1,218 @@ +{ + "doctrine/annotations": { + "version": "1.0", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "1.0", + "ref": "a2759dd6123694c8d901d0ec80006e044c2e6457" + }, + "files": [ + "config/routes/annotations.yaml" + ] + }, + "doctrine/inflector": { + "version": "2.0.3" + }, + "doctrine/lexer": { + "version": "1.2.1" + }, + "nikic/php-parser": { + "version": "v4.10.4" + }, + "php": { + "version": "7.4" + }, + "psr/cache": { + "version": "1.0.1" + }, + "psr/container": { + "version": "1.0.0" + }, + "psr/event-dispatcher": { + "version": "1.0.0" + }, + "psr/log": { + "version": "1.1.3" + }, + "sensio/framework-extra-bundle": { + "version": "5.2", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "5.2", + "ref": "fb7e19da7f013d0d422fa9bce16f5c510e27609b" + }, + "files": [ + "config/packages/sensio_framework_extra.yaml" + ] + }, + "symfony/cache": { + "version": "v5.2.1" + }, + "symfony/cache-contracts": { + "version": "v2.2.0" + }, + "symfony/config": { + "version": "v5.2.1" + }, + "symfony/console": { + "version": "5.1", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "5.1", + "ref": "c6d02bdfba9da13c22157520e32a602dbee8a75c" + }, + "files": [ + "bin/console" + ] + }, + "symfony/dependency-injection": { + "version": "v5.2.1" + }, + "symfony/deprecation-contracts": { + "version": "v2.2.0" + }, + "symfony/dotenv": { + "version": "v5.2.1" + }, + "symfony/error-handler": { + "version": "v5.2.1" + }, + "symfony/event-dispatcher": { + "version": "v5.2.1" + }, + "symfony/event-dispatcher-contracts": { + "version": "v2.2.0" + }, + "symfony/filesystem": { + "version": "v5.2.1" + }, + "symfony/finder": { + "version": "v5.2.1" + }, + "symfony/flex": { + "version": "1.0", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "1.0", + "ref": "c0eeb50665f0f77226616b6038a9b06c03752d8e" + }, + "files": [ + ".env" + ] + }, + "symfony/framework-bundle": { + "version": "5.2", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "5.2", + "ref": "6ec87563dcc85cd0c48856dcfbfc29610506d250" + }, + "files": [ + "config/packages/cache.yaml", + "config/packages/framework.yaml", + "config/packages/test/framework.yaml", + "config/preload.php", + "config/routes/dev/framework.yaml", + "config/services.yaml", + "public/index.php", + "src/Controller/.gitignore", + "src/Kernel.php" + ] + }, + "symfony/http-client-contracts": { + "version": "v2.3.1" + }, + "symfony/http-foundation": { + "version": "v5.2.1" + }, + "symfony/http-kernel": { + "version": "v5.2.1" + }, + "symfony/maker-bundle": { + "version": "1.0", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "1.0", + "ref": "fadbfe33303a76e25cb63401050439aa9b1a9c7f" + } + }, + "symfony/polyfill-intl-grapheme": { + "version": "v1.20.0" + }, + "symfony/polyfill-intl-normalizer": { + "version": "v1.20.0" + }, + "symfony/polyfill-mbstring": { + "version": "v1.20.0" + }, + "symfony/polyfill-php73": { + "version": "v1.20.0" + }, + "symfony/polyfill-php80": { + "version": "v1.20.0" + }, + "symfony/routing": { + "version": "5.1", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "5.1", + "ref": "b4f3e7c95e38b606eef467e8a42a8408fc460c43" + }, + "files": [ + "config/packages/prod/routing.yaml", + "config/packages/routing.yaml", + "config/routes.yaml" + ] + }, + "symfony/service-contracts": { + "version": "v2.2.0" + }, + "symfony/string": { + "version": "v5.2.1" + }, + "symfony/translation-contracts": { + "version": "v2.3.0" + }, + "symfony/twig-bridge": { + "version": "v5.2.1" + }, + "symfony/twig-bundle": { + "version": "5.0", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "5.0", + "ref": "fab9149bbaa4d5eca054ed93f9e1b66cc500895d" + }, + "files": [ + "config/packages/test/twig.yaml", + "config/packages/twig.yaml", + "templates/base.html.twig" + ] + }, + "symfony/twig-pack": { + "version": "v1.0.1" + }, + "symfony/var-dumper": { + "version": "v5.2.1" + }, + "symfony/var-exporter": { + "version": "v5.2.1" + }, + "symfony/yaml": { + "version": "v5.2.1" + }, + "twig/extra-bundle": { + "version": "v3.1.1" + }, + "twig/twig": { + "version": "v3.1.1" + } +} diff --git a/templates/html.html.twig b/templates/html.html.twig new file mode 100644 index 0000000..521ef14 --- /dev/null +++ b/templates/html.html.twig @@ -0,0 +1,12 @@ + + + + + {% block title %}Florida DrupalCamp{% endblock %} + {% block stylesheets %}{% endblock %} + + + {% block body %}{% endblock %} + {% block javascripts %}{% endblock %} + + From 559ed8e90897ac7df7bd7f9ec27814bf855739a9 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 26 Dec 2020 21:27:02 +0000 Subject: [PATCH 02/17] Add README.rst --- README.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 README.rst diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..2f12da6 --- /dev/null +++ b/README.rst @@ -0,0 +1,11 @@ +Florida DrupalCamp Tailwind CSS Workshop +######################################## + +Local web server +================ + +Run the following command to start a local web server. Going to that URL in your browser should show you the example page. + +.. code:: + + php -S 127.0.0.1:8000 -t public From cdb0e67eb3fdfdb3869bfaaa4f8a4857913166ae Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 26 Dec 2020 21:45:49 +0000 Subject: [PATCH 03/17] Add the Home page --- src/Controller/BaseController.php | 17 +++++++++++++++++ src/Controller/HomeController.php | 21 +++++++++++++++++++++ templates/page.html.twig | 5 +++++ templates/pages/home.html.twig | 5 +++++ 4 files changed, 48 insertions(+) create mode 100644 src/Controller/BaseController.php create mode 100644 src/Controller/HomeController.php create mode 100644 templates/page.html.twig create mode 100644 templates/pages/home.html.twig diff --git a/src/Controller/BaseController.php b/src/Controller/BaseController.php new file mode 100644 index 0000000..c0c0cb4 --- /dev/null +++ b/src/Controller/BaseController.php @@ -0,0 +1,17 @@ +twig = $twig; + } +} diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php new file mode 100644 index 0000000..9b6c975 --- /dev/null +++ b/src/Controller/HomeController.php @@ -0,0 +1,21 @@ +twig->render('pages/home.html.twig'); + + return new Response($content); + } +} diff --git a/templates/page.html.twig b/templates/page.html.twig new file mode 100644 index 0000000..2429030 --- /dev/null +++ b/templates/page.html.twig @@ -0,0 +1,5 @@ +{% extends 'html.html.twig' %} + +{% block body %} + {% block content %}{% endblock %} +{% endblock %} diff --git a/templates/pages/home.html.twig b/templates/pages/home.html.twig new file mode 100644 index 0000000..c89e62e --- /dev/null +++ b/templates/pages/home.html.twig @@ -0,0 +1,5 @@ +{% extends 'page.html.twig' %} + +{% block content %} + This is the homepage. +{% endblock %} From cb79277374e4aa494735b98e8f193dd9b78cb3d1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 26 Dec 2020 22:03:46 +0000 Subject: [PATCH 04/17] Add and configure Tailwind CSS Add and configure Tailwind CSS within the project, including adding npm scripts for compiling the CSS, configuring purge settings, and adding the `cssnano` library for minifying the CSS (which is run for production builds). --- .gitignore | 2 + README.rst | 11 + assets/css/tailwind.pcss | 3 + package.json | 19 + postcss.config.js | 8 + tailwind.config.js | 13 + templates/html.html.twig | 1 + yarn.lock | 1973 ++++++++++++++++++++++++++++++++++++++ 8 files changed, 2030 insertions(+) create mode 100644 assets/css/tailwind.pcss create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 tailwind.config.js create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore index a67f91e..e5cedac 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +/node_modules/ +/public/build/ ###> symfony/framework-bundle ### /.env.local diff --git a/README.rst b/README.rst index 2f12da6..ea484db 100644 --- a/README.rst +++ b/README.rst @@ -9,3 +9,14 @@ Run the following command to start a local web server. Going to that URL in your .. code:: php -S 127.0.0.1:8000 -t public + +Building the CSS +================ + +The CSS is generated from ``assets/css/tailwind.pcss`` and is compiled using ``postcss-cli``. + +To simplify the process, there are some custom npm scripts added in ``package.json`` that can be used to compile the CSS: + +- ``yarn dev`` - generate the development CSS which is un-purged and un-minified. +- ``yarn prod`` - generate the production CSS which is purged and minified. +- ``yarn watch`` - generate the development CSS, but re-generate automatically when the source file is changed. diff --git a/assets/css/tailwind.pcss b/assets/css/tailwind.pcss new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/assets/css/tailwind.pcss @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/package.json b/package.json new file mode 100644 index 0000000..c2e1184 --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "private": true, + "config": { + "inputFile": "assets/css/tailwind.pcss", + "outputFile": "public/build/tailwind.css" + }, + "scripts": { + "dev": "cross-env NODE_ENV=development postcss $npm_package_config_inputFile -o $npm_package_config_outputFile", + "prod": "cross-env NODE_ENV=production postcss $npm_package_config_inputFile -o $npm_package_config_outputFile", + "watch": "cross-env NODE_ENV=development postcss $npm_package_config_inputFile -o $npm_package_config_outputFile --watch" + }, + "dependencies": { + "cross-env": "^7.0.3", + "cssnano": "^4.1.10", + "postcss": "^8.2.1", + "postcss-cli": "^8.3.1", + "tailwindcss": "^2.0.2" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..4fc6861 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,8 @@ +module.exports = { + plugins: [ + require('tailwindcss'), + ...process.env.NODE_ENV === 'production' + ? [require('cssnano')] + : [] + ] +} diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..e855636 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,13 @@ +module.exports = { + purge: { + content: ['templates/**/*.twig'] + }, + darkMode: false, // or 'media' or 'class' + theme: { + extend: {}, + }, + variants: { + extend: {}, + }, + plugins: [], +} diff --git a/templates/html.html.twig b/templates/html.html.twig index 521ef14..92ed524 100644 --- a/templates/html.html.twig +++ b/templates/html.html.twig @@ -3,6 +3,7 @@ {% block title %}Florida DrupalCamp{% endblock %} + {% block stylesheets %}{% endblock %} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..8ee6ac0 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,1973 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@fullhuman/postcss-purgecss@^3.0.0": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@fullhuman/postcss-purgecss/-/postcss-purgecss-3.1.3.tgz#47af7b87c9bfb3de4bc94a38f875b928fffdf339" + integrity sha512-kwOXw8fZ0Lt1QmeOOrd+o4Ibvp4UTEBFQbzvWldjlKv5n+G9sXfIPn1hh63IQIL8K8vbvv1oYMJiIUbuy9bGaA== + dependencies: + purgecss "^3.1.3" + +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/q@^1.5.1": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== + +acorn-node@^1.6.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" + integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== + dependencies: + acorn "^7.0.0" + acorn-walk "^7.0.0" + xtend "^4.0.2" + +acorn-walk@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.0.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +binary-extensions@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.0.0: + version "4.16.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.0.tgz#410277627500be3cb28a1bfe037586fbedf9488b" + integrity sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ== + dependencies: + caniuse-lite "^1.0.30001165" + colorette "^1.2.1" + electron-to-chromium "^1.3.621" + escalade "^3.1.1" + node-releases "^1.1.67" + +bytes@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +call-bind@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" + integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.0" + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001165: + version "1.0.30001170" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001170.tgz#0088bfecc6a14694969e391cc29d7eb6362ca6a7" + integrity sha512-Dd4d/+0tsK0UNLrZs3CvNukqalnVTRrxb5mcQm8rHL49t7V5ZaTygwXkrq+FB+dVDf++4ri8eJnFEJAB8332PA== + +chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@^3.3.0: + version "3.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" + integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.1.2" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" + integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0, color@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" + integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.4" + +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + +commander@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +cosmiconfig@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cross-env@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== + dependencies: + cross-spawn "^7.0.1" + +cross-spawn@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.2.tgz#9ae393b5dafd7dae8a622475caec78d3d8fbd7b5" + integrity sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-unit-converter@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" + integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.2" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + +cssnano@^4.1.10: + version "4.1.10" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.7" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^4.0.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= + +dependency-graph@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.9.0.tgz#11aed7e203bc8b00f48356d92db27b265c445318" + integrity sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w== + +detective@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" + integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== + dependencies: + acorn-node "^1.6.1" + defined "^1.0.0" + minimist "^1.1.1" + +didyoumean@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff" + integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8= + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domelementtype@1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e" + integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w== + +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +electron-to-chromium@^1.3.621: + version "1.3.633" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz#16dd5aec9de03894e8d14a1db4cda8a369b9b7fe" + integrity sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +entities@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.17.2: + version "1.17.7" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" + integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-abstract@^1.18.0-next.1: + version "1.18.0-next.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" + integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-negative-zero "^2.0.0" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +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" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +fast-glob@^3.1.1: + version "3.2.4" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" + integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + +fastq@^1.6.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.10.0.tgz#74dbefccade964932cdf500473ef302719c652bb" + integrity sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA== + dependencies: + reusify "^1.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +fs-extra@^9.0.0, fs-extra@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^1.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49" + integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-stdin@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" + integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== + +glob-parent@^5.1.0, glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + dependencies: + is-glob "^4.0.1" + +glob@^7.0.0, glob@^7.1.2: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + 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" + +globby@^11.0.0: + version "11.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + +has@^1.0.0, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== + +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" + integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +import-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" + integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg== + dependencies: + import-from "^3.0.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" + integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== + dependencies: + resolve-from "^5.0.0" + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-callable@^1.1.4, is-callable@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-core-module@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-regex@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== + dependencies: + has-symbols "^1.0.1" + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + dependencies: + has-symbols "^1.0.1" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +lodash.difference@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" + integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= + +lodash.forown@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.forown/-/lodash.forown-4.4.0.tgz#85115cf04f73ef966eced52511d3893cc46683af" + integrity sha1-hRFc8E9z75ZuztUlEdOJPMRmg68= + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + +lodash.groupby@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.groupby/-/lodash.groupby-4.6.0.tgz#0b08a1dcf68397c397855c3239783832df7403d1" + integrity sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash.toarray@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" + integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@^4.17.20: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +modern-normalize@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/modern-normalize/-/modern-normalize-1.0.0.tgz#539d84a1e141338b01b346f3e27396d0ed17601e" + integrity sha512-1lM+BMLGuDfsdwf3rsgBSrxJwAZHFIrQ8YR61xIqdHo0uNKI9M52wNpHSrliZATJp51On6JD0AfRxd4YGSU0lw== + +nanoid@^3.1.20: + version "3.1.20" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== + +node-emoji@^1.8.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" + integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== + dependencies: + lodash.toarray "^4.4.0" + +node-releases@^1.1.67: + version "1.1.67" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" + integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-hash@^2.0.3: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.1.1.tgz#9447d0279b4fcf80cff3259bf66a1dc73afabe09" + integrity sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ== + +object-inspect@^1.8.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" + integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.getownpropertydescriptors@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz#0dfda8d108074d9c563e80490c883b6661091544" + integrity sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +object.values@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.2.tgz#7a2015e06fcb0f546bd652486ce8583a4731c731" + integrity sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + has "^1.0.3" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +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" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +postcss-calc@^7.0.1: + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-cli@^8.3.1: + version "8.3.1" + resolved "https://registry.yarnpkg.com/postcss-cli/-/postcss-cli-8.3.1.tgz#865dad08300ac59ae9cecb7066780aa81c767a77" + integrity sha512-leHXsQRq89S3JC9zw/tKyiVV2jAhnfQe0J8VI4eQQbUjwIe0XxVqLrR+7UsahF1s9wi4GlqP6SJ8ydf44cgF2Q== + dependencies: + chalk "^4.0.0" + chokidar "^3.3.0" + dependency-graph "^0.9.0" + fs-extra "^9.0.0" + get-stdin "^8.0.0" + globby "^11.0.0" + postcss-load-config "^3.0.0" + postcss-reporter "^7.0.0" + pretty-hrtime "^1.0.3" + read-cache "^1.0.0" + slash "^3.0.0" + yargs "^16.0.0" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + dependencies: + postcss "^7.0.0" + +postcss-functions@^3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-functions/-/postcss-functions-3.0.0.tgz#0e94d01444700a481de20de4d55fb2640564250e" + integrity sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4= + dependencies: + glob "^7.1.2" + object-assign "^4.1.1" + postcss "^6.0.9" + postcss-value-parser "^3.3.0" + +postcss-js@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-3.0.3.tgz#2f0bd370a2e8599d45439f6970403b5873abda33" + integrity sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw== + dependencies: + camelcase-css "^2.0.1" + postcss "^8.1.6" + +postcss-load-config@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.0.0.tgz#850bb066edd65b734329eacf83af0c0764226c87" + integrity sha512-lErrN8imuEF1cSiHBV8MiR7HeuzlDpCGNtaMyYHlOBuJHHOGw6S4xOMZp8BbXPr7AGQp14L6PZDlIOpfFJ6f7w== + dependencies: + cosmiconfig "^7.0.0" + import-cwd "^3.0.0" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-nested@^5.0.1: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.3.tgz#2f46d77a06fc98d9c22344fd097396f5431386db" + integrity sha512-R2LHPw+u5hFfDgJG748KpGbJyTv7Yr33/2tIMWxquYuHTd9EXu27PYnKi7BxMXLtzKC0a0WVsqHtd7qIluQu/g== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reporter@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-7.0.2.tgz#03e9e7381c1afe40646f9c22e7aeeb860e051065" + integrity sha512-JyQ96NTQQsso42y6L1H1RqHfWH1C3Jr0pt91mVv5IdYddZAE9DUZxuferNgk6q0o6vBVOrfVJb10X1FgDzjmDw== + dependencies: + colorette "^1.2.1" + lodash.difference "^4.5.0" + lodash.forown "^4.4.0" + lodash.get "^4.4.2" + lodash.groupby "^4.6.0" + lodash.sortby "^4.7.0" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" + integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + util-deprecate "^1.0.2" + +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== + dependencies: + is-svg "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss@^6.0.9: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.27: + version "7.0.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +postcss@^8.1.6, postcss@^8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.1.tgz#eabc5557c4558059b9d9e5b15bce7ffa9089c2a8" + integrity sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA== + dependencies: + colorette "^1.2.1" + nanoid "^3.1.20" + source-map "^0.6.1" + +pretty-hrtime@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= + +purgecss@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-3.1.3.tgz#26987ec09d12eeadc318e22f6e5a9eb0be094f41" + integrity sha512-hRSLN9mguJ2lzlIQtW4qmPS2kh6oMnA9RxdIYK8sz18QYqd6ePp4GNDl18oWHA1f2v2NEQIh51CO8s/E3YGckQ== + dependencies: + commander "^6.0.0" + glob "^7.0.0" + postcss "^8.2.1" + postcss-selector-parser "^6.0.2" + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha1-5mTvMRYRZsl1HNvo28+GtftY93Q= + dependencies: + pify "^2.3.0" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + +reduce-css-calc@^2.1.6: + version "2.1.7" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.7.tgz#1ace2e02c286d78abcd01fd92bfe8097ab0602c2" + integrity sha512-fDnlZ+AybAS3C7Q9xDq5y8A2z+lT63zLbynew/lur/IR24OQF5x98tfNwf79mzEdfywZ0a2wpM860FhFfMxZlA== + dependencies: + css-unit-converter "^1.1.1" + postcss-value-parser "^3.3.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +run-parallel@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== + +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimend@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" + integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" + integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +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" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +svgo@^1.0.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +tailwindcss@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.0.2.tgz#28e1573d29dd4547b26782facb05bcfaa92be366" + integrity sha512-nO9JRE1pO7SF9RnYAl6g7uzeHdrmKAFqNjT9NtZUfxqimJZAOOLOEyIEUiMq12+xIc7mC2Ey3Vf90XjHpWKfbw== + dependencies: + "@fullhuman/postcss-purgecss" "^3.0.0" + bytes "^3.0.0" + chalk "^4.1.0" + color "^3.1.3" + detective "^5.2.0" + didyoumean "^1.2.1" + fs-extra "^9.0.1" + html-tags "^3.1.0" + lodash "^4.17.20" + modern-normalize "^1.0.0" + node-emoji "^1.8.1" + object-hash "^2.0.3" + postcss-functions "^3" + postcss-js "^3.0.3" + postcss-nested "^5.0.1" + postcss-selector-parser "^6.0.4" + postcss-value-parser "^4.1.0" + pretty-hrtime "^1.0.3" + reduce-css-calc "^2.1.6" + resolve "^1.19.0" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +universalify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xtend@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" + integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== + +yaml@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + +yargs-parser@^20.2.2: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs@^16.0.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" From 641c61dd47cdd36c49e18e1e1541711f784209ed Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 26 Dec 2020 22:40:42 +0000 Subject: [PATCH 05/17] Add mobile navigation --- config/packages/twig.yaml | 2 + src/Repository/MenuLinkArrayRepository.php | 43 ++++++++++++++++++++++ src/Repository/MenuLinkRepository.php | 10 +++++ templates/includes/navbar.html.twig | 36 ++++++++++++++++++ templates/page.html.twig | 2 + 5 files changed, 93 insertions(+) create mode 100644 src/Repository/MenuLinkArrayRepository.php create mode 100644 src/Repository/MenuLinkRepository.php create mode 100644 templates/includes/navbar.html.twig diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml index b3cdf30..64b2ef3 100644 --- a/config/packages/twig.yaml +++ b/config/packages/twig.yaml @@ -1,2 +1,4 @@ twig: default_path: '%kernel.project_dir%/templates' + globals: + menuLinks: '@App\Repository\MenuLinkRepository' diff --git a/src/Repository/MenuLinkArrayRepository.php b/src/Repository/MenuLinkArrayRepository.php new file mode 100644 index 0000000..210503c --- /dev/null +++ b/src/Repository/MenuLinkArrayRepository.php @@ -0,0 +1,43 @@ + 'Conference', + 'children' => [ + ['name' => 'Trainings'], + ['name' => 'Contribution Day'], + ['name' => 'About FLDC'], + ['name' => 'Speaker Info'], + ['name' => 'Contact'], + ], + ], + [ + 'name' => 'Sponsors', + 'children' => [ + ['name' => 'All sponsors'], + ['name' => 'Become a sponsor'], + ], + ], + [ + 'name' => 'Community', + 'children' => [ + ['name' => 'Code of Conduct'], + ['name' => 'Tourism'], + ['name' => 'Mailing List'], + ], + ], + [ + 'name' => 'FAQ', + 'children' => [], + ], + ]; + } +} diff --git a/src/Repository/MenuLinkRepository.php b/src/Repository/MenuLinkRepository.php new file mode 100644 index 0000000..084a386 --- /dev/null +++ b/src/Repository/MenuLinkRepository.php @@ -0,0 +1,10 @@ + +
+
+ + + +
+ +
+ +
+
+
+
    + {% for item in menuLinks.findAll %} +
  • + {{ item.name }} + + {% if item.children %} + + {% endif %} +
  • + {% endfor %} +
+
+ diff --git a/templates/page.html.twig b/templates/page.html.twig index 2429030..370270d 100644 --- a/templates/page.html.twig +++ b/templates/page.html.twig @@ -1,5 +1,7 @@ {% extends 'html.html.twig' %} {% block body %} + {% include 'includes/navbar.html.twig' %} + {% block content %}{% endblock %} {% endblock %} From 5fadbbccd02af435a9c9c3b3513e958f7f8ec106 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 26 Dec 2020 22:41:48 +0000 Subject: [PATCH 06/17] Override Tailwind's default colours --- tailwind.config.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tailwind.config.js b/tailwind.config.js index e855636..4ce301f 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,3 +1,5 @@ +const colors = require('tailwindcss/colors') + module.exports = { purge: { content: ['templates/**/*.twig'] @@ -5,6 +7,10 @@ module.exports = { darkMode: false, // or 'media' or 'class' theme: { extend: {}, + colors: { + blue: colors.lightBlue, + gray: colors.trueGray + }, }, variants: { extend: {}, From 36a4eb2d92caeeb6c777d91304e569d221cdf29c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 26 Dec 2020 22:42:09 +0000 Subject: [PATCH 07/17] Add Bebas Neue font --- tailwind.config.js | 3 +++ templates/html.html.twig | 2 ++ 2 files changed, 5 insertions(+) diff --git a/tailwind.config.js b/tailwind.config.js index 4ce301f..63b4a35 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -11,6 +11,9 @@ module.exports = { blue: colors.lightBlue, gray: colors.trueGray }, + fontFamily: { + display: ['Bebas Neue', 'Arial Narrow', 'Arial', 'sans-serif'] + }, }, variants: { extend: {}, diff --git a/templates/html.html.twig b/templates/html.html.twig index 92ed524..93e2951 100644 --- a/templates/html.html.twig +++ b/templates/html.html.twig @@ -3,6 +3,8 @@ {% block title %}Florida DrupalCamp{% endblock %} + + {% block stylesheets %}{% endblock %} From 5a2df50e900f562f6e22e3508fb6d6b2e27643a4 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 26 Dec 2020 23:12:05 +0000 Subject: [PATCH 08/17] Make the mobile navigation toggleable --- templates/includes/navbar.html.twig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/includes/navbar.html.twig b/templates/includes/navbar.html.twig index 86a7007..3650f0e 100644 --- a/templates/includes/navbar.html.twig +++ b/templates/includes/navbar.html.twig @@ -7,12 +7,12 @@
-
-
+
    {% for item in menuLinks.findAll %}
  • From 702b75531969f33cacfdd0b5094ed003a3f24671 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 26 Dec 2020 23:01:55 +0000 Subject: [PATCH 09/17] Make child links toggleable --- assets/css/tailwind.pcss | 6 ++++++ templates/html.html.twig | 1 + templates/includes/navbar.html.twig | 21 +++++++++++++++++---- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/assets/css/tailwind.pcss b/assets/css/tailwind.pcss index b5c61c9..6fd7ca0 100644 --- a/assets/css/tailwind.pcss +++ b/assets/css/tailwind.pcss @@ -1,3 +1,9 @@ @tailwind base; @tailwind components; @tailwind utilities; + +@layer base { + [x-cloak] { + display: none + } +} diff --git a/templates/html.html.twig b/templates/html.html.twig index 93e2951..c06165f 100644 --- a/templates/html.html.twig +++ b/templates/html.html.twig @@ -10,6 +10,7 @@ {% block body %}{% endblock %} + {% block javascripts %}{% endblock %} diff --git a/templates/includes/navbar.html.twig b/templates/includes/navbar.html.twig index 3650f0e..b1b2912 100644 --- a/templates/includes/navbar.html.twig +++ b/templates/includes/navbar.html.twig @@ -15,14 +15,27 @@
      {% for item in menuLinks.findAll %} -
    • - {{ item.name }} +
    • + + {{ item.name }} + {% if item.children %} + + + + {% endif %} + {% if item.children %} -
        +
          {% for item in item.children %}
        • - + {{ item.name }}
        • From 91cee26e71c8cc986e9087394572dc0c51d49443 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Dec 2020 02:21:20 +0000 Subject: [PATCH 10/17] Adjust navigation width on small screens --- templates/includes/navbar.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/includes/navbar.html.twig b/templates/includes/navbar.html.twig index b1b2912..311b539 100644 --- a/templates/includes/navbar.html.twig +++ b/templates/includes/navbar.html.twig @@ -12,7 +12,7 @@
-
+
    {% for item in menuLinks.findAll %}
  • From 97925b04569e92207ce12cf5590f6b97ffd49606 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Dec 2020 02:52:01 +0000 Subject: [PATCH 11/17] Override sm screen size --- tailwind.config.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tailwind.config.js b/tailwind.config.js index 63b4a35..bf57180 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -6,7 +6,11 @@ module.exports = { }, darkMode: false, // or 'media' or 'class' theme: { - extend: {}, + extend: { + screens: { + sm: '700px' + } + }, colors: { blue: colors.lightBlue, gray: colors.trueGray From 7499a8817de2db97046a3433b5d53ce8da3d97b2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Dec 2020 02:52:16 +0000 Subject: [PATCH 12/17] Increase logo size on small screens --- templates/includes/navbar.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/includes/navbar.html.twig b/templates/includes/navbar.html.twig index 311b539..b7f8d2b 100644 --- a/templates/includes/navbar.html.twig +++ b/templates/includes/navbar.html.twig @@ -2,7 +2,7 @@
    From d7d778096e65745c3fae1dfad7fb99891a2e7a7a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Dec 2020 03:32:00 +0000 Subject: [PATCH 13/17] Add homepage header --- public/images/2020-logo.svg | 524 ++++++++++++++++++ .../images/auditorium_blur-tablet_narrow.jpg | Bin 0 -> 37729 bytes templates/includes/home/header.html.twig | 5 + templates/includes/navbar.html.twig | 4 +- templates/pages/home.html.twig | 2 + 5 files changed, 533 insertions(+), 2 deletions(-) create mode 100644 public/images/2020-logo.svg create mode 100644 public/images/auditorium_blur-tablet_narrow.jpg create mode 100644 templates/includes/home/header.html.twig diff --git a/public/images/2020-logo.svg b/public/images/2020-logo.svg new file mode 100644 index 0000000..9bae7f1 --- /dev/null +++ b/public/images/2020-logo.svg @@ -0,0 +1,524 @@ + + + + 2020-logo + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/images/auditorium_blur-tablet_narrow.jpg b/public/images/auditorium_blur-tablet_narrow.jpg new file mode 100644 index 0000000000000000000000000000000000000000..adc2199fd200134e5283d1af6b6eccdada51f6cf GIT binary patch literal 37729 zcmex=PP=o@wb_nDDAqGJXrWWQFW=16jCP7AKLB{__7^E2(n3zGXWq<)@7Dgsk1~&Hp zM;N3S89;K3FewHG21X`k7FM?Zw-|Vs85x)am<1RZ7`K-fy}x)ttIy?hsgC$w9kGsv zSyyy+ZCL8@xo_GgtEjc^Q3r!!TUdH$MF}rfoNZMkId|pBr?>r_txA?k&Rrbf(i5U| zRpPAcp~GtoE^V-yYAefVdr9!JV%(P2wC{`&M;tf~PG(k3G~Afv{OFo{-Ez-55rYq0 zCWY(Nj6{#I$8E{dG`c#Ax#<1Tmzk_vSGit$rERR-Ih!RaM=(1sRAm~&#~sYN}DCLYsBeI1wXa$>dl20kB`>$_E1 zIUY`SSvSe$#M8+U%ct=D4ZPoAXd0?2-J-~#1zt^|sn2%lDthW(=AEISUCuQtrDT&z*t=Or?3Jd?kX;hORvGCz zgN5(l3Mqx-B2mh-Ud$8mIT4nxv2=aHl6wcVg$_syInUw_I&Z$kWby^SNfSJlM*B9e zSK~`Mr_?9!XmaC%LF%{drd|6!efl7J-^1YAO}}Xo^JBXL8x3OX_}vfAS#w9jr)klf zO(ky6Uh!D@9v530E!e_3*<43=X2(LgC)1sL+Dk%N8d!VuR&ALbY5LM^)1xJcK~ghj z8%;`Dn7u9JlJ*i`rJX6)6yG$)-I;UZg|gEZwv4S3XT{rk13d&9jnZbvxia0*;1QlB zbH8bFrfAwF!OUISNg~W;J}qzlHd}AWGMT9u{95W#`qCB69tX2iJyk_a`IcLmUU9e8 zH4Tcp)_&w!gE+gsrETfvH7?~sJg%je(;`a5GX2br-4|5e)G#o58LAx?y2>+O zxP&cqT*YlGvSHZ5OyA?U`2OVN&5UXHIW?D}I>x+Abo!7=9o z@8VsvdiI?%&RwfE>`(bfH`%x1FtsxQkySZ&0T3-7C9y zHz{3cWSw}}(bhC+li&?co2gr_Wb)Y?IIWoc^o^8LY{!zVvy4R(7oU!uG%eQq(%dx` z9!(OGrN_3i#3U|FI1?lzb%u48mWXz$Q(Mx@mgy}emlk++HRQ!TIC5dr0Wqfw341+i z;ut>eU_J6Ac)g-`)Zw)!0))+TWy++QWqq&AoM5YP$!TqG!=n!YpDtOxyy&<7?gPm) zVU0S)Uc3)aJ4vrfnx+yN8P{%5!E}jRJnb#(7M52$C(dVmzFd6wu6ubwiI0+Y)?u!* z%vP?ts={Z2ecjSO%jj51tz4t7>9o!Ei1JC{N3Ijimh=7f6X(0a*s>+*QPx`3@T!(K zPiM@%xypHu!)e87-B&l1dM8Bn268*TVp6%2Vj?GXup(D8t?N?oQk~Q576i`a>+SmZ zgDrZ)j2p%o%*!i9GTxX@nf9sUV0dBRW9G=T%{%WU#6F*xtGI9Ot%Warf8|y0o++}& zThvqN(cLWXh07Kh9$qA|^v2G1-Hu0wE?(g?X3u=_%-@~e-N|ZiM5!RF3G1v_ldF{p z?!9L#cknYV2(mtF;X2`je6zAio5Ln;rLTP)Ykw|u+>tQp19xXw6Z4u=VQN!5d0C9o z4;sCiDdF%%OPRy!RFk+)-woM~RwE$yRex+@sYPS3gYE^^_`T?X3IrtjQd9`)`8UtdRI7L~pUSei&JaGK{sN}?y#+X?k0W>1`XVs1j0KHe*PI()~2&{ za&j|=xjs+YDGzfk4|B~EmYOH5Q##sJD;*O=*>)DO>s)Z#x+W^@qTGh)pj%0tF}saJ zZpX?MTVHzad~jW_@UqsD136}84JSD>YVwj6)C7E*d^0T0;wxKAUs0dr%0tftqjXo+ zsxbw63-DMhJ$BTwTI!(lL8qs(w{+XH!e4m@3x-5(T~+p~h`UfcG*KjB#~GVf(_Z@J zMsi0KDS7;Cc~zt@vLbFv!`^JpTXO>%Z#5W-B*<-NKlAJEzS2E0R@+;hxo)c-`PMkS?d+K|pS6qwITo&47TRO0wM)h||-do&Rj&Sgv3Xz?f*Bp>2`OuC% zwTSCu1m}_q3gruecQ-!|P22s9TPV;=u5&%hT9MfWVY!NNDh*F2iKvT;O)3&y_~ObI zcGX+_MhAY(Oa65tvpJ13FZb#+U$qqrcywM?n5gUUTsMEw7QOn!o-n415$-|RdQ-QG zx~46>D9U}uJae*6br7=-^O|ro@1Vn5S1abNb@7W@@MN{_##0B(15W8jg>WatNGQ$q zeCe^JLy{%*Y2~csX5GjjC9OciscUM=gfDWmt2iyODYw@B9%!PpgS+lglLzima6^ZHYyz7&jYkV~!KZs?kuC}g&?wKOHaIfpj zjbd1*1xOfOTXJ#QtjLxf>y&PkWlXYTni=G4%h>a3(Zf4i7tdVP{x&Hwd)73z8$M_9 zUKZSYk|5inBKy?RY-a>}|CDV1b*hf*&ULKiIN$Q+x1Gz4%N%#4n0Y-MI;WHf<%u$F z{QRsqs!MII+GC^3(XOX#fEQTE&waZ*wI(<8fwMreM(1mCgyb0@VU` zYz*9N^3!s{*MMAGmt#*~oZox6oH_BDWyspHT&2(p57n2ct<1`J_99d+DdW|xj^+GI z|ID+p`Z&4evn#V=TgMq|rL?HmE?u7^MR)C4bvg2Mw8LwiZHukaYh7ZeuP*gIzucA0 z?9CLzjVmqOr00=1g5+GHeU9JC(hdP;RHF2hqg)+rIi=NL^6Ebx!~-pzIjvLR{3OJotGFB z`ej|@j7_3Nu6HXv7YFLC%v?7mgK8Tg#mCpiJb(WUFwNRQ1O1;#tcWHCFAK!nNAt>@qhKS#EacO&6Js z!)-3L2He&(dG5RBoB4?oQ#r2kZdS1=$$1jA>`bfR;OBTJjVuG@%pT)FUA$g8of`_e~x2p66 z<}%D#cX6rYqgvnMs6Dbv|H|ar)ta0TF3!DcvO)6g!XO?cA`t=f&#eIz?lGSC@w@ z5sY4+6QXi?n&O!+p|z%=%#O^j`xZ_WrI z(z9Xn3uoNj>9J>4mh#+Z8rKR0ezsh;txmglywdutd0@2GjJ=a3U#5JCIg=!;b?9Sg z#FYfa&Mm9nt7od7S++B_B_ccBUG|Q7p&iqTrR%pTv@Ke~*Er!~ZrZ~Sc|4^Yr*kV^ zoW8qH^-~ejlG^!YMc=HLf73jq<6e1K+bq*bJFN40mzh%P)~gz7D>LSPoNz$jEdKn} z^T~m;ihpU{`fPoLm-Fd7UcuJ~+Rd-`wdh|s$^39bf|&ER&Rd0Xe$T$2**0;7=)*J3 z)BL^$nA{0bPMqO!=#p7x%H@5Pi?*0-D&2BE^r%cq%i&qx+R1v^%=+oNCJ7H#?qsSC z+f&R{8r_xJZ9O%uIoO7^H0$z&HLlxJdD`@hVlI|F&NvlZ8Ebs-xzM!JlH1P5N;qBm z!at{6|Ik)vpJ!HQmkV4FXnHEDmpyH>s8s9&E*`-=ua@)C={x#rB_C>ho$=Z?{rJML zX**6@o#m0-I$h~n@4?p!G1kYOgue^m^jzK+CC16hwQtHLt3kobfzyG4EQJ2Dw!= zH-&EpN*xVVJ8aUmes!Tc)87-v{<6)UbR}9(FQ-I`zs2a~O7VFCrU9C1VYc2&rK2A@ zi|kHYHOo_(UprgfR-`-7a>G+Ip0x+(u}(NQNm}E=rDz9jp3nups{|H%DI1D?R_lq` z=^x{@aoVcR*D)({+1?pdXJ+13?^;r_IUrJD%?%Bah|&e^%9p49?UA*JW@6a%LPwSD zeQ(vOr#buf7$1IXx&3;o$m&B%+xfOUcU^QSbK?4|I(H+kn}sv5oDJVp#>wv0CV1=O z1#c$_flFRdQ%F)r_Z)E zXAf=2Tr=VP4aYsza&u$=_WHG|5sWv3mYdIhHf`f75sRqg-!pfw zDBLJ3WZmK{(o!CG*q3MToEK{f4c4la6q!8RD#vzY*N&hV?YXOGn>SD1*jLhWdcx+m z!?T5+M!Pzm$v#p(DdFsb&dNohQQQ7*KCyDul_lTB=VUBhv~gD2o?|U*cjYGRVVnBs zsEF+0Krf-FrE3{Qx3V6OnX>iX(M)qusY~Yscq1S9u%5_1tFqg3i#A`(&eC-=t+roM zm~{4NiT2{TvmJasmxQ$~$uRmjxqHg?CXTl{*Ce(x7k9B2z7;cGcWw8~D9hWXhEJcV z@7a)8wr4YEzEi88w)wuvtG9M9*AJO_z3m0VTF>jgSy9Gwu9c<8h1(iVy5gO4t%*)x$ zXTFA9d{=csY}ev*lRJ0twpm?zlo6tsm2p`2Xv+Fs3pTbco3~+Yo|Vg{tI1A0j1{Rq z@3j|7&+o9=;%VL(G{wmJ{Q6*F_04%MU$$MnCmoSp9W*n?t08NyUACUdnb}fFQBmhy zR(Av){k*%b>S&&jvAetG$?Cj^+j>o#SZ*q@PD|mLtKcIZVHw7hf6iw4noUzzY)I5Lwc~)ws!t$_3Pekub zUa1g$+SpTn$qd~j5jO7=?$OOJY89SdT6NV{?UlpJYwf$19AD_Da*|6)g!#PNi=8Yg zCIYujmMQdJ6dc&;O`fzb>hn%+P zteI9fB4_-}PjAr9+LZ6TRi#aJ>cy=hn`SvVsb?IRFh8{W>(6EU!U zsrAasd(Rt1WCVL~oDTOih?q8eqSB{wjouv>f}%Av%A?!5&zW1PTPgR=Ikm&`-u9VR z(<2Y=arqHp5k28ts@R-omN|zrXM5e7^+ZhdxXLA;OZS8pGA%yIlW|99A#4EJ7foE2vv=C&mL6S#N3~C{^qH!pzW)Q3U_r|rhi&6bJJ19 zTy7?TAAvL4=9P8C<}JRGoSo{}wR-hin-8+xrC(+>ZqmFom+Q;a0$*0aO9wd*U7UIA zqQB1C4^Kb5V3gRoQfu|h%h_zMw&JhuSt&1Da;DG6_pZRCQ`O2jZ*o4p?dudUo@-XD zqpO&vXPcOEA*$*8q?uZ`40AJ__uT5@<9Wepu~hOz#`E{HF3WC@&G+zeYOdURF43)_>-sj6quJNB zLSGwB_*9kLnD%+omVo;LLTQgYG%{x~qj}IXz-bT`&7$jWmmUd-|3aC$igV? zbw$0`ZdBB>kUP)~uUk>>1>^F2`hAOV5NQrzSCXPA)ILlX*bERiUj( z%0tKSR?W`oY?o&lFekC>*_gPtY`u?9blvQy0XMU=qNEyU^@U2d7pt$% zbj;P1eDjy(UP4Z4VMfmv%S+n%vB~*!e=qmY)|x)=U1#yet1<3|WnK!QRR&#Wb~Zas z6yN)_%`;(T%F4b7m908&C-i3&+*ZmtTFQND=Pr{7!RrAwzp6Q2PcR8DR6Aw#bb;`N zkf}GLzRqjcayv5lz>?nBtsH`%m(H#YQlEI+)L-qE4Ttxi7QL&%OYWUrr*?IRZ<^T3 z*tF>jv!<<)U8|_e`?LJQ^Y%0?j}k_q<8@v^3p^)CCyH!|;YnGnT@@i=!EajkVtST8 z2eZXX!6#n=JX2Q+U9y|elFR+Tb{4zuG*>?o&)@f9g;rHD-K<-6U;H{+hWT!S!8Pn@BCs1 zhnEHK74*^`Or5hSp>C~OvA%C{`KF_VOD1(EZ@enubY)G*{nd(hi+MBaK6^@bN@x`> zYMJI4zEv_?-`m->Gh@#uk6l+U$mtp`;GOl{v-cLSqZP~NOP5`ih-O=^?ClzM$Zi%JUb-tCw-UuzNOB>9&hN@14%|VKPCNMg3GdL=rd~iWkH34?m=o6#w$NdwF^<#dY0&8>+%_*>md9?C+zP6X)%{Gk z<#xfyEUx)X&lc{@4N}webS<%8+V`$>)4AZvu!$ncX4!nfdy{$^J)&L(ZCQWlnc|hn zFVa_^yp?&dVh!uB2^W|)VM@wqHJ zLv~6niTBy@YRk1{)5>~`V}g~%Sto0}*v#$XU|apjF*^GR)3jMP8+Y7EKX28WVwrH} z7-hxHUQBq|$EmQUz0|P8@OI%8*(YyyHfOFC-*|Ih?c|hs8!oQ0QO{Ydlkz}q zQiR0Cl$@5J9qXT5U9_4zO29)_t$D+%q{&f%!n~y`6^fU6R_Udf&%RYGd*-!Q;Fdn8 zZ=AeGL^{{XUVU)(RcUqj#4~q)O|U+icy`eS-$xTJs<;Sx-wHj^yKQ|;#q_IUxoIyd z(iGlIeNwC1;up1I-GazI-iDWb+36WBb$y4$%{5o+T;x*wSM8y8N=k#{`b7iN)gE6( zwiGWfv2}gG*6nqRCu+^SKF${tX0B=6Vm$ZUw|ghEXD>XZ#uc^fsP6L}F~KXZ&bjTm z<{R^gyZaJTO0-$oyu|c6wu$a5it4y^Hg>D|0h7HZ=caCr>X?zedxu)~fihv8y<$b3 z`XMvbrmv~lrcjc&s$62VF1%-x7j@q#W17I?EXFDHU{-TP4r_CF=)}7RFAE8I&6GXXa`3X0ClB*W zwRzJ`Uv(PKx0reF^^d5S>x-G@WPOs1nl?G|1qa{m#HFi)1B|31Ut8_Fp>N(j>tIE~ z%2yA<_fA^-zU1JU5N4GJYnKI@bt~Py!*y%h-sOvuSMT0w_wK>FnIeUpHK#*2>}jp? zd3ShKw%@w<3pebXU#Zq3xuLT-uXE|$I~|=ZCFSa7Yqr`72*)kirE*I0TAA5AuQhkx zhMGirzg%53HF9a=q=J=s4|Xyu8mkxi`#wypVC}>m@fH>TRl& zv23_u99wWt+u2*)S$t{ga&B|o%Xvk6t?y>7^_d!{X<}6n;4bU+MPtjnt*MhQCx+#x zitK$eRbdLpc2UEVZ&qd|H^|iStPZ*@eDUJdyl%g_wpzQAq7<(u?bKmwk6Gc(8W#Ix z`{re_3zIxbxh5a;?V5a}Y-!$_P1QTsy?oI3j-zwUu1oH7dD#X0)wR9#W_{Tkv1|QW zPcB1mr)PSXLMj~Q`iQw)o@LsaFi{}E>eiahm)vu7yj499>=B!FK5p}pTYGsHyt61Q zoFuLHd^5jO=$jQ+S=sJrhNiKyhIs22WIfP{ZA~;t-jZpUF=5N4lXn&v%v6=?h_PZ& zbUGe6L+}%TW3$IQxRV*tm`FQd4 z(FbdnH!P2Ml=N_`XG+xR1Q9&1x?ZCw$iebiOYywLQaL8zx$;8Cv^@3NPv&NbxNdQ_?M&a{VF4*f#haxX(R zYb-d=uwTCU#O?LhR-3IU`R?ww`66R>*rQ2dzlvqANY(txS#T}+mZaX%?CExiJ0-XJ zC;WJ;zO;nr^7M!+y@_|iW}R53+}xhH%+znorOH{BYaDcfCcS#8GcQ6e?&yw(5jk!{! z*@<1HLEPW?l<_Uw%IEEwp_R&|r3=#Tgxu3RIq%h>qhZIY`kw69b~t%Uda;Mryf?QO zXTHhxT+0@gC3%DKNc5#g+rwKk*6_D0`E`qMu4+CRFkgJ8!}gHRVONEX*jGt;I5%dR z#)KXHu`R2oaH9FvXRX;@%AEb=h)dY5)Ay(=T#edc4(8K=^9g zdcPGPFPB^|M0DP zYyY|TIE7wDUu}B%Y=f!wu1|?^PtrB-L@eI1I)3Ns@SV@J%T;dwJ&{$tgu{CB!s=${ z_+8q*>s~CD-sNbU2EwnrxZds%HY_s*4wchg1RCH&rD|NjVs zq5uOkWX%C1Y*7Lu6SJU@fUtrAi-@Ab|62?kjEoG7tW19lH`nj&o$ltP+y8N)$ASkB z9{ikd{H*5u%+Ge|XMWC+;d0q?U$3jKZaqQpwJuPgbJr;wCJ z{du=uDbv6AKjf5zPM@$#^Ph>P8s{;c^bIo^1Er4?j@ z#mPp`lZ)e*9ZyZsR*d92VJ$0d{`2DEi5?3erbnFP^Yg8~@TLp|N=kC>KX&VtGVx?` zc3m|6wUg6CM~kC95g@NSAG1kyc#@HE{bRDUEZ?aUaZYba^3QU4HWg0pnIY2UEA=Pm zMVU?Wsj#3;Qzw*Jng6_a^5lVy-QchZD9Zl0IXQXZjW;iD?!VV7Ws-4mvCATsj4k2M zot!2m%t=X7=h!e`_>qljlD1&Psiq}GCZ@k`Zrr$O#hTU>ZN)J2S0F`?)g=}Lsbqh+ zapOfL7s#G|g*W#fyY;!UGab`OI;NA(uD18)#fvv@Ufj58#(#z?kS!q3WL%iY;c+oz ziTxp`NeMk^HZDo(0vqQWKeI_q)|RX|eJn&&dE&zLX8C7l%ZjEx(N_$!GJn>p@>p5Y z;waNZ<@nydu1%Xnr>t3;BHP#dd-3Gv#$++WWHCd>gD2OU<-BueC1lcwzV1KSi*Q6&q^tdK1d6IVAHL@&}_veWP zb5cNwTvO5EBFBm} z#Eihnu(NvO#jr4^O`;RZtiHR0g2ymfL}u3Kba!{RKgoYGE-sE=D^Of<4I1k_$cvF-e{wE$C}h+ zEp~Qwm6HO=%`$>2>mRPql~h?_AtJ1@$n~$pDUBsTQlH)W{CqjNe;6)YJbCiu=H|(9 zIX5@gWjuNC;K`GV3zY&Fo;PnLmW++QaoH*tpGnMsV#HnK;e0+SI z%`y@XI#s!UUd&i&DbmTw5r45KRiw)~{*RSOQBhG*#)V_Y&iP&1wG`nl;u3DRCT2KIF&zz=rjqzFU z6BS)Y;*>V>OMVs+W^pv~nbi7N(qli6N^CAS?goBHl z)6Vt&IAx;ZGUMZnjS?Rwcl;FX*rVp-`dEgGqgl?VP`G1GQuE}ACj;V)Hui&UIH}xhUm0n@pOHOR~tEKCfmqV>P3V z-ID#1{h*R&a@>oIm0IlV>`W6CIh;QBB!716<>ZJzT;HNE@t>jZ>}*i_s$XV*`(H<# zy}+J~i$Y1we8w`u_HEsh9;`_^mV7L^(R2N6XXnY2Cp-PompK0STh9FzafbiC<-EAL zIeGEo#r50&$bWYF_@mRrMAPtK8;^mL_`@mPlNLPaRIL{?TpYjkvBZCdc_54KKjgmt zyTsbAY4gGhFUqt_6gVk}=cJv&|=C{$-7fCsXwQnLgI2Kb!{A zd2@5x+1bLPveFVaH>dr{*`=-cRb64ti&e7Sie_s0Ul)Uuz5H`m;PNr6++=D%*d0fQGHBj?I?oohRGcCM_fsGFBwU+2ciiy^UG zCpKxsWn4UY^59}nW|I02HWlQ=g^OJl2`qWyajYkW6B2GM`emT(331}$#Yrg}4L99* zabxCwvz%30=NEppTYe?db7SD@@!~~UoYNV{wCf?w3~ul#DaG%_UT#*7s& z)*H^?aalZhvfG}Uo0C4Z|9Rr9eZp{3uawF}!$5HTcJboH3oAmbwEE70!13gbPwd*$ zlNT=xSP`bvd@3&RshCp{$R@5+aY38ponP3rUx?%>bM5M#t<^IvbiPwjx5ArW5b-xR z`utq>JbBP*FvIh2&i(FF+COuALad}e@wo6GQ7b8{Rm;C% zlf2^-xxlBO1hP3PDc$`-W%ntYmYZfJW!74!H(uPFym(P$&oSk?z=>jee0)l*KmpR# zsmSHW4{nVGB)ciaKkWV0`RVwdZzUx;E)pFQXS@22r(XcMN~it8FWI?s=LbI1)&xb& zFZtkCHj7Wy@^z;4)G2OSv0D05pq$~RnQndV%5EKQmWmus6CdkyPUfsQD=o{{J6qb! zQ)QDR)8yvKZk>vgoffB^O5Pu67a4!cb5crE#*3U6Z+`I|PX~buZ(h78vsrw`raj#~ zJv}{n^X5g7J&g<3$BMcg={)AA=(wm$V}s53oE_O{%6>yRI_ORr0*_^Qi2qXlT!me$vbaeyg2P#Z-;Yg zU|5-!S>hxntJW!6?! zW;r+as|u@i=}!9-mvdv!lOhevkAae$n-^}}bkk?DWY3E|txvQSUffh!?9P7X!S&A0 z2`3hB+9X*tGv~yyqKrj*oIa;n8Qj<;I%Cc8E0O#QKFM|~Z05I|Y#CYqy}7y3bMeHJ z2M>M*RnGl04<2}uobD3XJNd`9=#N!w5 z6tLua$3@qk>sxZ}Z&o>YakPl`1p21JwMr(DK%tJ9$D_N&d&h zlP3xGIHwx56%}PHT2WHsY-kkev(4CDUCGT@qIb%v&+*d&CyGBx`*ZQ+NsWn9GTe@x zG(54SD8u8T$4UzeGc)r?0v%4$)}no<7p*ACNu8!Ft=8)9oYr|P`G6nugBq`6DQ-bG zFRY2=UkGZ+R?QTvWuH)D{;XG|+jY^Nw&aB=vVD8p)zx~^>?Pe=)!EhdTs#?+;^vZZ zeWlEt&WacLXQ#TINz<2q*yrafD=pvQq&QbR{X(Sw!mv=j_Vf#@wR$JI+*lKmGg)ND zgMb1{J)aY2BF=WToSiKy0uNgw}3yeKItDN)lGSW%X;@uEqInOU$_dwRN) zN{F^-*O`*U#j;)Jj=OF)oGGq6aiOB;$%O(v1v;q*C%L~n+u40qhF@~B;3T)4H*emA zXj@xb85#?;fr_O~FMe?=evy^r{-gTpQ@8xqXUgI|H#aAz28Na7+}vp7`rLWb>ysZh zZkp+ArWCN``dqFPCz8*(|Kj}5;Q61y@ta(*swCH>B^fi7_-8x_NN$$;bb8`ryX2$T@)5k`V8fCSvQ+|n@a%)vOR&!ig*h*Tb&S=k( zGa)6xR#sNhnp54*R&@w&UbG_rNKT2Bv__q0pDU}w_1U7_n)WZ$|0?|lSq-xNtF)xE zLO-anIa}h%&-q3RwmuQ?5}74AQF3BN_J=(;dNK~PX{z~3$@iQ{)hW?d`|}{e<3EF? z{d4>0`ht_(&h_?W9}Ayxv+LZc6E^J^e({}JxL-;m$3>R!c=G1O>CT(hyt#4wiNu77 z8A~#*&$bes@BFH^bxN3(W^d=@^rVzY`=v}Wb{ctlOqR4OF$gE!-N#mGHPLE20nBZfhgLB1l{7*?bf8t0_O_6hcQOkGs=c1b>ITLyN z`asp%sf`ym*V!u^QaWY&SaNY(&WqV<=Z?Fb?P_(AxTtY)v6EY$_hgl+Op{pCul$<( zGbm1JqiDy^`Nqw0$!?qmC+#l!+}t>=XH$x^>Ws*SBb{cUk{RdD%u`M^n(33{(%ILw zaP#7Y0WBFP!Y4nL_SDS zC;5ntbCm3hO4kWpDi=R%3s(4dev}j1IA_Mhh9ll)R$5&fpIDn2Yfj|lIO@i27_p|3 z`&7z_)J1*1ynXG?b&AHx$?_|vd7H)bOCFd$OJ=INTAT6Y=E?CbCpMznS@O3`6=FWre{r=uf&Tsk0k{m^2Sf%l+_Fm3MDBWo$#w) zv(o#N&7l+CpOuU}gEE>~C0@K)t#^9U%*9PhHqE%XUwro0^#L!j$R}e`xAxUXLTVmO3Z3G!&D6YA;);q=+<)=B$(feCSXSc2 zG_&AuJ}xk>TdFV}E8Uxhgj;SfSWO;mg)vm~oa3OEUFyzu5tn5)2% zvp;Um>i=?a=1&ztmlSowui6TmBr9~% zsVO1&xx3Tn$xn2cjuaWS^>G|?5lK%gi}=r=ajd1=d7{ID2idnbeVRI@lCM`D)G?m0 z_*`G_loXA+j0;O7Sk59G}W%enIQDUvg-%cNY4cecKbg%!$*rejzgf;CfhSu6Zrt1y**oD}*QQPUie||v zlR74;TugInRXJ#JRM{>0FUP4a`Hq?Dk`gD671W%c_*q7*>$9@)#Yyc>X~u#~pIwzM z1{Gy2x_I#5XECFK$qjQ@9@?ck24!C>Qt_B^b5i%_7ur^zQaV-M{F*vtP3uLUixMXe z`6+t3IV-vyIg@5$lB!d;%vCTwH8LcpS+LKeDJ3p4t#eX}_pwyB3gd$rb)Fo@SsV=t z3JQvXjKrTgTTVXdW|FMp^XAPejk+y1piwiU!ihaSE|0_vPiCw?)>|hzt!G-9@7%7= zq{Xjn9-p&$e9GF)WyZ&eJr6P#ooVfHQZ785iBZq8V#7E!SHTH$mOK?pepBl{rIKsW{3&Nz7f(u=qMYvT?(TN>N2j99 zlrAf^6DRzfU!(u!Qr>7bn%l^=rvWX`}K&_-i%ly?xPAQEOXSSp-*4Dmqa$$;CV5(T~t6KhrH!p6S zW|A>Q^>Mnp+aHgM>lONSXG*+@U-?DtOo>`bTF^w$kW`8J&t@hA zPiCEMu~SnceeQQoc1qT`xNzZmL6u1-QUY~CO0-0!|D0%xoYr$KZL=!>6@9ZDpZhOQ z23eYTiS&w?<@mJt$ne!nb2f{dusCT`(fp)M)069`c=k*>?XIruEV*(2v6ha>JTqL5 zolbLB)@pZ7J3Cu-(x1AFj5-xBAwivEC&fEEJG(zBNgD;uI`b`c(fk!29v2roIl1-u z@$uPYth7{eRrQ=GmNP9$`LskwUEqW*rtkg~71W%c2^wJyaOuccDZ}Tbk^Cnk$VcMi zj0G(@CDBI4${O`kPNw~55V2PkR#)pZT%_{k`fO2Qr@F<9-keU$HjXT@4-yhG$+$3K z!jgc3f|{doCPhAzRXr#1OfvE8nU=Gt#aWbR(}X7ves&9Nn9uy6hQIS8Xh65irI*jk zRV2{)kBZC0p5q-ILXtkKi~@7k$FG=JC-J9AV9A4?G#!^DyX0dQQlDJT^_^e%MPGBe z=4{1jr|MKRMLMNSGCaT_sK{IRo2QhK=QMVfgF-%YrmFgPcJ;LxPi_Pa5q-8x2Mqzq z%=+xCv(2arGzhA3T+LFIePl<=S^X3Cxy zFYd3H$bGhV_CK*RQ$l%re=eRpd6LSpPAj|iD{GcM)mIEN|M}#}1CRJ#8F?dv85?GN z5d2qUAl&if!i6UV1qC6~x-_SzJ~4_6F@K~e)T*x3+}!A};K`Hg-AB}NUWDm1ohUPZ z+9sYg;G)&}`)53@~zvLZnytvWQ%GCUWNnTQ z@}Il^Jo?XIv4NWbj2J)a3(l9EwJ;yv+e*#vo^e_oRr8qI=rkOA2Y_l8?xc?b6Tr=COM9c7IzoI2;(!#(CFO~&^iawv4Y)ZVd zh0StGY}&8E!xE-d(kUy!kUu$r^3_@C4nGdtqce1#{>X*yBMzhKQYwVW3vp^_S>&MZ}$aLn-E zH#J{Dmq@d+vXcDc@BT9^`|A;LzVoA<({F(`6)fYT=Df z;N-C)td?uj&G=(JZiA4hba%HS zM~HFeMMG~I`-Om1#I3>B*Rq4XT z_23DgmOek<`p=4nfjUQe1QMGPf{KbVu762$wwx;&n34Qf(YVfV;rd&uQd06A6Dy9L zo$O|1cmXtm*OO|vxh~Mz4b*YEFcCDOXp(XL+r{;PY9Sy(G)TNKLe{|{^tfZvG zTIAtfG4xAuei8)vfKVyf{P|x)Huw>#ye6Imjp)Z8 z?EldDvH#QYSBevkx;rmkyz$1Hk{qA7jsGUJ^tmg?d4RlDZ{pu8GqLAj&q0>;fja)b zHcmOS=1j`hDaKCj>dKQQ{Aci~Z}FccW%{#jkte9FU9oOa~M+1}p%?>ZA@rn0Ln z3Ow=T;`(QuNhTV~l5IR5aT!hm`xi^*oOTNf_>;5DUVKZye}+k_Lapk`lPAZwzY^%3 zZI*NYDd%i6`v)^kTsbnH1gU^#V=fAL8u`pPlk`Wia{rTK!MZauwi!+dmi{U&E9z?a z?@I<~Vo1%8f5yi?wmr#Txj$~MZ+~T$|Km-F>%_Q>pzOO+|2igd2(p=Zo0XMmiONcw z|A{zlB^QW zK-0dDOtOC}Ns4%@PE0ysbNEbc=P5tOh!sBmKMbd&7>Q&&*`dYGuGT9hr72~iqA4;* zM&9^YL4k&tp`(${oIb9m2P-xCKW|R^<7S~Q7}0$!x&2gc!t7pXVo{DpPd|s}~ZY`Z4_gGq5igd9u zHF_>~^(;zp?f<;F?vTO3e#wY48&aJAeLCZF2hi5tt(N{6zTGgR*OBDUiphWN1zEUH$xli$6j0=dUuHNZFn;=DNmns@ffoHkAB7a_BGZBu z{xh`9@L>^4H=6qQ$&p0mum6uQC<`($F+olaV1}L#z{n&hpuj9-AnXvpqL@$so~mbN zWVC1ex~NNI(f$W3)`$MgKX>|8*T34g@yGXT|7Vy}|C{UIUJ<3ut|Io20=l%lv_%3Y zT-fkoW<|2T_odT18&k6*7j+%Yj93$BPfT z=LHmn0;SFeue{>1s7p#R#kEamPh5Alj&sBwMdhg%^^#(ai<}UPOKKPLc;%!n<9^J) zBRgAKpHDqV_2G#i9iM#7msN%vjg;jAX8v=um~Y(P@wid7rKMxxBv+Y2iv=Z?7Uw)< z3!{uq>ufrGWWsiTezP)}bBB^9-q>p`^q(R5k+`4)$24U@hczXt!X3>zGtYKk>@Qt( z_*BOtizxvo6BR2L3LRlF(w1paai7v}@RKhy(J<+l?Q55an@K4y-bPYZU8-H zxjs_4dE&J7eCJn|iQMjcAGK}zDB|KQt+Qv*N9PFFG>as`D~psTeo;N)`EJ^kQn?MC zR|;eb-GdCpRBYdD+!J|Yk4sMKgv05HC*H*OPH)rMtI*-HuyD?tWT(#SymPxxA94>| zbM0jBv`9|b&J%CqCm*`JvFhl=nQY2aCbS(_JhADtzKCjPqEeeZ$J}Edwym9X_I=Vs zKF4Cdrty8s7#7jBCBfv`ZxroJ- zz$@7&6W=rPO!&}pd}*Sgjm2D6K_%yp0d`3Z$67meU#!{BaVAKn)BbSE(x-gP5A2v? zSa!6v95elqqUiBKTh6(CN2itP zJd@Ja@R=<4EiON!voCpO)j}nYx;;fYn~ohf^q6Glvg72m$Qy4WQ>Vqr&$8y77Ma>D zC~#cxK*pjy6*Fe0_D)JkbM1IK(XwKV{h`(lZe1Z)5tBeyk+6!R(~7uU)M`D?)GvIR zn4~oE#-`)5q>jEm=C1Sf(8T(cuQn!4OzjRcT{}U!TiTM7`|H*RoAxT5@Yr&u*~d1?W3%!l(yv#8R@rs#UU|!NW&3--ti2@h^Rn-29)rVRbg-~F zMp2n@u>6zn*r zqUzsk%XxXNw8@t$Te)6|MIK*0B~sO_&Y4`!{PakpQz&$?OH!hi)AERfM@HuDn=dY# z*K2Y~O@6J4idB+ev#jA}m!lC0M~q}0eJ|#1jJi%y6G_2k)oz@X*r_{4X)+KD^=E}6LEmPW#Dqmcr&|+r(`QRdxw?S(C>XT23Mp%7P zJ+w0H!^M`sW|#IOF2@bee5o?umeHvwof{-@@yVykhaYww)^^QWcG501;cDg!znR;$ zoaHT4KYYp8bDA(;Z}MK-$x{~wJ?2;Al&G|k%Sv)Gn6#wdWXI+FOl57icQ$6`QEC}a zs+RPtMXfZxu(Er(po_<$K%0pjk18H+-0ZufBiU@K+m?&{?Vempy@_qX6E!&}l&YyI zmaJTSV5(_upWCdARVH^6r_FqE`{25So;^E-(mGmwTq<+E=wIk*NzFL!lW~|wRMl@o zc8i|Dr%EY<{$dqHC9Nerf_psD=FjOc_B`{SA+WCPwwpxi%Ox}BdgQlW>ziIIDWnl{ zY{z9cV;1)>_E-L@Wipm7n`J4tk|SAkvA_G`i_2yy7H`#%^ElG=@WZ>9TsM`_m&<15 z?uxOBSJA$l#nLXQefi>EqnIUbN+D-WF4sv{MrAIWeJUw^@x^UR@^vQLUx{C^B=f}= z%karO23?{?@dw)^uf@&ETsA9HlDn;Lv7lI$t@Jrg&O#N_Z*G!4C9VEFHeKoyk9hPO zyDUmr8=ThR^mO6E#g?_J@_R&gJBj$KNhIu?@JRp6e+I<^r|u~oy(Z_c>=yl8cjNWR zC!c&uY@dAKk&24`WSfbdPYUeMOySfMn6X6f!|8e%A%k;I6l()|3?`Z$TB3e#RzCmK z$|&_~eaxYHp|ScO3~0Gf4ZXgV-@?h=rsoQ zvL=^(#iKIrs=0nTd7`J|kBaxZ<6oR!e&{GRO5vzc@$UbBgh50ATGPYN1G)e%Oc)v1 z?3wsM2L{OtFhY+Ef)zcC3<81*iUx*>jt+%T#f?`MS97Sb;3!l-CJ<^b zn^2>~E0cHU_@Y@G6ekG$U=dq9A?wQI>D$FwQmad@OZ6`gu{^kOpXZw&a$BdgA5wMX zt~b@vjbX8B+M0EBb=ZOqr#T1LCJSAew#!FP*G+uSzX)ql%?}SQIk^;kJ+ZweTa&BC zVa0OZo@|L@TMzEZx>Ck?WNX&d6-qKL#cfNWoy=`rfqWbeju~C@k6dfP*&>C zR_&g9rHx!=Yz{{+R_45^Nbau5y2kDx!DQT!vNen2N7oGdqks14>U3t^GyfvH$N7<* zlfzbf&O~YEaH#{!6we44B;3;1HK?AUS-d)IC-XCV;m0bvj_gNPEcg7`?m0Qqy!qbJ zJN)glgtDdQ_XmVNP~=&R2I#BQXc5Ubm`O0Y}20Ph>rpXKBldWI=9wQrt3`G%*p2teyDxtn;cZr zEtM|&#qg%?`i5G@-bY`Zq#`2)Ud?G^U2@Jl>YB~1t?Y@Bvp~TfP!m{bGqv(B+oE4q z{vB_UUj<*C=kY_i_sZtDBX4$>&8S_|;jpKjU8i7kP1e=b0a1NN70+B<9Z(})Y0-IR z&%WAqHtv~ncd9QhI8fu)$0j#H`=oZ}_P&*loX_+e<#LOpKmpC)=D(&e`w6?XfhA}2 zih6j>}OrUGcQUvS6lI*lE8^;ThG{=lwDmNAe2-rk-$b8EIi;YFXe{U#X)KHo_)dH-TzcFSaj ztsgWckNmVzp8a)ea}1k8Pu|@<1}8S2GrIY(qvc+9T&zU@v6G=cCicxewzu7v!CmLU zfgfMq^nK5ZOqb;MF8jPj?CtIC`Mo}M1rzKZDW7F-mj7}5kNsm+uh(*N>p0(>y}kGL_PjfrPHVQl{LjFbQ1;KU`T0zRxP|H;&b*YrtofW-`NZs#Di2CFJ?Lyp zWKvSxo_BY5+0!}F)8aTM-?RL-fuY^>o>Eor@l1Z>e{&t4%6odL%~Q8L^uTy?qr~0a zMW^%bxI9YPI$3&q-aR)9^SsFPhG}nax83=3zH!3V1EGe$b=SPEDs>SKTRv^J&z>45 zwP1k+=e)bSi_S!s{bFBx`-vQL+0$u7mdff+(hBay*6?4D@H79m*Mg(*RAF+*BE_~C ztwK<)>n?kHds?#Oj`S0i_q_^b&fcCDIcICu6|p5hdt7Epq*N8B*)j0!u`ZC1TxZVn z@YF8j-8IdUy9>^RJr}#XyCSCZgK^00?K)>ZcdqaRW#hF`CsLWj7I&;m{&}yUPsUA{ z<#`3jQD@GT=Sd!O&1aYXA)Y)TrA>T7!hLZ`?dz}AKHWOlXKbMxwKaR;e7+5QFPiR| z>um5)o(75qB~bfYpJ8d&35nvJXJ*VvGc#GvXtC#oSXx@*%VVXNW_|s*Izph;`26&k zqC7W-`afPy_Gp|pRzxqCBTcRbm1*hT} zg(mK>1$`M&eZB{c&dz+BeTJour_6%?X2RxUB@Ytg`rrO>Q!CuK=Kh4#^PTtK{yI=H zZ<&Qy-rXIEZ4$Y++k)n-J$>U|@r=)H=C2Zu7EXL(us(17!?THvkEAD7o)tYWCo}0` z!Om^J+a3w(8c&oul{zh%{b5Jj-Q9(!rZO?%RUD-%ym z=Q^LS=d<=hVPoo~a&ybL2ZA02cZH7F*s3?jIhk!p=rce3mE(8Ur=UK@!u=eY^Y?Jd zJZvjS@NT`kca}g=+ntPuH(EE{o^#PEt|Ggu=((HOrEC7K%hGRE)Sqy=x@Owj+vk=u zt3L0rh;K{@wp`41FF3Ozj=|<+*1gPIH**fI?^+*muH|6Q$!8k6g;&=zn;Z63c)rh@ z#@zP$fmqg|iuyCIt7G2XXL)+OC*78}a-;dS2ipZs+!I;*;rQxn`iz0wj;`SFxz*2C zXnLXR28z4c1Z(CE0pOPNb;61v}Byi@LsKAd?^?uN}LbpeZ6J5oL_ z+M%QA@z_>DX6?%J@9()qdR-1W-ESE4-R)+{p}1$CcXw{Nwb@@(^4O2LJ8QW1@4ELW zQgPact>^uekL5l)cyQ-6AGytq4-6ijo@;v2clT|Z#7BSc&6wxrHf>Mu#5sD(ev&)d z1>0smUiTv*Hs#J2w)9H|a;7P>D~}1^ndvWmn(JmHV8vZV*_#SHW?VfY<$Lu2uu2{M)V&lFiYhWAwp`y+wtvhDxttG97*-{_o z)rIM|%iZ|1>2@2B!Z(A;+1G@XBWzSM8;Uz#8}B?&dw&h{iCay{jY8%YA!!xz689_a z+qCU8d_Q5*++)W@I^Ju4IsE;Aj>VC%69=lc9OrOt&O4JiZEdW{REu8;b#B#j*gjd* zZOSt2c(BGu{>u6@b%l|s-ItXc9!?jiJ}oO9dhXJ6#}hxr7H;X%t?69C^S#Zv`gWdL z$>D3kvClLc9$uUG!TR%*1U2sl-^V8|9jrHd%JY%WfnHBxcy^U$KNCF3^ki(SI9j2`{2XbqB_-QIS0Sy z?Ok~8Jm2MtL#b?D@&!NLd-9!+OL<#*iz}<%|JtT6Q?)UhWkJUuI68{?&ighneN=5E}1RfY%ghV z$zO5%QFq`g>uZ0HYX+b8{dx4Qz_Itu8U=fH%eYkNbWeXL{+!v+Sm59Tan1+Jx0_v8 zDCSwL8}-D;e1Gn@GoRLO$cVfCwBg961J`z^Ie)EAzSyR^P$a@WqCSd&%|Jv+yV@sN zIJbHFw72K%D{2^(Kv@6md9W4)XAmgg*G@3no*~j%zBInTdZHMQ_K0Kl?u&1E7sZHVe<}f}cn=ARf z%dXvqmJpZjGvH+>h6tUR%ko%dwt%kVm%mSYJm zxw-u^&&(dj$TcvZ{y01m=>vM&qD*+Q%M@-))FWHu`M(v)( z?IZIx9R7G<{J{^)D<$!*7XXrk>M7pr~xKYB) zBbQuG3LTV`l$mrT>Ea0<$%7|PN3L^yd89$v^Y!w*pC4#;A7^`edv^AOnmy-_vg#?x zEXdiOX!K!A$6CMdyMIQd`-E;XJG{)wc(sy@j9f+Sr#!i(TMFw}+%lVSDPz8x$ohsE zG6#HpOi%u2@Nr+ESTWCF^QogpAIx5Kxj9Yvb^hU>N4|2mY`d-c;)&QHX8W2AH#?Ga zBQ~dnpR6?eRVYw+zjwFJ5wo?fi?w2}@2-)KDUDhvVdL|_(zo)dUy$vGmn+{Ye|y@u zUY%*l+1JWbKO9K^X8b3gJLLDJ=i=q|!Utqz*9-3VaaTO4*t7Iv_jlHZ?f1Sst2*G( zJ%>%4^Hb^9mc#nTxvGv?%NMXNWSPhMZf|s9)|Nv8PvpYqq+8~GtbfiFop-;mLgW6k z@az0}W#^jt3cQjFS`_Bb`1k(1QhHAxQ}61q+vz2X52=K|D_rxdO|r84l5L{VMirTk z_jA|Iyv%S+QhtZN`g73(AH27`Z8Sf|q&h{pA)m4T`!VAHN0tCx#j`S(zusNACfU5X zI*q5$bj#Ll&SC|*x+#w~{CWKK<%Ex_r*7QNmyZ14pko)_F876ddtv02M^n3epL0j> z+<*VzEKh)LrOJI-i;!d2`|j*q_*&=je4E{@YuB^a#YOyQ2-_exPmftRxz2p*x`kgG zp8aQ#Y)bNzbBu~QE$QR7MnY0oX7;`Me)s3{*x&lkaQ#q* zSoygR$1hKK#+}ciAM|J8Gwn60vmc6buFG6eb9w_CW8*`+44DTBE^!@VD#FfW-Ok;$UXiVF>rIMf^nUWJ zy0Txe(d{$BHM`D8uvMHYXfM<|e(BgQ1||#nr)l5ZF7Tx(SctK4}V78s@b~W)|=%f<+t^Hq?S)is+_jL=HfPQ87}7qo*aoE ztY+OZdwu0Y@_3U{@ht1B)V=Bt)#oE(UyN#{4tfz8x@pXxqldC+*m$x~J{!C$@`6PiGnMxGCN8?2dOiZJwu?zwP;r zX~{k(ZvSUE{qylfNy*BYGkXg8e2Q3h@-4h1aO7H+LG*)}jK_*B)pzHyX&y`GFpdc7 zY5R8h^!90aqW^?XEBJV-pRzE|XJfmY|5G_lkdvKf;~JT+BZUP*2WNbq6l|$D_co}3 zT_JPISXBlpR344OC$9xRf@mUbt_m>D}JENFiv(wV>OF zA$oV0y?wZ2+ifNBBTI_s7f8vr7fPLenWkgCvD(P`^aDS2yYpPO(U!43-)yeVmt-{u zb!0$x-jkkEF3r2d!mm3vuD0UHgXWW`Vx{vW+L@|Vr`bG6JYpnsX+Q6ioD}=;4$VAd=>i^u!@?5I54<&> zFf6g0Z^3=4xGzmN>ckw@6&(i^TMn4L{k+G9PgcTn-_6`J6P7t874xXE9I5Gl=Q<&V z$KX_?4Cl>;S@WiSuyjs)`>EynJl}-ljC>wfTwD@zKksjP+&kyUoUmQj`Skw8Z!3B5 zq%DHuu)%zWq&{c8lifW>mLD+hJaRT_tA$sBM4U|v&wSa0yNOm;_+GWVYTsI~3U z)ipeZ&BZ*NH|k1P)oBFZa(=>~VR4&eC!&c@M^T%aiP=Esbgr)_h0Y?^RUvSHnsW~t69A^xDCrM&t;;+ppAgR-J&TPGgw2;#A|u=I*p#yC4{ z<38pUkJv2^)Xe8IY}=4vbSCZX#TjZGxqr$f$I&t0WBVM5a~J;D>MXZe zd?!xD(y!u+UHyYuk=t2UN61K=eZ1*ToY`uZnfH7)TiiEwZfZNZj0Q%Y`Qyyxx>1`*HP=i-*fT>BL=oeeCm(Kc{W@txU7k#cm&-;>aSA zK6UcPBL^zC=SBJzojI`e!moqJEG4eEu6TaI*K?NndvWPwZy$X4e4g>>594+=?mPBk zOAdLqKdZOM<2d>Jp8WO8#kX@3559F?P-JPm|JT_c^0PnIS@<8EV`E?O&*0(g|F;-; zK*w=2Ff%YP2zc$3nzB(kyyo}~AD0W0OCxw#<@fw&*z*0PUDzMd>yxrJs4Kr~dHa5| zXn!bUgmuWLV|*^U+YZnCaAmIVo}O>l*D8HwRGJdINH*cPzV*ZW$>%ojVXR)qEEvaE zd_nU7&#TI_Z_j^X2(6Mo_UkOK^ro@}A7U4o%?R|>dtO_o_B3@t{QI!b#W!qy(W~ZGJ?s2Czfm~i`rlc1cQYJXZjyY* z{L2e=hDprPGmk8Pl*Z4pu=tfTbDiS*WqYQ#Til5=P&l$?i{qc-VT*yZ8V0e_DKk|6h5K9FOltnZTDWD#hyCSg%<1 zoKfTO+Q=~X%_~m%Hv;;>MqvTlmM=WCI!t#dTf{8GPtUU0x@W8G$f=kwW#XtM&#SbG z@nX%DHcNFo6`p0Q^$S9#oGm`V8#OJeRM4tB{zB@ssG>8gESk0%r88|hz%8uM>7l^D z@h)PQ+V4CzV`ZmRS2N3$9JM+9j&9Pgy->FA?vW$)KBDGlBrfgB6+qC56` z95wlC?0%s|LYB{M`{_ED*!q(2Gg-4gFY6Z&yjpy7vujv&;+)j2i4*I-6)x%6wEttn zukO%4o=XB(S@zgypKF*fH}VDZkMqZPxy{}Re&o4qv3&kc`?3>) zKU_nmy6F|m-B{Z@C8$>-nQw*Jd-c^*WcgrK;VyHtY!5c5B9|OM|i&nADFnn<@TAyMqvian@S>@MfGMl zd}>cD?!OHMFww5%r8u|#;+)aP~!IrkUtGe689At!At;3Q!^Cs?ra{Ds*K+67`S zVuGWW9Q@JYUHztCrZ%5bLpaC#g;Z#iO4e1z1%*XUg#vdbn-?6hd8xfx&oaqI?UZZg z%uTZc{}ujDSg$^_PRlIskA&y%LzzEH5?@>oo02MMyjp~FyWqT^BA(SLV#{S^_1{BNM|ll$&$3t|eH$ITj{9z4cSif|LIl^2^@FsWN*>Z!J}o z{@4D7`Q;qx%@vn!>GB_xfBaj)rjYX#({9=BzkXjYS*|_B^pHhm9WxVq>*<%*zqOh+ zKEA&-P?O`S;y#rMYoj9##SgFW@tR(BuTJ>8I{u4>^x7R4f6uwe*>vUc`5({C9{f|1 zsF`t8zoK5(NhCY|_?vFeZS_-mp1s-mOX{2IagoWPbIP0ACC^`6@bmqmz&mv=?+xbp z-1y^Pm0w!P@gbX|Q7vq1L`+ZER>@UQF8j}0ud}1xY8Ka?`C_vk%UOTaHt1S2Pkv4n2EL@Mvon^+e|UQS z=KDX2UzZ7lMNJR>e8PP48Aa2}+D7;ECTBi;R1>m|;dJhi>ls%qC086bFwjuAqVLlD zz|1OqihaV{RWaMoM66z=zI>a!L{7+Lr}DR+8%~SdWLv_=6)IUMYq}yKI#Km-rpuE+ z?S|L#p8visacI1%yeq@pC)#K(gN3-HPDqba_w(*dNn1^&y3=?6`gmw(@vGF-2W{M1 zdq{YLTF<}ejj?Z3draf*+1Fk;$9XmMWl_VtTGm-zQ?@cXEzmNWz*AG;R`OB)D*pz% z;+e+TnqLmQzuP0mZ=+au%IBbz*Fl%vImhfLxCSj<@cVhxp-JkC3g5isQSV-?C=#`S z-_0UdQRds-Q!kdk`}k(fB<9Uad{}OInY>KUdMqjS$faWbJC6SAx;EBqrDY019Xz|e z3L3PRi=J`Rw+M?-S^8Y|s@{8t6=6xqCxUbq*sfW7*lgBjt^9M}@AZp+P~<$w^nh(! zGvk((>nd9JNyv&H{a0(d;VS2|ms8#q?=t`6cxA_2Z8fEJ_X}kLzwg~VbM_6tjYc|N zogd|69*0Y^zRK93@W^~*Dmg}*81wxwbMVn_^|nQ!MfwqZmthoAi;R&SN_?lRkf_W#Xs)z zSS-;{SO+T6OKZC>X|3?^P1Yw6n zz^9@Z1qBog6b&IKL@+Zl+6%nh_(na)XK|f?cURDqijDsnWTmBVs5lk7oxXCZ&@1R$ z-RF!SDt;M<#XFZgn|_R2zWn6Iy-hLOyN?{X6*Ohv`)M&gv4Pzayt~W{%LHb71^u)a zKP=DLJ?#@GXRf|MWJTSJRBAT3?OFx;qC8>GTu}KT; z+0d-f+NQ+eyY$4DkiWJ)GrV$hJ)1{6W)UXX&GhzK9>sXX)_c z=j`!GZ2PDrbm;hV?k|2`IsuE0v&vmL9J95zdrGd8%jIJ}l7)rB;cWW%^%RYplOOSB zTsWelaHhghF-cfh&sI&n{o>n$W?goE0*exVtUs{W**W&rtTj6xP4DnMCf0QPh{ERT zC2HcG8xwn)xn2K$zPF}DLz%HeN6koJmLrc{kaSb^SEJt7M-&YWmH3rUI0?jL=R7e@ z{QAsJE%5ZowvReWhi`YT{BZV>nqNR?i=jUom*GQ}7Ku4d0<*5?w$5`tp}OSA>E?%P|$z2a08v-kiV33MYGtZ+UMOeZ)<*V90Mw=Fi zL{2V+Z<}}p<}5uT$@$=iZeW3$#L>=Xu^5X(RWW~g)Hh^L(Yx`><>;D-ofo@1mP%Z- zX%;(TSlXL%q{VKYQ&OTHkI=({6}yi8R-eUf`c-66#U}yppd)HFF^7_!iuSzZ_F0tl zqV+^;_tE61MO(l9tGKZ7B{yguTUrowxC{uxN)PZXwSl4`c!nCZHb&q}f@%8ge-HWn z?q1k&aDkilh97x<`q_m2#LC{@d6KGbzCB(1__N01hvIo>Z*R{#Tz>MYv&1#MPnulW zJF;VUs`1mvt^Dvuox^^YKkpd#rY{}47t6cf zFn4}nVtFFrLGAQ|ymxeJ)bsvGeEC`az|Udl11<=l4HAKu<| zt$OZmO}C<_rzcfBJv}M$@r{E$8QaUZ=iNQ%$NY4b-)WsaEC<})RWP4Cd*Z<#F|Wd7Vcd9e5vLex#WFHvpDv5x@;)Y z>=*y*>SIx6&};c5`+(i%K9|ITgJnjRR*Y;uDQBDHL)2eScw1jB+<9y2eaWXc6Q`Kk z2prYfT<+NO&9eNGNzs#-6HgulZoQJq7pZXZWHXyJ|D2@g{Yn;&{g3R~^wP_Am+Ta`SnnckIo&yFH$V=ghTy*5i8K zWFAj?<8l6XE|z6V&n_Q+kUXJM;#zrujCN~*bIQy6%8fyiyfJ6nd=tgqF-J?xu(4ix zS1+u-bju{ePT3P)5<86_37^Skp6Adjy|HgiOj&r^)(W0w@7GM`IsBk8FHZI|vsBtV z#WVfRlkHr3^!(goc#36q>eZB;hOI4X*T7_ht4xIHZv*CO-p)uUbaT=wC>G<*P_*&Dc+W=dwdWK=2KKC2rUF8g=J{5;@qB-XU{!6ajJ$}_x8pQN>ARTDe;(>7uu9o@>e+VdAD6S?rEa1 zQ@t;yBXK21g^Y!q%6H|*N>5KXcZ+Ngd~;pd_4IU`IpM-es-JjxBm$q@-+EuhXtH(D zJ3bp@iHGV2KX_C!IDXD{(Tll!; zb9pwsy}jv&>|DD}3!`t52R|@Hl)XRLE18gRJbhB{yL}B0B_6yG`4Dti#7e4)tw+65 zLQ(3pVCwECPn_jv^}L&rag5*Z{4s0I)S~BY>@6pc=iQyp=Tu-b%ehPaqFu{h-WTaECnq12WLU^6B+yc({5>P!Mt^vtwmC!L+lZ{gTeTqXCz zhTpJ4ys=VzVud}^hl=h4e|W2eS{5}iO;=y|s(SLI9{Y|{Gcx|QeKB8nS5AGRJWJ9< z)*iOSe#hqaRtw&IQ!O_mUGCVD&6=K(TQ*d7DD7Ku>!4oSeb3Ve5*Ha9Z|up_SXSY> za--npJJTnXdAU3&mir+YQaR{ZSSgt%X=tfv7F7v<@;&*&vS)k8 zL6*bp{4bIp)I0C8@i*e*SL6s%Ra_*c$W(26KKa5IwI>zN%vDaGE_2(|T*h7KD*8EM zLb|h+`bEXPd@s`DGfo`g7l^6+&3lYh&qZ_7^zf|U=JhATdH}8`#3_qD<+}LE8Fel?)TZ!@F6Q68aOEe2~oP->C1C}TjRmmM+ z_{w@?bK*uN7muz3O@}VGHSO8DLt$S|ae?Q-N9GIdo%7mD>=&PC?|+opd9dwRWb4B0 z$ye^C%<0WZR@}Iz_(Ao9%Wk^_b_neFvGquXvScFnMD2;O^Nw#ge&YCvYqq`Jik(Lu zOT25}$5v7~&%I+_%NNZ9Eh-!?E`1V~wrpkg88ANt;n5AYLw0TTA0`9ruGX zM<%-b5h|#dmlW6Xz{Yor+m=d!4;8g;9vf_q*?BxWU1s^oc5h!!?#4AUrZ>CFIW2aY z&QvA*;kke=cg)03&L>}(Z+z!&=e}{hkT8z~*w^P3Yq<(aTUr(cbYv)R{AHgsV{UKb z;^RqnQXC2!1YKDKXS6==ljla>NMLptw^gK*1RxLDjy3Ud< zBw)kod*rp-FY`d}^-XW(bdI@f%ik2|)^4VrlPvW^rOSrpDt8Q*Q@|`2kA)dgPrPQ^ zww2j_GCXnMVvf&o!@oQ)KH2aKdiT5)WKrd1n^EiDD`l3l$6<|f9&be~@6-PbX=0w1 z<}81NK2*+QfAYzu%T`V`%F0!*cfN7ytQ8ksVgz+GYwR1!MK-6(xz0K-q$nt|+m?M} zPqNIhee63HyUIC*Gl{XZxFk*3;(l`9dB^^VYbtV1wzX|s-#Ay!eMakn35^;m9?B*k zcU;_YTc>Bmn$Q`q53by@S@_7mWDidf|AUW07as|Ce-iHAnAR`UE6cRqwQp0tiPVa# zE*>3g;+Idn6PEu^glpcDVwsbM{f&3!)Mq}>;!b6=u*-G}} zqY6$Zffg@bfySvtg>!gLo_Nx~BTV&UZcr-}2KOQmSrw^ana>{^4+fE_Dj$@*qOH!{M`(nPRmUoxrg^Q0PCVlWd z@ch87g_l-*uyXb5H@fZ|eDOj2;v-wO2CnK2aTaaj$#7(j54*I?U-g#x#RruW-9(Ra zKiuPS<8Z=$Ew=a%&OU$GJ`|j9m_M zf})65r+0~U#>ew(5*~9-o+&L+>0Ij_pkN{8!ZMMOwO6F&VZUnPL(gVWrNe60GRH0C zen|WfEeTv?$FW2CF?Zn=OI_i;{Dtm~acyxG7eBatso*~OEPHXRTw0gd4n?Q+M>Ai1 zu<6NPoc_$~MNJQ3qO*d|#oHvg&em%7cWiY+Wb9S&Zq3ND?R z6Py$UIs|;oj~c27y9ynZb6VH+#ofg5p!7vyJ=4iT1(6F)gr$U~MR=$uZ_z%CV5Jq@a@USZhLrNZ^t&4@MC)}w$C@yob0{P zV1r<#heFdg{q#4k)nXB+&lHJudmDJ2eAJoLdR11@b&*(0EcY(ODy1qb_L(|?&$JhE zX+&nYI|nAMYjJD+62G`sE`1_npu`NFlV7g6X|NvcJn<>K^Wz1lI~poF!UB%zHjQm@ zIX|!L=IlJ)u_1q=!5sgVmPds@XBFo61*RsKtEhFUcZqYgE?MCfC3Ik+U&dXxU%D4B z=!9f1jOBb0CD!rOOC#KAmkqxVA4kWA#Fp1=@|sgWa2ks_|6Cj{_n}H8&}BoXO1wse z&ZfiqN;RD+g428E{5h#I>9|CeTwBVLnvx?+PTo@QG7Z==mCGe1F<8xKR>od;kKHaV z9^EXdYl4#FSaSqw`uy6Zg;TnI1as&=y`b>(UH(T)In^o6Oj`8{20u(IuOISoWZ@KW zWZ~q{3{w@_^oDCjnvkhmmx4#DlFmj>PL-+CUThVdsHj+D{>AAG$HdgHe0FRfT3R+Z zC21SBPchnj>MXlNeZx&IWucwI)&f6;jOLWRad|U)QfT*q#EsPw^}feHaC05mw2G^6 z_4G9%iCZoNDLJWrtdhAfW$yIkUT&8M^V}PLtZ3rNXPs}$@0_CEBrwlVN#*$0?h`Y@ z&Zu(A?2B7)Mx#|=@ARCn>d~6_IA*3D-MXoU$IOsTy0#~*-%v!*wT3m&E%Y>RMNEdG zhlg{()t3IZf>ZL^KYf$`qQk_?9A?crNlm@Qg+D3sM&F5V${Y1lS~pKiTo~t4=GV2+ zCZ)w%lxOM9v}5Pa2j7{RvtmPgQl4kqMC*t%GnHa%7}?tsKCYkC^doH3rpGl;osVY= zDXbQ?&${w7arMjNf3i9YPiJdtDNcG+J}qLEl27ZK`{^52+$=kJ@8nO_=%0e}Dl*e@ zoTJ61g>PKnXgl#urnIQE(336UN>9Goc5YaqAvjTDq8!twI@bq(CMY-^^<$A_iZ|5s znD%(diaj?rOym0Ca6(eh|AVZ1XX4cvbsMs8{<2Tjus!d5C9QW_&fj^*H&$(o?dt7% zvpe;+;EjDp=Jr|(?bImC-E?=}@||g?&Ad-4-B>!y#Qh}q&AL zDyy2bcixff%E`&<$;*>fBVKLF2@&+TYUXvL`Q{CYXvv%67Ur8T{GIeE!p4Y=gJaIg z?F%~>62 z_VkL(_ae%BJc=_m3N3t5a69=@tm*_qHZv{`x4*q_%2Spn%PXG|;?9VE@X^Nq;17i= zRV9ui3k`S4OSYYDIk;g*q9V&?CC`IKDsAs4Ik^SNDMa{)3GU(J_@Y#8pT6MlyhY#Y zj=rfo^~v?5+sU}&ekaS!-uPSFx|Nx4yxW(beEY_CCbPB!+e{}cY7(6LP^i4&h9t{z zrH!{IrKw3wcqyyeam8u+!Hg)CS&Fl)Smua|^_x!YxWlE(nad%gF!jK}B&8)sRtU9z z(|yd*bX@I*idjM;%Z5YTEFC%8dTx6P9Ihz4PP5<=dGlTO<}dY|dPiPQtd=>><9gzs z^Ka=Bxi{^O-JSI2o3-{+eRG0oh}+~Jc#MuF23%Y-NDnnw%MxErR zfYZSTP24JuEFZjDxsI&~<&tPW=*WGOU-_HoNo4`oD>=4%M0h;<+{>)WOg~w%H*zMo zotWjx%hN3|k;Ny(L}1aUFmI*+57i@jCp{&#kF4{#R9JeEU}Ipg*pZwWlhs^Y z;vyV0xPEKiToC0gFzv`Ur84D>RWg+dPfAwXx_;6wi`>|9+~d;1H5C^vZTJ{hGbJwN z>UHthC>Gu|LCNHVIu1S*P5^dbO=EQp8HpPnLDua%Ufy`DB;2^DOkGB7w$x9VL%XED=yD2lv}jD7^r2!NQ?h$! zTE`EY4TqJ5rPWL_v}E%69_5&}xwU;UD={(&b2-Vhle2e1c118p3P-^nW3G_s`lTs4!ttnbXZPg0fxuLN*bC9!r#)FMQKb(bKx96EMLi zqrZuH5wngs-;?}QY4J6-{Y61Hwz3@L(s5Uc^ZcnU<>T2ZF|)#R%ZUJ|M((82P30SX zoD~#Wr*MfG^BjBQebB8-M6zOvbhkH0OXtTm1``b9RFi}bYE(LAa&gIi$netqlM}}s ze^9BTg+KY);oTD7q<)@uJo!p-ZAZQklkk=ADk4Wz1wsYCxLz}Q5+)|CsuZN|lNL~M za2?x$Waoh6(q~d~a(>GE6xn%LVT(tU$}FiJYC;9GrDb;NpH!GA(Ww%`=BrrvEOo~$ zhbdOhjyw&k1tYeZDbM%l2tKr;W49=?tD&)TK*Hgarc*dQ zn~y z86%?fEIgbF+d^cH>l}`YEYjk9xckw^2j+ZFd?wuU_H z5)!i1NwjN;?nbjXzayp#*E5|JpROe~NklVq5@%dziLGMe zjam`mMa2hvGD13*MC4?vdF*CRn5br)VYtPNIax$hs3)9VQ*Pd|b^eKto3v$)^eD@4 z>+*;ThzKikw{BdqnM0^)YvC>4ERR_H zR2Q!Bc;=VzhX2hs-IKS4l3W}bCTK{ctm%_jv|_U8;s^dNRf2tO3sZ&Gcm|2G^yJAa zUQ#}GW2L}uspdd0g$S2`q~?O%60;>{{Jg0X@$q0?V}Ii!UJk#`lsTosk3BRFt#LRZ zWc_?$-RUxwH_xf}X@DMN4gBF+OsH%d59JV3y-b!A3{MhY1m~dhI2Kyi5G7HJaQ^ z0;OCyN~8=o29~K#&e)_jvq*!3JJmhH-7##T%aLVTN0%IKYl)oBU2#Ch%=TE3w6$&b z+Q%xlrJ1I2Ms5^Rc6LvUn5cYVZdW|ZlPD<`@j03z9SO&5GM89#UY57kx*2!!^pU9c zQ!g<~AicqzBYH3tzN$Z@8(;@7mJc%jA;D?;5XJ zw8(Hr=cXnV9aknUVP}ty+cH=h5f7ctvnDP!o|TmzuPkQ^^U0(vb$-iwhXthUtRD96;qCioQJL%|yDPfCOI3Kur;E0GF`ZQAFx5`6#7km@dZtpY z7sXjMa;I_&?i4xn+-bhkoO!L*s?jnzIm#O^xF-3VR7|ktb?jo#)Nh=x({@8PiEYt? z3#Z%UJ}D|J=_+{J`6A4VUr}(OxKq`U8tzT!jvUQWe$l7DNRLBOEV*!}rr=~D$0hyT z66Manq}n`=87_6MQs`265T!7YMVIT1ds4M(x9V9HF(+Z}*}^*uUaGWNS-UUTzESV! zY^@vnj_mW;-qCP7d3k!l%zS|h#SdO`IjZnVY|}g|w3q*Zk%%cCt_QrS1dor){4KFqqV}>M{z>b(O>d6Z%9_l^KCH_V@WUAnXGu@WW=>HkEI;F zd`c_^D#yN=Cm$EsAi2zxC#LUB&QJB!2U8*iSlAaV``+uYxnbHCw+oXaI8)9{@E1`n zC}EqB+LL3r&0p$xARqJL$rm5FY;ow`#C^>uw&zW9wYp-4s=%R(=FD+@)0AC{ytvpm zp6yXNZg{?NFaIi&i()O>&XeUWVp)W3TvkXjEokWMx-HTvaCW1GEDzS8OEO_R1GE#@5 zk#nJ^=*Ca-Iw_sW>Z(n7{6eOS_KH3DAhbhZmV(m*Q+7>xZ8@nM=K>G32s=vjwsaq8 z6^yuc+{`EC#r&r9Md^!AbT_(YbT@rk({W+WZe=Nnm&z{HVmb3C>hjERPV(fNsCV?( zk#C+SP5OirCz=FaQ4mXV?b`shf;$yEH=-6}_c;mz2nts?jIE8#CgZnGOnxaLKjr)U?z3tn@** zK(|2C=tx}Gu_?N$jm4XcTQ+kpR!O>W!A!j6lSP?Epw!J*<{LL}{5yZ4|0InmU56Ma zIkiN*l9WigxwBB(X+p4&$EUNclBzQ$4MlFO4AFI%A~d0qHRZ_~0gjmbsS+tnE7KmA zxt(Cq*qA+eOBvsR->u(NKk1%W<}jDv$m4Y3Arpax{lQm~e5NINw6#o7Mw97@CQltSK80@F+xw>CM#i-hOdFXlJm~1S zvC%v!Dk$nh3X3Hi@>KK`XqnNfq%+C0ZI7RG zz|#{?Pux59&41(Go;Q;x<)qn87oT;ClWmPp#B8Y#vlSQ4DmW67tCXUjqMwvt)p>by z?X)+!*1~1}8@H#d?aPf+iBny;bW=c6$4gPoqt*v*TMKFg2z6iF(a}7)bW)Lb=ZuZ# zIt4Y$Z#f!q=)0}?bY_|8gBiN|Od5(zmlP*iZhD^5JK07^!l$e)$smPihMGR7nD!U# z#|wJ7S$N7+QWn+mmbmE{sdc$XAB*@YHRGT2bd|-)^2*G!Pfb|zWOBesXV;4c`<*)( zfh#6=ufM-DLMh{t9h<}ahpeW}PI0DF1<%gbxta3z zrot!3ywnugR!hUVJTK1+HLKuWO7VQpl||ffc;_4G~dVUye6t2E*c&*XL==j z;a^*csV$#RhfinZBNyih*X)Fj8XAYhtXLY++IT6~ELEa@LTQig91h*CBdrxz+)uoc zy4HT+roct!AF@7Ob0SYyWSACvAn2PaP` zS@?+K!n5{V!$@Jp9##|YzA$@bd1fn#AF2=HI9m3~Dlc(f{Hc^f;CUlQkg(1+)2Wsk zGgk>LYFWCF!@((MbE3(l{WB(hv`e?t7P@Gp;xeCED&W?lts+r2?0Rf!N`{O-5_Sre zxor!3b3bKsO7Bf;vy+^L$LFm7@>|EF<6>l_(rhs;_NH5@ecfBEN^JQWo0VDK_!pgs z@J@+nvpsmlDm~_-=!47$5$RVHvgb2wRXTFwkRN;3r^g<%#AF2nCT96N&7CyKaN~m+ zy4@{2E;Ce>pVadC@;?YzsHNeR;gb>WKJ$rRi79XM;R#Pqd_D1dljp{_yRBW`M5_K& zi9h~prYcKB;1(w#HN^>vGo~+mR3WG2Al*(_53M_@vIC`OK$7ixQO&a&#Gds*-C8 zKhbbmlF4m~fPznq*_@?1!tEUo=IKhAA8cKCre&eT%9|#=$!uq;B`;h*Fn{6ag_jqm zE>!Hu&Z&A*{G|BF>`5^#5|f43sK4;NctPMn!eu3mM{Euj?jj+Jdn_Ckf(zB39Iog{ zQk>u^GR-FVLG-aJVZP00mbkl5Go6^*)1&jX>+qF14l_hFd^p|!T$)9!?jUl7dsa^&*YReC|#%D%_Kk(|hqqU{all$A$b3*^|E+Qw#))>iV58{1xXA zdJv^(pyAOdpyP0oLqJn(wp3@!6vu_DA9z1#e$eoOtDv;6@rvk!o-~ij*46440(Z$A za=2;X()plqv1338hrm&Tl};0MI#e9_S=*vKH#oGka(0U>I}$tT?BuhPKl%B5sJM|U zXp$|a;=|jd{#vwLWs;|g|J$~|^A|pd>o&{Y$g7yE$mG(=;<*38-x=F(CaE?pu@qdG zG>dIwnw+7X>rT-d`;r8rc9{h#UeriBrLv);chT0lXUuh-QaJ(?R#bdT&IwFX%(NEi zJ0ZRC?QW@O$L-wqx$kdHw@ge4Oy9ZgWY|B2f9~slEii10<94}Z(z;qBEOhggueRrd zoC`DgbZ>muLx*WcQ-##~)Oy3b+P9c& z6*%~!dfwr6=bav(Sagvk#A)sX_2hLY&mF(L@tC#6;U|>~6dM1|TJz1e_1O9Q$8SH{ z-^TreEhX8&OQA>kx6H8vcl;lG`@?tA)8SHpv#PRDs`4d?opSR|>UmU3-Z-v2IeB*S zPPw+-3f5|dPxp6KI!{;J;xS>NfIyM!$#+%q8>_|c9od+);)D5(+wzKQj(Z&K{=;(P zrcX0l)6=fG^NuexO#OH{aKXO)snh3uFjJ4Ievt1}$IQ#)GjqkEw$$T%az<_^Zn}8# z^av!}VreloeC58*ZJpo4d!PwgHA}vj3EK?UPH!_iRWZp;?)VlpfeBL_ZRaiD`L0U% zP0pLGktUI0M{3U(*G@k1O)s&2VVHzqkRv+8+A?o8s_xxKaaKSOGpWTJHE ziB`ENsS1$?PE|@(ieiE)lRP_T9NS|1!LG!p#Jb_jRe__T8Oz0zToO5rE4NFx^?r=# zbM_RtZT4%;8s$b!ZJ}+p+~2G>{_TD9RVCV%`|7;s3xC_5PrfpHQedzk+aL3kDfPZx ziZ9BOf9v0TQ#C#M{OXSN4=oNKtk}M2V?d8$!UlnRDo18)P}|40b&>0$&^6hux0JgS z9`rXK`6I`|%CjX$<;TN6eG=dN=cQJc18)6XclM|C>C}f>@-v~VpGn4!ux0bjmr<*+P@`SQI|ORWQHxD z`^I#R88p@anZLFljGs!OqkK<)_9mbAwpX;VUnjh+cEj0Y{JzN zKc!BTuqiDHU3>(zNI|hcmE$N22Zs=+f=Y;3SJRtvor*t4{!6FclEe(rzB}Sa-b8*}rWG(zamJaN4mD4ehblcy2JxQ2gI`V>d@?{0cKGfw1ru{Nbl@>F?bydkgUF}DnFiscK3shloa z3L44}`-MN`BrR&%maBJDXZGrc?yan!bEnR4nHToY+Bq@DCqwJ3wYb!H1JOQp>sUqx@^^qk0g zJTYN|laI$fw#AYk^&gffDk>`H2pv7RVNb=36$=BFT$reIP%p?+_)LxA{_c#lOUFz$ z>bP067s{V}@)BFc_it^PbrtGLV(zxcfgu{xJecf%s(rhv} zn(WwCBp<0#mS`+q+Sxpd|EFWdR?&w!i#!DzXSMP)COvxN{j^9d&{Cy_e^Hrkr_*F- z4W|n&O6|W4CHx=0W|L_0efB6UTG%b_q4j}~CD*uC#H(8pRE7cy2tMnDB@H#f%yGPIc|)I(C>on#mU< zn(;~LK}$zqOY85R8HaC4N=bCw*vGg>F?Hh}eWm8uM>ML5ZU~RVG|)`g9~)Q_)#m`M1nZ{V<;k zms#ekEGnold0Lh<=|-oRN@Gs&19$h%CvJ)!uTE@>e$@40Ay1Ia-G~sKJ`wIVRgcAq zZ6EU4R3=W|64v3=q}VY{x3i@~NHCuHhuo=lL8fJF8zXXhnM;(V+@Bl$jGjHm;KCJ0 zj*V_79u@u*_}6&i?(7E}5|5of&%3c^R)2*4^r}-E&iY24x!HZPUuL%AT3#RPUdhd7 X6^a~AhfjQRJJ#IBXHbz>|NkZcFUO;t literal 0 HcmV?d00001 diff --git a/templates/includes/home/header.html.twig b/templates/includes/home/header.html.twig new file mode 100644 index 0000000..2adf9d3 --- /dev/null +++ b/templates/includes/home/header.html.twig @@ -0,0 +1,5 @@ +
    + +
    + +
    diff --git a/templates/includes/navbar.html.twig b/templates/includes/navbar.html.twig index b7f8d2b..3789a40 100644 --- a/templates/includes/navbar.html.twig +++ b/templates/includes/navbar.html.twig @@ -1,5 +1,5 @@
    -
    + -
    +
      {% for item in menuLinks.findAll %}
    • diff --git a/templates/pages/home.html.twig b/templates/pages/home.html.twig index c89e62e..683fe7a 100644 --- a/templates/pages/home.html.twig +++ b/templates/pages/home.html.twig @@ -1,5 +1,7 @@ {% extends 'page.html.twig' %} {% block content %} + {% include 'includes/home/header.html.twig' %} + This is the homepage. {% endblock %} From b047ea3e4e527f4abb1c5a51be55d89bbfe926a1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Dec 2020 04:03:37 +0000 Subject: [PATCH 14/17] Add Register Now button Fixes #2 --- tailwind.config.js | 5 ++++- templates/includes/home/header.html.twig | 19 +++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/tailwind.config.js b/tailwind.config.js index bf57180..ff6ae97 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -12,8 +12,11 @@ module.exports = { } }, colors: { + 'hit-pink': '#FBA786', blue: colors.lightBlue, - gray: colors.trueGray + dandelion: '#FFDC67', + gray: colors.trueGray, + white: '#ffffff' }, fontFamily: { display: ['Bebas Neue', 'Arial Narrow', 'Arial', 'sans-serif'] diff --git a/templates/includes/home/header.html.twig b/templates/includes/home/header.html.twig index 2adf9d3..4aa2d79 100644 --- a/templates/includes/home/header.html.twig +++ b/templates/includes/home/header.html.twig @@ -1,5 +1,16 @@ -
      - -
      - +
      From 4018f9a6db70d85a3cef5922fa06890275fee13a Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Dec 2020 04:11:46 +0000 Subject: [PATCH 15/17] Limit width on xl screens --- templates/includes/home/header.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/includes/home/header.html.twig b/templates/includes/home/header.html.twig index 4aa2d79..5e2d724 100644 --- a/templates/includes/home/header.html.twig +++ b/templates/includes/home/header.html.twig @@ -1,4 +1,4 @@ -
      +
      From d38acd68765c7e6e90efba3b974f26628123980e Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 27 Dec 2020 12:28:00 +0000 Subject: [PATCH 16/17] Add description text and button --- tailwind.config.js | 9 +++++---- templates/includes/home/description.html.twig | 5 +++++ templates/pages/home.html.twig | 3 +-- 3 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 templates/includes/home/description.html.twig diff --git a/tailwind.config.js b/tailwind.config.js index ff6ae97..921e1f9 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -7,6 +7,10 @@ module.exports = { darkMode: false, // or 'media' or 'class' theme: { extend: { + fontFamily: { + display: ['Bebas Neue', 'Arial Narrow', 'Arial', 'sans-serif'], + sans: ['Helvetica', 'Arial', 'sans-serif'] + }, screens: { sm: '700px' } @@ -17,10 +21,7 @@ module.exports = { dandelion: '#FFDC67', gray: colors.trueGray, white: '#ffffff' - }, - fontFamily: { - display: ['Bebas Neue', 'Arial Narrow', 'Arial', 'sans-serif'] - }, + } }, variants: { extend: {}, diff --git a/templates/includes/home/description.html.twig b/templates/includes/home/description.html.twig new file mode 100644 index 0000000..79eda46 --- /dev/null +++ b/templates/includes/home/description.html.twig @@ -0,0 +1,5 @@ +
      +

      Florida DrupalCamp is an annual conference that brings together web developers from all over the world to learn, network and discuss web development and the Drupal content management system.

      + + Learn more +
      \ No newline at end of file diff --git a/templates/pages/home.html.twig b/templates/pages/home.html.twig index 683fe7a..ba52c9d 100644 --- a/templates/pages/home.html.twig +++ b/templates/pages/home.html.twig @@ -2,6 +2,5 @@ {% block content %} {% include 'includes/home/header.html.twig' %} - - This is the homepage. + {% include 'includes/home/description.html.twig' %} {% endblock %} From 60d3cfc74256f2c3fa11864eac9e5b7e647ccdbe Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 2 Oct 2025 23:17:29 +0100 Subject: [PATCH 17/17] Move all files to workshop-tailwind-css/demo/florida-drupalcamp/ --- .../demo/florida-drupalcamp/.env | 0 .../demo/florida-drupalcamp/.gitignore | 0 .../demo/florida-drupalcamp/README.rst | 0 .../florida-drupalcamp/assets}/css/tailwind.pcss | 0 .../demo/florida-drupalcamp/bin}/console | 0 .../demo/florida-drupalcamp/composer.json | 0 .../demo/florida-drupalcamp/composer.lock | 0 .../demo/florida-drupalcamp/config}/bundles.php | 0 .../florida-drupalcamp/config}/packages/cache.yaml | 0 .../config}/packages/framework.yaml | 0 .../config}/packages/prod/routing.yaml | 0 .../config}/packages/routing.yaml | 0 .../config}/packages/sensio_framework_extra.yaml | 0 .../config}/packages/test/framework.yaml | 0 .../config}/packages/test/twig.yaml | 0 .../florida-drupalcamp/config}/packages/twig.yaml | 0 .../demo/florida-drupalcamp/config}/preload.php | 0 .../demo/florida-drupalcamp/config}/routes.yaml | 0 .../config}/routes/annotations.yaml | 0 .../config}/routes/dev/framework.yaml | 0 .../demo/florida-drupalcamp/config}/services.yaml | 0 .../demo/florida-drupalcamp/package.json | 0 .../demo/florida-drupalcamp/postcss.config.js | 0 .../florida-drupalcamp/public}/images/2020-logo.svg | 0 .../images/auditorium_blur-tablet_narrow.jpg | Bin .../demo/florida-drupalcamp/public}/index.php | 0 .../florida-drupalcamp/src}/Controller/.gitignore | 0 .../src}/Controller/BaseController.php | 0 .../src}/Controller/HomeController.php | 0 .../demo/florida-drupalcamp/src}/Kernel.php | 0 .../src}/Repository/MenuLinkArrayRepository.php | 0 .../src}/Repository/MenuLinkRepository.php | 0 .../demo/florida-drupalcamp/symfony.lock | 0 .../demo/florida-drupalcamp/tailwind.config.js | 0 .../florida-drupalcamp/templates}/html.html.twig | 0 .../templates}/includes/home/description.html.twig | 0 .../templates}/includes/home/header.html.twig | 0 .../templates}/includes/navbar.html.twig | 0 .../florida-drupalcamp/templates}/page.html.twig | 0 .../templates}/pages/home.html.twig | 0 .../demo/florida-drupalcamp/yarn.lock | 0 41 files changed, 0 insertions(+), 0 deletions(-) rename .env => workshop-tailwind-css/demo/florida-drupalcamp/.env (100%) rename .gitignore => workshop-tailwind-css/demo/florida-drupalcamp/.gitignore (100%) rename README.rst => workshop-tailwind-css/demo/florida-drupalcamp/README.rst (100%) rename {assets => workshop-tailwind-css/demo/florida-drupalcamp/assets}/css/tailwind.pcss (100%) rename {bin => workshop-tailwind-css/demo/florida-drupalcamp/bin}/console (100%) rename composer.json => workshop-tailwind-css/demo/florida-drupalcamp/composer.json (100%) rename composer.lock => workshop-tailwind-css/demo/florida-drupalcamp/composer.lock (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/bundles.php (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/packages/cache.yaml (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/packages/framework.yaml (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/packages/prod/routing.yaml (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/packages/routing.yaml (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/packages/sensio_framework_extra.yaml (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/packages/test/framework.yaml (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/packages/test/twig.yaml (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/packages/twig.yaml (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/preload.php (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/routes.yaml (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/routes/annotations.yaml (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/routes/dev/framework.yaml (100%) rename {config => workshop-tailwind-css/demo/florida-drupalcamp/config}/services.yaml (100%) rename package.json => workshop-tailwind-css/demo/florida-drupalcamp/package.json (100%) rename postcss.config.js => workshop-tailwind-css/demo/florida-drupalcamp/postcss.config.js (100%) rename {public => workshop-tailwind-css/demo/florida-drupalcamp/public}/images/2020-logo.svg (100%) rename {public => workshop-tailwind-css/demo/florida-drupalcamp/public}/images/auditorium_blur-tablet_narrow.jpg (100%) rename {public => workshop-tailwind-css/demo/florida-drupalcamp/public}/index.php (100%) rename {src => workshop-tailwind-css/demo/florida-drupalcamp/src}/Controller/.gitignore (100%) rename {src => workshop-tailwind-css/demo/florida-drupalcamp/src}/Controller/BaseController.php (100%) rename {src => workshop-tailwind-css/demo/florida-drupalcamp/src}/Controller/HomeController.php (100%) rename {src => workshop-tailwind-css/demo/florida-drupalcamp/src}/Kernel.php (100%) rename {src => workshop-tailwind-css/demo/florida-drupalcamp/src}/Repository/MenuLinkArrayRepository.php (100%) rename {src => workshop-tailwind-css/demo/florida-drupalcamp/src}/Repository/MenuLinkRepository.php (100%) rename symfony.lock => workshop-tailwind-css/demo/florida-drupalcamp/symfony.lock (100%) rename tailwind.config.js => workshop-tailwind-css/demo/florida-drupalcamp/tailwind.config.js (100%) rename {templates => workshop-tailwind-css/demo/florida-drupalcamp/templates}/html.html.twig (100%) rename {templates => workshop-tailwind-css/demo/florida-drupalcamp/templates}/includes/home/description.html.twig (100%) rename {templates => workshop-tailwind-css/demo/florida-drupalcamp/templates}/includes/home/header.html.twig (100%) rename {templates => workshop-tailwind-css/demo/florida-drupalcamp/templates}/includes/navbar.html.twig (100%) rename {templates => workshop-tailwind-css/demo/florida-drupalcamp/templates}/page.html.twig (100%) rename {templates => workshop-tailwind-css/demo/florida-drupalcamp/templates}/pages/home.html.twig (100%) rename yarn.lock => workshop-tailwind-css/demo/florida-drupalcamp/yarn.lock (100%) diff --git a/.env b/workshop-tailwind-css/demo/florida-drupalcamp/.env similarity index 100% rename from .env rename to workshop-tailwind-css/demo/florida-drupalcamp/.env diff --git a/.gitignore b/workshop-tailwind-css/demo/florida-drupalcamp/.gitignore similarity index 100% rename from .gitignore rename to workshop-tailwind-css/demo/florida-drupalcamp/.gitignore diff --git a/README.rst b/workshop-tailwind-css/demo/florida-drupalcamp/README.rst similarity index 100% rename from README.rst rename to workshop-tailwind-css/demo/florida-drupalcamp/README.rst diff --git a/assets/css/tailwind.pcss b/workshop-tailwind-css/demo/florida-drupalcamp/assets/css/tailwind.pcss similarity index 100% rename from assets/css/tailwind.pcss rename to workshop-tailwind-css/demo/florida-drupalcamp/assets/css/tailwind.pcss diff --git a/bin/console b/workshop-tailwind-css/demo/florida-drupalcamp/bin/console similarity index 100% rename from bin/console rename to workshop-tailwind-css/demo/florida-drupalcamp/bin/console diff --git a/composer.json b/workshop-tailwind-css/demo/florida-drupalcamp/composer.json similarity index 100% rename from composer.json rename to workshop-tailwind-css/demo/florida-drupalcamp/composer.json diff --git a/composer.lock b/workshop-tailwind-css/demo/florida-drupalcamp/composer.lock similarity index 100% rename from composer.lock rename to workshop-tailwind-css/demo/florida-drupalcamp/composer.lock diff --git a/config/bundles.php b/workshop-tailwind-css/demo/florida-drupalcamp/config/bundles.php similarity index 100% rename from config/bundles.php rename to workshop-tailwind-css/demo/florida-drupalcamp/config/bundles.php diff --git a/config/packages/cache.yaml b/workshop-tailwind-css/demo/florida-drupalcamp/config/packages/cache.yaml similarity index 100% rename from config/packages/cache.yaml rename to workshop-tailwind-css/demo/florida-drupalcamp/config/packages/cache.yaml diff --git a/config/packages/framework.yaml b/workshop-tailwind-css/demo/florida-drupalcamp/config/packages/framework.yaml similarity index 100% rename from config/packages/framework.yaml rename to workshop-tailwind-css/demo/florida-drupalcamp/config/packages/framework.yaml diff --git a/config/packages/prod/routing.yaml b/workshop-tailwind-css/demo/florida-drupalcamp/config/packages/prod/routing.yaml similarity index 100% rename from config/packages/prod/routing.yaml rename to workshop-tailwind-css/demo/florida-drupalcamp/config/packages/prod/routing.yaml diff --git a/config/packages/routing.yaml b/workshop-tailwind-css/demo/florida-drupalcamp/config/packages/routing.yaml similarity index 100% rename from config/packages/routing.yaml rename to workshop-tailwind-css/demo/florida-drupalcamp/config/packages/routing.yaml diff --git a/config/packages/sensio_framework_extra.yaml b/workshop-tailwind-css/demo/florida-drupalcamp/config/packages/sensio_framework_extra.yaml similarity index 100% rename from config/packages/sensio_framework_extra.yaml rename to workshop-tailwind-css/demo/florida-drupalcamp/config/packages/sensio_framework_extra.yaml diff --git a/config/packages/test/framework.yaml b/workshop-tailwind-css/demo/florida-drupalcamp/config/packages/test/framework.yaml similarity index 100% rename from config/packages/test/framework.yaml rename to workshop-tailwind-css/demo/florida-drupalcamp/config/packages/test/framework.yaml diff --git a/config/packages/test/twig.yaml b/workshop-tailwind-css/demo/florida-drupalcamp/config/packages/test/twig.yaml similarity index 100% rename from config/packages/test/twig.yaml rename to workshop-tailwind-css/demo/florida-drupalcamp/config/packages/test/twig.yaml diff --git a/config/packages/twig.yaml b/workshop-tailwind-css/demo/florida-drupalcamp/config/packages/twig.yaml similarity index 100% rename from config/packages/twig.yaml rename to workshop-tailwind-css/demo/florida-drupalcamp/config/packages/twig.yaml diff --git a/config/preload.php b/workshop-tailwind-css/demo/florida-drupalcamp/config/preload.php similarity index 100% rename from config/preload.php rename to workshop-tailwind-css/demo/florida-drupalcamp/config/preload.php diff --git a/config/routes.yaml b/workshop-tailwind-css/demo/florida-drupalcamp/config/routes.yaml similarity index 100% rename from config/routes.yaml rename to workshop-tailwind-css/demo/florida-drupalcamp/config/routes.yaml diff --git a/config/routes/annotations.yaml b/workshop-tailwind-css/demo/florida-drupalcamp/config/routes/annotations.yaml similarity index 100% rename from config/routes/annotations.yaml rename to workshop-tailwind-css/demo/florida-drupalcamp/config/routes/annotations.yaml diff --git a/config/routes/dev/framework.yaml b/workshop-tailwind-css/demo/florida-drupalcamp/config/routes/dev/framework.yaml similarity index 100% rename from config/routes/dev/framework.yaml rename to workshop-tailwind-css/demo/florida-drupalcamp/config/routes/dev/framework.yaml diff --git a/config/services.yaml b/workshop-tailwind-css/demo/florida-drupalcamp/config/services.yaml similarity index 100% rename from config/services.yaml rename to workshop-tailwind-css/demo/florida-drupalcamp/config/services.yaml diff --git a/package.json b/workshop-tailwind-css/demo/florida-drupalcamp/package.json similarity index 100% rename from package.json rename to workshop-tailwind-css/demo/florida-drupalcamp/package.json diff --git a/postcss.config.js b/workshop-tailwind-css/demo/florida-drupalcamp/postcss.config.js similarity index 100% rename from postcss.config.js rename to workshop-tailwind-css/demo/florida-drupalcamp/postcss.config.js diff --git a/public/images/2020-logo.svg b/workshop-tailwind-css/demo/florida-drupalcamp/public/images/2020-logo.svg similarity index 100% rename from public/images/2020-logo.svg rename to workshop-tailwind-css/demo/florida-drupalcamp/public/images/2020-logo.svg diff --git a/public/images/auditorium_blur-tablet_narrow.jpg b/workshop-tailwind-css/demo/florida-drupalcamp/public/images/auditorium_blur-tablet_narrow.jpg similarity index 100% rename from public/images/auditorium_blur-tablet_narrow.jpg rename to workshop-tailwind-css/demo/florida-drupalcamp/public/images/auditorium_blur-tablet_narrow.jpg diff --git a/public/index.php b/workshop-tailwind-css/demo/florida-drupalcamp/public/index.php similarity index 100% rename from public/index.php rename to workshop-tailwind-css/demo/florida-drupalcamp/public/index.php diff --git a/src/Controller/.gitignore b/workshop-tailwind-css/demo/florida-drupalcamp/src/Controller/.gitignore similarity index 100% rename from src/Controller/.gitignore rename to workshop-tailwind-css/demo/florida-drupalcamp/src/Controller/.gitignore diff --git a/src/Controller/BaseController.php b/workshop-tailwind-css/demo/florida-drupalcamp/src/Controller/BaseController.php similarity index 100% rename from src/Controller/BaseController.php rename to workshop-tailwind-css/demo/florida-drupalcamp/src/Controller/BaseController.php diff --git a/src/Controller/HomeController.php b/workshop-tailwind-css/demo/florida-drupalcamp/src/Controller/HomeController.php similarity index 100% rename from src/Controller/HomeController.php rename to workshop-tailwind-css/demo/florida-drupalcamp/src/Controller/HomeController.php diff --git a/src/Kernel.php b/workshop-tailwind-css/demo/florida-drupalcamp/src/Kernel.php similarity index 100% rename from src/Kernel.php rename to workshop-tailwind-css/demo/florida-drupalcamp/src/Kernel.php diff --git a/src/Repository/MenuLinkArrayRepository.php b/workshop-tailwind-css/demo/florida-drupalcamp/src/Repository/MenuLinkArrayRepository.php similarity index 100% rename from src/Repository/MenuLinkArrayRepository.php rename to workshop-tailwind-css/demo/florida-drupalcamp/src/Repository/MenuLinkArrayRepository.php diff --git a/src/Repository/MenuLinkRepository.php b/workshop-tailwind-css/demo/florida-drupalcamp/src/Repository/MenuLinkRepository.php similarity index 100% rename from src/Repository/MenuLinkRepository.php rename to workshop-tailwind-css/demo/florida-drupalcamp/src/Repository/MenuLinkRepository.php diff --git a/symfony.lock b/workshop-tailwind-css/demo/florida-drupalcamp/symfony.lock similarity index 100% rename from symfony.lock rename to workshop-tailwind-css/demo/florida-drupalcamp/symfony.lock diff --git a/tailwind.config.js b/workshop-tailwind-css/demo/florida-drupalcamp/tailwind.config.js similarity index 100% rename from tailwind.config.js rename to workshop-tailwind-css/demo/florida-drupalcamp/tailwind.config.js diff --git a/templates/html.html.twig b/workshop-tailwind-css/demo/florida-drupalcamp/templates/html.html.twig similarity index 100% rename from templates/html.html.twig rename to workshop-tailwind-css/demo/florida-drupalcamp/templates/html.html.twig diff --git a/templates/includes/home/description.html.twig b/workshop-tailwind-css/demo/florida-drupalcamp/templates/includes/home/description.html.twig similarity index 100% rename from templates/includes/home/description.html.twig rename to workshop-tailwind-css/demo/florida-drupalcamp/templates/includes/home/description.html.twig diff --git a/templates/includes/home/header.html.twig b/workshop-tailwind-css/demo/florida-drupalcamp/templates/includes/home/header.html.twig similarity index 100% rename from templates/includes/home/header.html.twig rename to workshop-tailwind-css/demo/florida-drupalcamp/templates/includes/home/header.html.twig diff --git a/templates/includes/navbar.html.twig b/workshop-tailwind-css/demo/florida-drupalcamp/templates/includes/navbar.html.twig similarity index 100% rename from templates/includes/navbar.html.twig rename to workshop-tailwind-css/demo/florida-drupalcamp/templates/includes/navbar.html.twig diff --git a/templates/page.html.twig b/workshop-tailwind-css/demo/florida-drupalcamp/templates/page.html.twig similarity index 100% rename from templates/page.html.twig rename to workshop-tailwind-css/demo/florida-drupalcamp/templates/page.html.twig diff --git a/templates/pages/home.html.twig b/workshop-tailwind-css/demo/florida-drupalcamp/templates/pages/home.html.twig similarity index 100% rename from templates/pages/home.html.twig rename to workshop-tailwind-css/demo/florida-drupalcamp/templates/pages/home.html.twig diff --git a/yarn.lock b/workshop-tailwind-css/demo/florida-drupalcamp/yarn.lock similarity index 100% rename from yarn.lock rename to workshop-tailwind-css/demo/florida-drupalcamp/yarn.lock