diff --git a/composer.lock b/composer.lock index 061b89f4a2c287e8323ceadedf5628b7af12143f..a31ad59ee7514ee41ee8270e54a979e90a812d5a 100644 --- a/composer.lock +++ b/composer.lock @@ -3061,16 +3061,16 @@ }, { "name": "drupal/core", - "version": "9.4.6", + "version": "9.4.7", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "a5c83e4ac0d8eb46f06a97a8b85bcbfa08a70701" + "reference": "247431af7e33a8cf7c46677a79336103c6e83db1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/a5c83e4ac0d8eb46f06a97a8b85bcbfa08a70701", - "reference": "a5c83e4ac0d8eb46f06a97a8b85bcbfa08a70701", + "url": "https://api.github.com/repos/drupal/core/zipball/247431af7e33a8cf7c46677a79336103c6e83db1", + "reference": "247431af7e33a8cf7c46677a79336103c6e83db1", "shasum": "" }, "require": { @@ -3116,7 +3116,7 @@ "symfony/translation": "^4.4", "symfony/validator": "^4.4", "symfony/yaml": "^4.4.19", - "twig/twig": "^2.15", + "twig/twig": "^2.15.3", "typo3/phar-stream-wrapper": "^3.1.3" }, "conflict": { @@ -3222,9 +3222,9 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/9.4.6" + "source": "https://github.com/drupal/core/tree/9.4.7" }, - "time": "2022-09-20T13:22:39+00:00" + "time": "2022-09-28T16:19:47+00:00" }, { "name": "drupal/core-composer-scaffold", @@ -3278,16 +3278,16 @@ }, { "name": "drupal/core-recommended", - "version": "9.4.6", + "version": "9.4.7", "source": { "type": "git", "url": "https://github.com/drupal/core-recommended.git", - "reference": "d8b7fa96de13d4e7c9ec3c5d9769cc87b74d7986" + "reference": "287868a598996f1eb04ea57dbefb741d3784db23" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-recommended/zipball/d8b7fa96de13d4e7c9ec3c5d9769cc87b74d7986", - "reference": "d8b7fa96de13d4e7c9ec3c5d9769cc87b74d7986", + "url": "https://api.github.com/repos/drupal/core-recommended/zipball/287868a598996f1eb04ea57dbefb741d3784db23", + "reference": "287868a598996f1eb04ea57dbefb741d3784db23", "shasum": "" }, "require": { @@ -3296,7 +3296,7 @@ "doctrine/annotations": "~1.13.2", "doctrine/lexer": "~1.2.3", "doctrine/reflection": "~1.2.3", - "drupal/core": "9.4.6", + "drupal/core": "9.4.7", "egulias/email-validator": "~3.2", "guzzlehttp/guzzle": "~6.5.8", "guzzlehttp/promises": "~1.5.1", @@ -3345,7 +3345,7 @@ "symfony/validator": "~v4.4.41", "symfony/var-dumper": "~v5.4.9", "symfony/yaml": "~v4.4.37", - "twig/twig": "~v2.15.1", + "twig/twig": "~v2.15.3", "typo3/phar-stream-wrapper": "~v3.1.7" }, "conflict": { @@ -3358,9 +3358,9 @@ ], "description": "Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.", "support": { - "source": "https://github.com/drupal/core-recommended/tree/9.4.6" + "source": "https://github.com/drupal/core-recommended/tree/9.4.7" }, - "time": "2022-09-20T13:22:39+00:00" + "time": "2022-09-28T16:19:47+00:00" }, { "name": "drupal/crop", @@ -15383,16 +15383,16 @@ }, { "name": "twig/twig", - "version": "v2.15.2", + "version": "v2.15.3", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "3e43405a9a8b578809426339cc3780e16fba0c52" + "reference": "ab402673db8746cb3a4c46f3869d6253699f614a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/3e43405a9a8b578809426339cc3780e16fba0c52", - "reference": "3e43405a9a8b578809426339cc3780e16fba0c52", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/ab402673db8746cb3a4c46f3869d6253699f614a", + "reference": "ab402673db8746cb3a4c46f3869d6253699f614a", "shasum": "" }, "require": { @@ -15447,7 +15447,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v2.15.2" + "source": "https://github.com/twigphp/Twig/tree/v2.15.3" }, "funding": [ { @@ -15459,7 +15459,7 @@ "type": "tidelift" } ], - "time": "2022-08-12T06:43:37+00:00" + "time": "2022-09-28T08:40:08+00:00" }, { "name": "typo3/phar-stream-wrapper", @@ -15732,5 +15732,5 @@ "platform-overrides": { "php": "7.3" }, - "plugin-api-version": "2.2.0" + "plugin-api-version": "2.3.0" } diff --git a/vendor/autoload.php b/vendor/autoload.php index f17a991d5a9e6cfff8b2b06c05363f478045a6a6..11c4986bd5b582daf5cd57a95b2031afaec294c8 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -2,6 +2,11 @@ // autoload.php @generated by Composer +if (PHP_VERSION_ID < 50600) { + echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + exit(1); +} + require_once __DIR__ . '/composer/autoload_real.php'; return ComposerAutoloaderInit5c689ffcd54b9e495ed983fdce09b530::getLoader(); diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php index d50e0c9fcc47df4f65268ae1a0b4074990160486..c6b54af7ba2e1e3e960134233321efe47aa4528c 100644 --- a/vendor/composer/InstalledVersions.php +++ b/vendor/composer/InstalledVersions.php @@ -21,12 +21,14 @@ * See also https://getcomposer.org/doc/07-runtime.md#installed-versions * * To require its presence, you can require `composer-runtime-api ^2.0` + * + * @final */ class InstalledVersions { /** * @var mixed[]|null - * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null + * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null */ private static $installed; @@ -37,7 +39,7 @@ class InstalledVersions /** * @var array[] - * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}> + * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}> */ private static $installedByVendor = array(); @@ -241,7 +243,7 @@ public static function getInstallPath($packageName) /** * @return array - * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} + * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} */ public static function getRootPackage() { @@ -255,7 +257,7 @@ public static function getRootPackage() * * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. * @return array[] - * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} + * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} */ public static function getRawData() { @@ -278,7 +280,7 @@ public static function getRawData() * Returns the raw data of all installed.php which are currently loaded for custom implementations * * @return array[] - * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}> + * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}> */ public static function getAllRawData() { @@ -301,7 +303,7 @@ public static function getAllRawData() * @param array[] $data A vendor/composer/installed.php data set * @return void * - * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data + * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data */ public static function reload($data) { @@ -311,7 +313,7 @@ public static function reload($data) /** * @return array[] - * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}> + * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}> */ private static function getInstalled() { diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index f47b269a21872f7336561ff5d19492889cf98892..3fcd148c4cf86e8ce46733f01d39d75812e18127 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -2,7 +2,7 @@ // autoload_classmap.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( @@ -2283,6 +2283,8 @@ 'Drupal\\Core\\Language\\LanguageManager' => $baseDir . '/web/core/lib/Drupal/Core/Language/LanguageManager.php', 'Drupal\\Core\\Language\\LanguageManagerInterface' => $baseDir . '/web/core/lib/Drupal/Core/Language/LanguageManagerInterface.php', 'Drupal\\Core\\Layout\\Annotation\\Layout' => $baseDir . '/web/core/lib/Drupal/Core/Layout/Annotation/Layout.php', + 'Drupal\\Core\\Layout\\Icon\\IconBuilderInterface' => $baseDir . '/web/core/lib/Drupal/Core/Layout/Icon/IconBuilderInterface.php', + 'Drupal\\Core\\Layout\\Icon\\SvgIconBuilder' => $baseDir . '/web/core/lib/Drupal/Core/Layout/Icon/SvgIconBuilder.php', 'Drupal\\Core\\Layout\\LayoutDefault' => $baseDir . '/web/core/lib/Drupal/Core/Layout/LayoutDefault.php', 'Drupal\\Core\\Layout\\LayoutDefinition' => $baseDir . '/web/core/lib/Drupal/Core/Layout/LayoutDefinition.php', 'Drupal\\Core\\Layout\\LayoutInterface' => $baseDir . '/web/core/lib/Drupal/Core/Layout/LayoutInterface.php', diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php index 921233b654b8978949fee5800e8627c71a30c819..9b2e655423b19e444c029d70e06424357d3c8551 100644 --- a/vendor/composer/autoload_files.php +++ b/vendor/composer/autoload_files.php @@ -2,19 +2,19 @@ // autoload_files.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php', - '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', - '0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php', '25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php', '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php', - '23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php', 'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php', 'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php', + '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', + '0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php', + '667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php', '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php', 'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php', 'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php', @@ -38,8 +38,8 @@ 'def43f6c87e4f8dfd0c9e1b1bab14fe8' => $vendorDir . '/symfony/polyfill-iconv/bootstrap.php', '2f69d3914119f042cca9e44442d5ce95' => $baseDir . '/web/core/includes/bootstrap.inc', '6db5533840cb1ae1bc049452845aa88e' => $baseDir . '/web/core/includes/guzzle_php81_shim.php', + '23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php', '5abda994d126976858eb25d2546ee3c9' => $vendorDir . '/simplesamlphp/simplesamlphp/lib/_autoload_modules.php', - '667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php', '801c31d8ed748cfa537fa45402288c95' => $vendorDir . '/psy/psysh/src/functions.php', '952683d815ff0a7bf322b93c0be7e4e4' => $vendorDir . '/chi-teck/drupal-code-generator/src/bootstrap.php', '5a12a5271c58108e0aa33355e6ac54ea' => $vendorDir . '/drupal/console-core/src/functions.php', diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php index 6180bc9b991a6d49035b0910033521bfd4e090cb..67c0219899c0c6a2bbe6487e7120464279d79d3d 100644 --- a/vendor/composer/autoload_namespaces.php +++ b/vendor/composer/autoload_namespaces.php @@ -2,7 +2,7 @@ // autoload_namespaces.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index d4f42ce6b46b60591742dc22f6275b7baab1a5b7..86356439ec77b0157d3c04140f04ef0d23e09f4c 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -2,7 +2,7 @@ // autoload_psr4.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 32fc497f4c4d9620ba5fca1e2c0997126e13899e..b2d2a58d2493bea66926e694bb5994576511cebe 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -25,42 +25,19 @@ public static function getLoader() require __DIR__ . '/platform_check.php'; spl_autoload_register(array('ComposerAutoloaderInit5c689ffcd54b9e495ed983fdce09b530', 'loadClassLoader'), true, true); - self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); + self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); spl_autoload_unregister(array('ComposerAutoloaderInit5c689ffcd54b9e495ed983fdce09b530', 'loadClassLoader')); $includePaths = require __DIR__ . '/include_paths.php'; $includePaths[] = get_include_path(); set_include_path(implode(PATH_SEPARATOR, $includePaths)); - $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); - if ($useStaticLoader) { - require __DIR__ . '/autoload_static.php'; - - call_user_func(\Composer\Autoload\ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530::getInitializer($loader)); - } else { - $map = require __DIR__ . '/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->set($namespace, $path); - } - - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } - - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); - } - } + require __DIR__ . '/autoload_static.php'; + call_user_func(\Composer\Autoload\ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530::getInitializer($loader)); $loader->register(true); - if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530::$files; - } else { - $includeFiles = require __DIR__ . '/autoload_files.php'; - } + $includeFiles = \Composer\Autoload\ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530::$files; foreach ($includeFiles as $fileIdentifier => $file) { composerRequire5c689ffcd54b9e495ed983fdce09b530($fileIdentifier, $file); } diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 4b6c110760138b1a074b855813037c1775ac75b4..5634349270164e583b7fd5edcd92b9bb638fa101 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -8,14 +8,14 @@ class ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530 { public static $files = array ( 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', - '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', - '0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php', '25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php', '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php', - '23c18046f52bef3eea034657bafda50f' => __DIR__ . '/..' . '/symfony/polyfill-php81/bootstrap.php', 'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php', 'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php', + '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', + '0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php', + '667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php', '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php', 'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php', 'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php', @@ -39,8 +39,8 @@ class ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530 'def43f6c87e4f8dfd0c9e1b1bab14fe8' => __DIR__ . '/..' . '/symfony/polyfill-iconv/bootstrap.php', '2f69d3914119f042cca9e44442d5ce95' => __DIR__ . '/../..' . '/web/core/includes/bootstrap.inc', '6db5533840cb1ae1bc049452845aa88e' => __DIR__ . '/../..' . '/web/core/includes/guzzle_php81_shim.php', + '23c18046f52bef3eea034657bafda50f' => __DIR__ . '/..' . '/symfony/polyfill-php81/bootstrap.php', '5abda994d126976858eb25d2546ee3c9' => __DIR__ . '/..' . '/simplesamlphp/simplesamlphp/lib/_autoload_modules.php', - '667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php', '801c31d8ed748cfa537fa45402288c95' => __DIR__ . '/..' . '/psy/psysh/src/functions.php', '952683d815ff0a7bf322b93c0be7e4e4' => __DIR__ . '/..' . '/chi-teck/drupal-code-generator/src/bootstrap.php', '5a12a5271c58108e0aa33355e6ac54ea' => __DIR__ . '/..' . '/drupal/console-core/src/functions.php', @@ -3074,6 +3074,8 @@ class ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530 'Drupal\\Core\\Language\\LanguageManager' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Language/LanguageManager.php', 'Drupal\\Core\\Language\\LanguageManagerInterface' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Language/LanguageManagerInterface.php', 'Drupal\\Core\\Layout\\Annotation\\Layout' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Layout/Annotation/Layout.php', + 'Drupal\\Core\\Layout\\Icon\\IconBuilderInterface' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Layout/Icon/IconBuilderInterface.php', + 'Drupal\\Core\\Layout\\Icon\\SvgIconBuilder' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Layout/Icon/SvgIconBuilder.php', 'Drupal\\Core\\Layout\\LayoutDefault' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Layout/LayoutDefault.php', 'Drupal\\Core\\Layout\\LayoutDefinition' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Layout/LayoutDefinition.php', 'Drupal\\Core\\Layout\\LayoutInterface' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Layout/LayoutInterface.php', diff --git a/vendor/composer/include_paths.php b/vendor/composer/include_paths.php index d4fb967181c34edeb03fdbced173d00c67b66855..af33c14914c069f356ffca8157fe5dc3a7ba421d 100644 --- a/vendor/composer/include_paths.php +++ b/vendor/composer/include_paths.php @@ -2,7 +2,7 @@ // include_paths.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 461ede701f8720a588a3d0831687b623e185a2f5..7a491952370b7a56436ddbe894622bb4943b537e 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -3148,17 +3148,17 @@ }, { "name": "drupal/core", - "version": "9.4.6", - "version_normalized": "9.4.6.0", + "version": "9.4.7", + "version_normalized": "9.4.7.0", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "a5c83e4ac0d8eb46f06a97a8b85bcbfa08a70701" + "reference": "247431af7e33a8cf7c46677a79336103c6e83db1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/a5c83e4ac0d8eb46f06a97a8b85bcbfa08a70701", - "reference": "a5c83e4ac0d8eb46f06a97a8b85bcbfa08a70701", + "url": "https://api.github.com/repos/drupal/core/zipball/247431af7e33a8cf7c46677a79336103c6e83db1", + "reference": "247431af7e33a8cf7c46677a79336103c6e83db1", "shasum": "" }, "require": { @@ -3204,7 +3204,7 @@ "symfony/translation": "^4.4", "symfony/validator": "^4.4", "symfony/yaml": "^4.4.19", - "twig/twig": "^2.15", + "twig/twig": "^2.15.3", "typo3/phar-stream-wrapper": "^3.1.3" }, "conflict": { @@ -3238,7 +3238,7 @@ "drupal/core-uuid": "self.version", "drupal/core-version": "self.version" }, - "time": "2022-09-20T13:22:39+00:00", + "time": "2022-09-28T16:19:47+00:00", "type": "drupal-core", "extra": { "drupal-scaffold": { @@ -3316,7 +3316,7 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/9.4.6" + "source": "https://github.com/drupal/core/tree/9.4.7" }, "install-path": "../../web/core" }, @@ -3372,17 +3372,17 @@ }, { "name": "drupal/core-recommended", - "version": "9.4.6", - "version_normalized": "9.4.6.0", + "version": "9.4.7", + "version_normalized": "9.4.7.0", "source": { "type": "git", "url": "https://github.com/drupal/core-recommended.git", - "reference": "d8b7fa96de13d4e7c9ec3c5d9769cc87b74d7986" + "reference": "287868a598996f1eb04ea57dbefb741d3784db23" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-recommended/zipball/d8b7fa96de13d4e7c9ec3c5d9769cc87b74d7986", - "reference": "d8b7fa96de13d4e7c9ec3c5d9769cc87b74d7986", + "url": "https://api.github.com/repos/drupal/core-recommended/zipball/287868a598996f1eb04ea57dbefb741d3784db23", + "reference": "287868a598996f1eb04ea57dbefb741d3784db23", "shasum": "" }, "require": { @@ -3391,7 +3391,7 @@ "doctrine/annotations": "~1.13.2", "doctrine/lexer": "~1.2.3", "doctrine/reflection": "~1.2.3", - "drupal/core": "9.4.6", + "drupal/core": "9.4.7", "egulias/email-validator": "~3.2", "guzzlehttp/guzzle": "~6.5.8", "guzzlehttp/promises": "~1.5.1", @@ -3440,13 +3440,13 @@ "symfony/validator": "~v4.4.41", "symfony/var-dumper": "~v5.4.9", "symfony/yaml": "~v4.4.37", - "twig/twig": "~v2.15.1", + "twig/twig": "~v2.15.3", "typo3/phar-stream-wrapper": "~v3.1.7" }, "conflict": { "webflo/drupal-core-strict": "*" }, - "time": "2022-09-20T13:22:39+00:00", + "time": "2022-09-28T16:19:47+00:00", "type": "metapackage", "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3454,7 +3454,7 @@ ], "description": "Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.", "support": { - "source": "https://github.com/drupal/core-recommended/tree/9.4.6" + "source": "https://github.com/drupal/core-recommended/tree/9.4.7" }, "install-path": null }, @@ -15817,17 +15817,17 @@ }, { "name": "twig/twig", - "version": "v2.15.2", - "version_normalized": "2.15.2.0", + "version": "v2.15.3", + "version_normalized": "2.15.3.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "3e43405a9a8b578809426339cc3780e16fba0c52" + "reference": "ab402673db8746cb3a4c46f3869d6253699f614a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/3e43405a9a8b578809426339cc3780e16fba0c52", - "reference": "3e43405a9a8b578809426339cc3780e16fba0c52", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/ab402673db8746cb3a4c46f3869d6253699f614a", + "reference": "ab402673db8746cb3a4c46f3869d6253699f614a", "shasum": "" }, "require": { @@ -15840,7 +15840,7 @@ "psr/container": "^1.0", "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" }, - "time": "2022-08-12T06:43:37+00:00", + "time": "2022-09-28T08:40:08+00:00", "type": "library", "extra": { "branch-alias": { @@ -15884,7 +15884,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v2.15.2" + "source": "https://github.com/twigphp/Twig/tree/v2.15.3" }, "funding": [ { diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index a55336697370e0eae446c173626767e49b68c6e1..7f12177093a69127f91e1a7137372de150ce3752 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -1,166 +1,166 @@ <?php return array( 'root' => array( + 'name' => 'osu-asc-webservices/d8-upstream', 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => '7f9bb121024eb250b3d84f6f2c746159cd992dbe', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => '5a67bd96e01d63061e27ba3be8306ee00708df67', - 'name' => 'osu-asc-webservices/d8-upstream', 'dev' => true, ), 'versions' => array( 'alchemy/zippy' => array( 'pretty_version' => '0.4.9', 'version' => '0.4.9.0', + 'reference' => '59fbeefb9a249122867ef25e53addfcce31850d7', 'type' => 'library', 'install_path' => __DIR__ . '/../alchemy/zippy', 'aliases' => array(), - 'reference' => '59fbeefb9a249122867ef25e53addfcce31850d7', 'dev_requirement' => false, ), 'asm89/stack-cors' => array( 'pretty_version' => '1.3.0', 'version' => '1.3.0.0', + 'reference' => 'b9c31def6a83f84b4d4a40d35996d375755f0e08', 'type' => 'library', 'install_path' => __DIR__ . '/../asm89/stack-cors', 'aliases' => array(), - 'reference' => 'b9c31def6a83f84b4d4a40d35996d375755f0e08', 'dev_requirement' => false, ), 'browserstate/history.js' => array( 'pretty_version' => '1.8.0', 'version' => '1.8.0.0', + 'reference' => 'origin/master', 'type' => 'drupal-library', 'install_path' => __DIR__ . '/../../web/libraries/history.js', 'aliases' => array(), - 'reference' => 'origin/master', 'dev_requirement' => false, ), 'chi-teck/drupal-code-generator' => array( 'pretty_version' => '1.33.1', 'version' => '1.33.1.0', + 'reference' => '5f814e980b6f9cf1ca8c74cc9385c3d81090d388', 'type' => 'library', 'install_path' => __DIR__ . '/../chi-teck/drupal-code-generator', 'aliases' => array(), - 'reference' => '5f814e980b6f9cf1ca8c74cc9385c3d81090d388', 'dev_requirement' => false, ), 'ckeditor/indentblock' => array( 'pretty_version' => '4.8.0', 'version' => '4.8.0.0', + 'reference' => NULL, 'type' => 'drupal-library', 'install_path' => __DIR__ . '/../../web/libraries/indentblock', 'aliases' => array(), - 'reference' => NULL, 'dev_requirement' => false, ), 'composer/installers' => array( 'pretty_version' => 'v1.11.0', 'version' => '1.11.0.0', + 'reference' => 'ae03311f45dfe194412081526be2e003960df74b', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/./installers', 'aliases' => array(), - 'reference' => 'ae03311f45dfe194412081526be2e003960df74b', 'dev_requirement' => false, ), 'composer/semver' => array( 'pretty_version' => '3.3.2', 'version' => '3.3.2.0', + 'reference' => '3953f23262f2bff1919fc82183ad9acb13ff62c9', 'type' => 'library', 'install_path' => __DIR__ . '/./semver', 'aliases' => array(), - 'reference' => '3953f23262f2bff1919fc82183ad9acb13ff62c9', 'dev_requirement' => false, ), 'consolidation/annotated-command' => array( 'pretty_version' => '4.2.4', 'version' => '4.2.4.0', + 'reference' => 'ec297e05cb86557671c2d6cbb1bebba6c7ae2c60', 'type' => 'library', 'install_path' => __DIR__ . '/../consolidation/annotated-command', 'aliases' => array(), - 'reference' => 'ec297e05cb86557671c2d6cbb1bebba6c7ae2c60', 'dev_requirement' => false, ), 'consolidation/config' => array( 'pretty_version' => '1.2.1', 'version' => '1.2.1.0', + 'reference' => 'cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1', 'type' => 'library', 'install_path' => __DIR__ . '/../consolidation/config', 'aliases' => array(), - 'reference' => 'cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1', 'dev_requirement' => false, ), 'consolidation/filter-via-dot-access-data' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', + 'reference' => 'a53e96c6b9f7f042f5e085bf911f3493cea823c6', 'type' => 'library', 'install_path' => __DIR__ . '/../consolidation/filter-via-dot-access-data', 'aliases' => array(), - 'reference' => 'a53e96c6b9f7f042f5e085bf911f3493cea823c6', 'dev_requirement' => false, ), 'consolidation/log' => array( 'pretty_version' => '2.0.2', 'version' => '2.0.2.0', + 'reference' => '82a2aaaa621a7b976e50a745a8d249d5085ee2b1', 'type' => 'library', 'install_path' => __DIR__ . '/../consolidation/log', 'aliases' => array(), - 'reference' => '82a2aaaa621a7b976e50a745a8d249d5085ee2b1', 'dev_requirement' => false, ), 'consolidation/output-formatters' => array( 'pretty_version' => '4.1.2', 'version' => '4.1.2.0', + 'reference' => '5821e6ae076bf690058a4de6c94dce97398a69c9', 'type' => 'library', 'install_path' => __DIR__ . '/../consolidation/output-formatters', 'aliases' => array(), - 'reference' => '5821e6ae076bf690058a4de6c94dce97398a69c9', 'dev_requirement' => false, ), 'consolidation/robo' => array( 'pretty_version' => '2.2.2', 'version' => '2.2.2.0', + 'reference' => 'b365df174d9cfb0f5814e4f3275a1c558b17bc4c', 'type' => 'library', 'install_path' => __DIR__ . '/../consolidation/robo', 'aliases' => array(), - 'reference' => 'b365df174d9cfb0f5814e4f3275a1c558b17bc4c', 'dev_requirement' => false, ), 'consolidation/self-update' => array( 'pretty_version' => '1.2.0', 'version' => '1.2.0.0', + 'reference' => 'dba6b2c0708f20fa3ba8008a2353b637578849b4', 'type' => 'library', 'install_path' => __DIR__ . '/../consolidation/self-update', 'aliases' => array(), - 'reference' => 'dba6b2c0708f20fa3ba8008a2353b637578849b4', 'dev_requirement' => false, ), 'consolidation/site-alias' => array( 'pretty_version' => '3.1.0', 'version' => '3.1.0.0', + 'reference' => '9ed3c590be9fcf9fea69c73456c2fd4b27f5204c', 'type' => 'library', 'install_path' => __DIR__ . '/../consolidation/site-alias', 'aliases' => array(), - 'reference' => '9ed3c590be9fcf9fea69c73456c2fd4b27f5204c', 'dev_requirement' => false, ), 'consolidation/site-process' => array( 'pretty_version' => '4.1.0', 'version' => '4.1.0.0', + 'reference' => 'ef57711d7049f7606ce936ded16ad93f1ad7f02c', 'type' => 'library', 'install_path' => __DIR__ . '/../consolidation/site-process', 'aliases' => array(), - 'reference' => 'ef57711d7049f7606ce936ded16ad93f1ad7f02c', 'dev_requirement' => false, ), 'container-interop/container-interop' => array( 'pretty_version' => '1.2.0', 'version' => '1.2.0.0', + 'reference' => '79cbf1341c22ec75643d841642dd5d6acd83bdb8', 'type' => 'library', 'install_path' => __DIR__ . '/../container-interop/container-interop', 'aliases' => array(), - 'reference' => '79cbf1341c22ec75643d841642dd5d6acd83bdb8', 'dev_requirement' => false, ), 'container-interop/container-interop-implementation' => array( @@ -172,226 +172,226 @@ 'cweagans/composer-patches' => array( 'pretty_version' => '1.7.0', 'version' => '1.7.0.0', + 'reference' => 'ae02121445ad75f4eaff800cc532b5e6233e2ddf', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../cweagans/composer-patches', 'aliases' => array(), - 'reference' => 'ae02121445ad75f4eaff800cc532b5e6233e2ddf', 'dev_requirement' => false, ), 'desandro/imagesloaded' => array( 'pretty_version' => '4.1.4', 'version' => '4.1.4.0', + 'reference' => 'origin/master', 'type' => 'drupal-library', 'install_path' => __DIR__ . '/../../web/libraries/imagesloaded', 'aliases' => array(), - 'reference' => 'origin/master', 'dev_requirement' => false, ), 'desandro/masonry' => array( 'pretty_version' => '4.2.0', 'version' => '4.2.0.0', + 'reference' => NULL, 'type' => 'drupal-library', 'install_path' => __DIR__ . '/../../web/libraries/masonry', 'aliases' => array(), - 'reference' => NULL, 'dev_requirement' => false, ), 'dflydev/dot-access-configuration' => array( 'pretty_version' => 'v1.0.3', 'version' => '1.0.3.0', + 'reference' => '2e6eb0c8b8830b26bb23defcfc38d4276508fc49', 'type' => 'library', 'install_path' => __DIR__ . '/../dflydev/dot-access-configuration', 'aliases' => array(), - 'reference' => '2e6eb0c8b8830b26bb23defcfc38d4276508fc49', 'dev_requirement' => false, ), 'dflydev/dot-access-data' => array( 'pretty_version' => 'v1.1.0', 'version' => '1.1.0.0', + 'reference' => '3fbd874921ab2c041e899d044585a2ab9795df8a', 'type' => 'library', 'install_path' => __DIR__ . '/../dflydev/dot-access-data', 'aliases' => array(), - 'reference' => '3fbd874921ab2c041e899d044585a2ab9795df8a', 'dev_requirement' => false, ), 'dflydev/placeholder-resolver' => array( 'pretty_version' => 'v1.0.2', 'version' => '1.0.2.0', + 'reference' => 'c498d0cae91b1bb36cc7d60906dab8e62bb7c356', 'type' => 'library', 'install_path' => __DIR__ . '/../dflydev/placeholder-resolver', 'aliases' => array(), - 'reference' => 'c498d0cae91b1bb36cc7d60906dab8e62bb7c356', 'dev_requirement' => false, ), 'dimsemenov/magnific-popup' => array( 'pretty_version' => '1.1.0', 'version' => '1.1.0.0', + 'reference' => '6b7a8088783cbce01034414c1fd2d8e1889093ae', 'type' => 'library', 'install_path' => __DIR__ . '/../dimsemenov/magnific-popup', 'aliases' => array(), - 'reference' => '6b7a8088783cbce01034414c1fd2d8e1889093ae', 'dev_requirement' => false, ), 'doctrine/annotations' => array( 'pretty_version' => '1.13.3', 'version' => '1.13.3.0', + 'reference' => '648b0343343565c4a056bfc8392201385e8d89f0', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/annotations', 'aliases' => array(), - 'reference' => '648b0343343565c4a056bfc8392201385e8d89f0', 'dev_requirement' => false, ), 'doctrine/collections' => array( 'pretty_version' => '1.7.3', 'version' => '1.7.3.0', + 'reference' => '09dde3eb237756190f2de738d3c97cff10a8407b', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/collections', 'aliases' => array(), - 'reference' => '09dde3eb237756190f2de738d3c97cff10a8407b', 'dev_requirement' => false, ), 'doctrine/deprecations' => array( 'pretty_version' => 'v1.0.0', 'version' => '1.0.0.0', + 'reference' => '0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/deprecations', 'aliases' => array(), - 'reference' => '0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de', 'dev_requirement' => false, ), 'doctrine/lexer' => array( 'pretty_version' => '1.2.3', 'version' => '1.2.3.0', + 'reference' => 'c268e882d4dbdd85e36e4ad69e02dc284f89d229', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/lexer', 'aliases' => array(), - 'reference' => 'c268e882d4dbdd85e36e4ad69e02dc284f89d229', 'dev_requirement' => false, ), 'doctrine/reflection' => array( 'pretty_version' => '1.2.3', 'version' => '1.2.3.0', + 'reference' => '1034e5e71f89978b80f9c1570e7226f6c3b9b6fb', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/reflection', 'aliases' => array(), - 'reference' => '1034e5e71f89978b80f9c1570e7226f6c3b9b6fb', 'dev_requirement' => false, ), 'drupal/addtocalendar' => array( 'pretty_version' => '3.2.0', 'version' => '3.2.0.0', + 'reference' => '8.x-3.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/addtocalendar', 'aliases' => array(), - 'reference' => '8.x-3.2', 'dev_requirement' => false, ), 'drupal/admin_toolbar' => array( 'pretty_version' => '3.1.1', 'version' => '3.1.1.0', + 'reference' => '3.1.1', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/admin_toolbar', 'aliases' => array(), - 'reference' => '3.1.1', 'dev_requirement' => false, ), 'drupal/adminimal_theme' => array( 'pretty_version' => '1.6.0', 'version' => '1.6.0.0', + 'reference' => '8.x-1.6', 'type' => 'drupal-theme', 'install_path' => __DIR__ . '/../../web/themes/adminimal_theme', 'aliases' => array(), - 'reference' => '8.x-1.6', 'dev_requirement' => false, ), 'drupal/administerusersbyrole' => array( 'pretty_version' => '3.0.0', 'version' => '3.0.0.0', + 'reference' => '8.x-3.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/administerusersbyrole', 'aliases' => array(), - 'reference' => '8.x-3.0', 'dev_requirement' => false, ), 'drupal/allowed_formats' => array( 'pretty_version' => '1.5.0', 'version' => '1.5.0.0', + 'reference' => '8.x-1.5', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/allowed_formats', 'aliases' => array(), - 'reference' => '8.x-1.5', 'dev_requirement' => false, ), 'drupal/anchor_link' => array( 'pretty_version' => '1.9.0', 'version' => '1.9.0.0', + 'reference' => '8.x-1.9', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/anchor_link', 'aliases' => array(), - 'reference' => '8.x-1.9', 'dev_requirement' => false, ), 'drupal/better_exposed_filters' => array( 'pretty_version' => '5.0.0', 'version' => '5.0.0.0', + 'reference' => '8.x-5.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/better_exposed_filters', 'aliases' => array(), - 'reference' => '8.x-5.0', 'dev_requirement' => false, ), 'drupal/block_field' => array( 'pretty_version' => '1.0.0-rc2', 'version' => '1.0.0.0-RC2', + 'reference' => '8.x-1.0-rc2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/block_field', 'aliases' => array(), - 'reference' => '8.x-1.0-rc2', 'dev_requirement' => false, ), 'drupal/block_permissions' => array( 'pretty_version' => '1.2.0', 'version' => '1.2.0.0', + 'reference' => '8.x-1.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/block_permissions', 'aliases' => array(), - 'reference' => '8.x-1.2', 'dev_requirement' => false, ), 'drupal/block_region_permissions' => array( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', + 'reference' => '8.x-1.4', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/block_region_permissions', 'aliases' => array(), - 'reference' => '8.x-1.4', 'dev_requirement' => false, ), 'drupal/bootstrap' => array( 'pretty_version' => '3.23.0', 'version' => '3.23.0.0', + 'reference' => '8.x-3.23', 'type' => 'drupal-theme', 'install_path' => __DIR__ . '/../../web/themes/bootstrap', 'aliases' => array(), - 'reference' => '8.x-3.23', 'dev_requirement' => false, ), 'drupal/cache_control_override' => array( 'pretty_version' => '1.0.0-alpha2', 'version' => '1.0.0.0-alpha2', + 'reference' => '8.x-1.0-alpha2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/cache_control_override', 'aliases' => array(), - 'reference' => '8.x-1.0-alpha2', 'dev_requirement' => false, ), 'drupal/captcha' => array( 'pretty_version' => '1.2.0', 'version' => '1.2.0.0', + 'reference' => '8.x-1.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/captcha', 'aliases' => array(), - 'reference' => '8.x-1.2', 'dev_requirement' => false, ), 'drupal/ckeditor' => array( @@ -403,1186 +403,1186 @@ 'drupal/ckeditor_indentblock' => array( 'pretty_version' => '1.0.0-beta2', 'version' => '1.0.0.0-beta2', + 'reference' => '8.x-1.0-beta2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/ckeditor_indentblock', 'aliases' => array(), - 'reference' => '8.x-1.0-beta2', 'dev_requirement' => false, ), 'drupal/config_direct_save' => array( 'pretty_version' => '2.1.0', 'version' => '2.1.0.0', + 'reference' => '8.x-2.1', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/config_direct_save', 'aliases' => array(), - 'reference' => '8.x-2.1', 'dev_requirement' => false, ), 'drupal/config_filter' => array( 'pretty_version' => '1.10.0', 'version' => '1.10.0.0', + 'reference' => '8.x-1.10', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/config_filter', 'aliases' => array(), - 'reference' => '8.x-1.10', 'dev_requirement' => false, ), 'drupal/config_ignore' => array( 'pretty_version' => '2.3.0', 'version' => '2.3.0.0', + 'reference' => '8.x-2.3', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/config_ignore', 'aliases' => array(), - 'reference' => '8.x-2.3', 'dev_requirement' => false, ), 'drupal/config_update' => array( 'pretty_version' => '1.7.0', 'version' => '1.7.0.0', + 'reference' => '8.x-1.7', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/config_update', 'aliases' => array(), - 'reference' => '8.x-1.7', 'dev_requirement' => false, ), 'drupal/console' => array( 'pretty_version' => '1.9.7', 'version' => '1.9.7.0', + 'reference' => '90053d30f52427edb4e4941a9063acb65b5a2c1e', 'type' => 'library', 'install_path' => __DIR__ . '/../drupal/console', 'aliases' => array(), - 'reference' => '90053d30f52427edb4e4941a9063acb65b5a2c1e', 'dev_requirement' => false, ), 'drupal/console-core' => array( 'pretty_version' => '1.9.7', 'version' => '1.9.7.0', + 'reference' => 'ab3abc2631761c9588230ba88189d9ba4eb9ed63', 'type' => 'library', 'install_path' => __DIR__ . '/../drupal/console-core', 'aliases' => array(), - 'reference' => 'ab3abc2631761c9588230ba88189d9ba4eb9ed63', 'dev_requirement' => false, ), 'drupal/console-en' => array( 'pretty_version' => 'v1.9.7', 'version' => '1.9.7.0', + 'reference' => '7594601fff153c2799a62bd678ff80749baeee0c', 'type' => 'library', 'install_path' => __DIR__ . '/../drupal/console-en', 'aliases' => array(), - 'reference' => '7594601fff153c2799a62bd678ff80749baeee0c', 'dev_requirement' => false, ), 'drupal/console-extend-plugin' => array( 'pretty_version' => '0.9.5', 'version' => '0.9.5.0', + 'reference' => 'eff6da99cfb5fe1fc60990672d2667c402eb3585', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../drupal/console-extend-plugin', 'aliases' => array(), - 'reference' => 'eff6da99cfb5fe1fc60990672d2667c402eb3585', 'dev_requirement' => false, ), 'drupal/content_access' => array( 'pretty_version' => '1.0.0-alpha3', 'version' => '1.0.0.0-alpha3', + 'reference' => '8.x-1.0-alpha3', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/content_access', 'aliases' => array(), - 'reference' => '8.x-1.0-alpha3', 'dev_requirement' => false, ), 'drupal/core' => array( - 'pretty_version' => '9.4.6', - 'version' => '9.4.6.0', + 'pretty_version' => '9.4.7', + 'version' => '9.4.7.0', + 'reference' => '247431af7e33a8cf7c46677a79336103c6e83db1', 'type' => 'drupal-core', 'install_path' => __DIR__ . '/../../web/core', 'aliases' => array(), - 'reference' => 'a5c83e4ac0d8eb46f06a97a8b85bcbfa08a70701', 'dev_requirement' => false, ), 'drupal/core-annotation' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-assertion' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-bridge' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-class-finder' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-composer-scaffold' => array( 'pretty_version' => '9.0.9', 'version' => '9.0.9.0', + 'reference' => 'c017751a6bb9b2ffe56f0fab607ba67c21604bfd', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../drupal/core-composer-scaffold', 'aliases' => array(), - 'reference' => 'c017751a6bb9b2ffe56f0fab607ba67c21604bfd', 'dev_requirement' => false, ), 'drupal/core-datetime' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-dependency-injection' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-diff' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-discovery' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-event-dispatcher' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-file-cache' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-file-security' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-filesystem' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-front-matter' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-gettext' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-graph' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-http-foundation' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-php-storage' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-plugin' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-proxy-builder' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-recommended' => array( - 'pretty_version' => '9.4.6', - 'version' => '9.4.6.0', + 'pretty_version' => '9.4.7', + 'version' => '9.4.7.0', + 'reference' => '287868a598996f1eb04ea57dbefb741d3784db23', 'type' => 'metapackage', 'install_path' => NULL, 'aliases' => array(), - 'reference' => 'd8b7fa96de13d4e7c9ec3c5d9769cc87b74d7986', 'dev_requirement' => false, ), 'drupal/core-render' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-serialization' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-transliteration' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-utility' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-uuid' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/core-version' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.6', + 0 => '9.4.7', ), ), 'drupal/crop' => array( 'pretty_version' => '2.2.0', 'version' => '2.2.0.0', + 'reference' => '8.x-2.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/crop', 'aliases' => array(), - 'reference' => '8.x-2.2', 'dev_requirement' => false, ), 'drupal/ctools' => array( 'pretty_version' => '3.7.0', 'version' => '3.7.0.0', + 'reference' => '8.x-3.7', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/ctools', 'aliases' => array(), - 'reference' => '8.x-3.7', 'dev_requirement' => false, ), 'drupal/dropzonejs' => array( 'pretty_version' => '2.6.0', 'version' => '2.6.0.0', + 'reference' => '8.x-2.6', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/dropzonejs', 'aliases' => array(), - 'reference' => '8.x-2.6', 'dev_requirement' => false, ), 'drupal/dropzonejs_eb_widget' => array( 'pretty_version' => '2.5.0', 'version' => '2.5.0.0', + 'reference' => NULL, 'type' => 'metapackage', 'install_path' => NULL, 'aliases' => array(), - 'reference' => NULL, 'dev_requirement' => false, ), 'drupal/editor_advanced_link' => array( 'pretty_version' => '1.9.0', 'version' => '1.9.0.0', + 'reference' => '8.x-1.9', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/editor_advanced_link', 'aliases' => array(), - 'reference' => '8.x-1.9', 'dev_requirement' => false, ), 'drupal/embed' => array( 'pretty_version' => '1.6.0', 'version' => '1.6.0.0', + 'reference' => '8.x-1.6', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/embed', 'aliases' => array(), - 'reference' => '8.x-1.6', 'dev_requirement' => false, ), 'drupal/entity' => array( 'pretty_version' => '1.2.0', 'version' => '1.2.0.0', + 'reference' => '8.x-1.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/entity', 'aliases' => array(), - 'reference' => '8.x-1.2', 'dev_requirement' => false, ), 'drupal/entity_browser' => array( 'pretty_version' => '2.8.0', 'version' => '2.8.0.0', + 'reference' => '8.x-2.8', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/entity_browser', 'aliases' => array(), - 'reference' => '8.x-2.8', 'dev_requirement' => false, ), 'drupal/entity_browser_entity_form' => array( 'pretty_version' => '1.10.0', 'version' => '1.10.0.0', + 'reference' => NULL, 'type' => 'metapackage', 'install_path' => NULL, 'aliases' => array(), - 'reference' => NULL, 'dev_requirement' => false, ), 'drupal/entity_clone' => array( 'pretty_version' => '1.0.0-beta5', 'version' => '1.0.0.0-beta5', + 'reference' => '8.x-1.0-beta5', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/entity_clone', 'aliases' => array(), - 'reference' => '8.x-1.0-beta5', 'dev_requirement' => false, ), 'drupal/entity_embed' => array( 'pretty_version' => '1.2.0', 'version' => '1.2.0.0', + 'reference' => '8.x-1.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/entity_embed', 'aliases' => array(), - 'reference' => '8.x-1.2', 'dev_requirement' => false, ), 'drupal/entity_reference_revisions' => array( 'pretty_version' => '1.9.0', 'version' => '1.9.0.0', + 'reference' => '8.x-1.9', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/entity_reference_revisions', 'aliases' => array(), - 'reference' => '8.x-1.9', 'dev_requirement' => false, ), 'drupal/exif_orientation' => array( 'pretty_version' => '1.1.0', 'version' => '1.1.0.0', + 'reference' => '8.x-1.1', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/exif_orientation', 'aliases' => array(), - 'reference' => '8.x-1.1', 'dev_requirement' => false, ), 'drupal/externalauth' => array( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', + 'reference' => '8.x-1.4', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/externalauth', 'aliases' => array(), - 'reference' => '8.x-1.4', 'dev_requirement' => false, ), 'drupal/field_group' => array( 'pretty_version' => '3.3.0', 'version' => '3.3.0.0', + 'reference' => '8.x-3.3', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/field_group', 'aliases' => array(), - 'reference' => '8.x-3.3', 'dev_requirement' => false, ), 'drupal/field_permissions' => array( 'pretty_version' => '1.1.0', 'version' => '1.1.0.0', + 'reference' => '8.x-1.1', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/field_permissions', 'aliases' => array(), - 'reference' => '8.x-1.1', 'dev_requirement' => false, ), 'drupal/file_browser' => array( 'pretty_version' => '1.3.0', 'version' => '1.3.0.0', + 'reference' => '8.x-1.3', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/file_browser', 'aliases' => array(), - 'reference' => '8.x-1.3', 'dev_requirement' => false, ), 'drupal/focal_point' => array( 'pretty_version' => '1.5.0', 'version' => '1.5.0.0', + 'reference' => '8.x-1.5', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/focal_point', 'aliases' => array(), - 'reference' => '8.x-1.5', 'dev_requirement' => false, ), 'drupal/google_analytics' => array( 'pretty_version' => '4.0.2', 'version' => '4.0.2.0', + 'reference' => '4.0.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/google_analytics', 'aliases' => array(), - 'reference' => '4.0.2', 'dev_requirement' => false, ), 'drupal/google_tag' => array( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', + 'reference' => '8.x-1.4', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/google_tag', 'aliases' => array(), - 'reference' => '8.x-1.4', 'dev_requirement' => false, ), 'drupal/honeypot' => array( 'pretty_version' => '2.1.0', 'version' => '2.1.0.0', + 'reference' => '2.1.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/honeypot', 'aliases' => array(), - 'reference' => '2.1.0', 'dev_requirement' => false, ), 'drupal/inline_entity_form' => array( 'pretty_version' => '1.0.0-rc9', 'version' => '1.0.0.0-RC9', + 'reference' => '8.x-1.0-rc9', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/inline_entity_form', 'aliases' => array(), - 'reference' => '8.x-1.0-rc9', 'dev_requirement' => false, ), 'drupal/jquery_ui' => array( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', + 'reference' => '8.x-1.4', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/jquery_ui', 'aliases' => array(), - 'reference' => '8.x-1.4', 'dev_requirement' => false, ), 'drupal/jquery_ui_datepicker' => array( 'pretty_version' => '1.2.0', 'version' => '1.2.0.0', + 'reference' => '8.x-1.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/jquery_ui_datepicker', 'aliases' => array(), - 'reference' => '8.x-1.2', 'dev_requirement' => false, ), 'drupal/jquery_ui_slider' => array( 'pretty_version' => '1.1.0', 'version' => '1.1.0.0', + 'reference' => '8.x-1.1', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/jquery_ui_slider', 'aliases' => array(), - 'reference' => '8.x-1.1', 'dev_requirement' => false, ), 'drupal/jquery_ui_touch_punch' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', + 'reference' => '1.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/jquery_ui_touch_punch', 'aliases' => array(), - 'reference' => '1.0.0', 'dev_requirement' => false, ), 'drupal/libraries' => array( 'pretty_version' => '3.0.0-beta1', 'version' => '3.0.0.0-beta1', + 'reference' => '8.x-3.0-beta1', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/libraries', 'aliases' => array(), - 'reference' => '8.x-3.0-beta1', 'dev_requirement' => false, ), 'drupal/link_attributes' => array( 'pretty_version' => '1.11.0', 'version' => '1.11.0.0', + 'reference' => '8.x-1.11', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/link_attributes', 'aliases' => array(), - 'reference' => '8.x-1.11', 'dev_requirement' => false, ), 'drupal/linkit' => array( 'pretty_version' => '5.0.0-beta13', 'version' => '5.0.0.0-beta13', + 'reference' => '8.x-5.0-beta13', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/linkit', 'aliases' => array(), - 'reference' => '8.x-5.0-beta13', 'dev_requirement' => false, ), 'drupal/mathjax' => array( 'pretty_version' => '3.0.0', 'version' => '3.0.0.0', + 'reference' => '3.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/mathjax', 'aliases' => array(), - 'reference' => '3.0.0', 'dev_requirement' => false, ), 'drupal/media_entity_browser' => array( 'pretty_version' => '2.0.0-alpha3', 'version' => '2.0.0.0-alpha3', + 'reference' => '8.x-2.0-alpha3', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/media_entity_browser', 'aliases' => array(), - 'reference' => '8.x-2.0-alpha3', 'dev_requirement' => false, ), 'drupal/media_entity_file_replace' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', + 'reference' => '8.x-1.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/media_entity_file_replace', 'aliases' => array(), - 'reference' => '8.x-1.0', 'dev_requirement' => false, ), 'drupal/media_entity_twitter' => array( 'pretty_version' => '2.7.0', 'version' => '2.7.0.0', + 'reference' => '8.x-2.7', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/media_entity_twitter', 'aliases' => array(), - 'reference' => '8.x-2.7', 'dev_requirement' => false, ), 'drupal/menu_block' => array( 'pretty_version' => '1.7.0', 'version' => '1.7.0.0', + 'reference' => '8.x-1.7', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/menu_block', 'aliases' => array(), - 'reference' => '8.x-1.7', 'dev_requirement' => false, ), 'drupal/menu_breadcrumb' => array( 'pretty_version' => '1.16.0', 'version' => '1.16.0.0', + 'reference' => '8.x-1.16', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/menu_breadcrumb', 'aliases' => array(), - 'reference' => '8.x-1.16', 'dev_requirement' => false, ), 'drupal/metatag' => array( 'pretty_version' => '1.16.0', 'version' => '1.16.0.0', + 'reference' => '8.x-1.16', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/metatag', 'aliases' => array(), - 'reference' => '8.x-1.16', 'dev_requirement' => false, ), 'drupal/migrate_devel' => array( 'pretty_version' => '2.0.0-alpha2', 'version' => '2.0.0.0-alpha2', + 'reference' => '8.x-2.0-alpha2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/migrate_devel', 'aliases' => array(), - 'reference' => '8.x-2.0-alpha2', 'dev_requirement' => false, ), 'drupal/migrate_plus' => array( 'pretty_version' => '5.1.0', 'version' => '5.1.0.0', + 'reference' => '8.x-5.1', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/migrate_plus', 'aliases' => array(), - 'reference' => '8.x-5.1', 'dev_requirement' => false, ), 'drupal/migrate_tools' => array( 'pretty_version' => '5.0.0', 'version' => '5.0.0.0', + 'reference' => '8.x-5.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/migrate_tools', 'aliases' => array(), - 'reference' => '8.x-5.0', 'dev_requirement' => false, ), 'drupal/mobile_detect' => array( 'pretty_version' => '2.5.0', 'version' => '2.5.0.0', + 'reference' => '8.x-2.5', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/mobile_detect', 'aliases' => array(), - 'reference' => '8.x-2.5', 'dev_requirement' => false, ), 'drupal/mobile_detect_twig_extensions' => array( 'pretty_version' => '1.5.0', 'version' => '1.5.0.0', + 'reference' => '8.x-1.5', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/mobile_detect_twig_extensions', 'aliases' => array(), - 'reference' => '8.x-1.5', 'dev_requirement' => false, ), 'drupal/module_filter' => array( 'pretty_version' => '3.2.0', 'version' => '3.2.0.0', + 'reference' => '8.x-3.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/module_filter', 'aliases' => array(), - 'reference' => '8.x-3.2', 'dev_requirement' => false, ), 'drupal/multiple_fields_remove_button' => array( 'pretty_version' => '1.0.0-alpha13', 'version' => '1.0.0.0-alpha13', + 'reference' => '8.x-1.0-alpha13', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/multiple_fields_remove_button', 'aliases' => array(), - 'reference' => '8.x-1.0-alpha13', 'dev_requirement' => false, ), 'drupal/pantheon_advanced_page_cache' => array( 'pretty_version' => '1.2.0', 'version' => '1.2.0.0', + 'reference' => '8.x-1.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/pantheon_advanced_page_cache', 'aliases' => array(), - 'reference' => '8.x-1.2', 'dev_requirement' => false, ), 'drupal/paragraphs' => array( 'pretty_version' => '1.12.0', 'version' => '1.12.0.0', + 'reference' => '8.x-1.12', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/paragraphs', 'aliases' => array(), - 'reference' => '8.x-1.12', 'dev_requirement' => false, ), 'drupal/pathauto' => array( 'pretty_version' => '1.8.0', 'version' => '1.8.0.0', + 'reference' => '8.x-1.8', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/pathauto', 'aliases' => array(), - 'reference' => '8.x-1.8', 'dev_requirement' => false, ), 'drupal/queue_mail' => array( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', + 'reference' => '8.x-1.4', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/queue_mail', 'aliases' => array(), - 'reference' => '8.x-1.4', 'dev_requirement' => false, ), 'drupal/realname' => array( 'pretty_version' => '2.0.0-beta1', 'version' => '2.0.0.0-beta1', + 'reference' => '2.0.0-beta1', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/realname', 'aliases' => array(), - 'reference' => '2.0.0-beta1', 'dev_requirement' => false, ), 'drupal/rebuild_cache_access' => array( 'pretty_version' => '1.7.0', 'version' => '1.7.0.0', + 'reference' => '8.x-1.7', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/rebuild_cache_access', 'aliases' => array(), - 'reference' => '8.x-1.7', 'dev_requirement' => false, ), 'drupal/recaptcha' => array( 'pretty_version' => '3.0.0', 'version' => '3.0.0.0', + 'reference' => '8.x-3.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/recaptcha', 'aliases' => array(), - 'reference' => '8.x-3.0', 'dev_requirement' => false, ), 'drupal/recaptcha_v3' => array( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', + 'reference' => '8.x-1.4', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/recaptcha_v3', 'aliases' => array(), - 'reference' => '8.x-1.4', 'dev_requirement' => false, ), 'drupal/redirect' => array( 'pretty_version' => '1.6.0', 'version' => '1.6.0.0', + 'reference' => '8.x-1.6', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/redirect', 'aliases' => array(), - 'reference' => '8.x-1.6', 'dev_requirement' => false, ), 'drupal/roleassign' => array( 'pretty_version' => '1.0.0-beta1', 'version' => '1.0.0.0-beta1', + 'reference' => '8.x-1.0-beta1', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/roleassign', 'aliases' => array(), - 'reference' => '8.x-1.0-beta1', 'dev_requirement' => false, ), 'drupal/scheduler' => array( 'pretty_version' => '1.3.0', 'version' => '1.3.0.0', + 'reference' => '8.x-1.3', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/scheduler', 'aliases' => array(), - 'reference' => '8.x-1.3', 'dev_requirement' => false, ), 'drupal/simple_gmap' => array( 'pretty_version' => '3.0.1', 'version' => '3.0.1.0', + 'reference' => '3.0.1', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/simple_gmap', 'aliases' => array(), - 'reference' => '3.0.1', 'dev_requirement' => false, ), 'drupal/simple_instagram_feed' => array( 'pretty_version' => '3.11.0', 'version' => '3.11.0.0', + 'reference' => '8.x-3.11', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/simple_instagram_feed', 'aliases' => array(), - 'reference' => '8.x-3.11', 'dev_requirement' => false, ), 'drupal/simple_sitemap' => array( 'pretty_version' => '3.11.0', 'version' => '3.11.0.0', + 'reference' => '8.x-3.11', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/simple_sitemap', 'aliases' => array(), - 'reference' => '8.x-3.11', 'dev_requirement' => false, ), 'drupal/simplesamlphp_auth' => array( 'pretty_version' => '3.2.0', 'version' => '3.2.0.0', + 'reference' => '8.x-3.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/simplesamlphp_auth', 'aliases' => array(), - 'reference' => '8.x-3.2', 'dev_requirement' => false, ), 'drupal/smtp' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', + 'reference' => '8.x-1.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/smtp', 'aliases' => array(), - 'reference' => '8.x-1.0', 'dev_requirement' => false, ), 'drupal/social_media' => array( 'pretty_version' => '1.9.0-rc2', 'version' => '1.9.0.0-RC2', + 'reference' => '8.x-1.9-rc2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/social_media', 'aliases' => array(), - 'reference' => '8.x-1.9-rc2', 'dev_requirement' => false, ), 'drupal/social_media_links' => array( 'pretty_version' => '2.8.0', 'version' => '2.8.0.0', + 'reference' => '8.x-2.8', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/social_media_links', 'aliases' => array(), - 'reference' => '8.x-2.8', 'dev_requirement' => false, ), 'drupal/superfish' => array( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', + 'reference' => '8.x-1.4', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/superfish', 'aliases' => array(), - 'reference' => '8.x-1.4', 'dev_requirement' => false, ), 'drupal/svg_image' => array( 'pretty_version' => '1.15.0', 'version' => '1.15.0.0', + 'reference' => '8.x-1.15', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/svg_image', 'aliases' => array(), - 'reference' => '8.x-1.15', 'dev_requirement' => false, ), 'drupal/token' => array( 'pretty_version' => '1.9.0', 'version' => '1.9.0.0', + 'reference' => '8.x-1.9', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/token', 'aliases' => array(), - 'reference' => '8.x-1.9', 'dev_requirement' => false, ), 'drupal/twig_tweak' => array( 'pretty_version' => '2.9.0', 'version' => '2.9.0.0', + 'reference' => '8.x-2.9', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/twig_tweak', 'aliases' => array(), - 'reference' => '8.x-2.9', 'dev_requirement' => false, ), 'drupal/twitter_block' => array( 'pretty_version' => '3.0.0-alpha1', 'version' => '3.0.0.0-alpha1', + 'reference' => '8.x-3.0-alpha1', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/twitter_block', 'aliases' => array(), - 'reference' => '8.x-3.0-alpha1', 'dev_requirement' => false, ), 'drupal/ultimate_cron' => array( 'pretty_version' => '2.0.0-alpha5', 'version' => '2.0.0.0-alpha5', + 'reference' => '8.x-2.0-alpha5', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/ultimate_cron', 'aliases' => array(), - 'reference' => '8.x-2.0-alpha5', 'dev_requirement' => false, ), 'drupal/userprotect' => array( 'pretty_version' => '1.1.0', 'version' => '1.1.0.0', + 'reference' => '8.x-1.1', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/userprotect', 'aliases' => array(), - 'reference' => '8.x-1.1', 'dev_requirement' => false, ), 'drupal/video_embed_field' => array( 'pretty_version' => '2.4.0', 'version' => '2.4.0.0', + 'reference' => '8.x-2.4', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/video_embed_field', 'aliases' => array(), - 'reference' => '8.x-2.4', 'dev_requirement' => false, ), 'drupal/view_unpublished' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', + 'reference' => '8.x-1.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/view_unpublished', 'aliases' => array(), - 'reference' => '8.x-1.0', 'dev_requirement' => false, ), 'drupal/views_ajax_history' => array( 'pretty_version' => '1.6.0', 'version' => '1.6.0.0', + 'reference' => '8.x-1.6', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/views_ajax_history', 'aliases' => array(), - 'reference' => '8.x-1.6', 'dev_requirement' => false, ), 'drupal/views_autocomplete_filters' => array( 'pretty_version' => '1.3.0', 'version' => '1.3.0.0', + 'reference' => '8.x-1.3', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/views_autocomplete_filters', 'aliases' => array(), - 'reference' => '8.x-1.3', 'dev_requirement' => false, ), 'drupal/views_bootstrap' => array( 'pretty_version' => '3.6.0', 'version' => '3.6.0.0', + 'reference' => '8.x-3.6', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/views_bootstrap', 'aliases' => array(), - 'reference' => '8.x-3.6', 'dev_requirement' => false, ), 'drupal/views_bulk_operations' => array( 'pretty_version' => '4.1.2', 'version' => '4.1.2.0', + 'reference' => '4.1.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/views_bulk_operations', 'aliases' => array(), - 'reference' => '4.1.2', 'dev_requirement' => false, ), 'drupal/views_fieldsets' => array( 'pretty_version' => '3.4.0', 'version' => '3.4.0.0', + 'reference' => '8.x-3.4', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/views_fieldsets', 'aliases' => array(), - 'reference' => '8.x-3.4', 'dev_requirement' => false, ), 'drupal/views_infinite_scroll' => array( 'pretty_version' => '1.9.0', 'version' => '1.9.0.0', + 'reference' => '8.x-1.9', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/views_infinite_scroll', 'aliases' => array(), - 'reference' => '8.x-1.9', 'dev_requirement' => false, ), 'drupal/webform' => array( 'pretty_version' => '6.1.2', 'version' => '6.1.2.0', + 'reference' => '6.1.2', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/webform', 'aliases' => array(), - 'reference' => '6.1.2', 'dev_requirement' => false, ), 'drush-ops/behat-drush-endpoint' => array( 'pretty_version' => '0.0.5', 'version' => '0.0.5.0', + 'reference' => '54aa39c07dae0f8bf0d4f11e116206e6a5aefb8c', 'type' => 'drupal-drush', 'install_path' => __DIR__ . '/../../drush/contrib/behat-drush-endpoint', 'aliases' => array(), - 'reference' => '54aa39c07dae0f8bf0d4f11e116206e6a5aefb8c', 'dev_requirement' => false, ), 'drush/drush' => array( 'pretty_version' => '10.3.6', 'version' => '10.3.6.0', + 'reference' => 'fc985a95c6010e04891a2dbcf3f39984b8c9ef0a', 'type' => 'library', 'install_path' => __DIR__ . '/../drush/drush', 'aliases' => array(), - 'reference' => 'fc985a95c6010e04891a2dbcf3f39984b8c9ef0a', 'dev_requirement' => false, ), 'egulias/email-validator' => array( 'pretty_version' => '3.2.1', 'version' => '3.2.1.0', + 'reference' => 'f88dcf4b14af14a98ad96b14b2b317969eab6715', 'type' => 'library', 'install_path' => __DIR__ . '/../egulias/email-validator', 'aliases' => array(), - 'reference' => 'f88dcf4b14af14a98ad96b14b2b317969eab6715', 'dev_requirement' => false, ), 'enshrined/svg-sanitize' => array( 'pretty_version' => '0.14.1', 'version' => '0.14.1.0', + 'reference' => '307b42066fb0b76b5119f5e1f0826e18fefabe95', 'type' => 'library', 'install_path' => __DIR__ . '/../enshrined/svg-sanitize', 'aliases' => array(), - 'reference' => '307b42066fb0b76b5119f5e1f0826e18fefabe95', 'dev_requirement' => false, ), 'enyo/dropzone' => array( 'pretty_version' => 'v5.7.6', 'version' => '5.7.6.0', + 'reference' => 'ab3943a65befc594d11cc70a96c6b69eb72ac961', 'type' => 'library', 'install_path' => __DIR__ . '/../enyo/dropzone', 'aliases' => array(), - 'reference' => 'ab3943a65befc594d11cc70a96c6b69eb72ac961', 'dev_requirement' => false, ), 'gdsmith/jquery.easing' => array( 'pretty_version' => '1.4.1', 'version' => '1.4.1.0', + 'reference' => 'origin/master', 'type' => 'drupal-library', 'install_path' => __DIR__ . '/../../web/libraries/jquery.easing', 'aliases' => array(), - 'reference' => 'origin/master', 'dev_requirement' => false, ), 'gettext/gettext' => array( 'pretty_version' => 'v4.8.3', 'version' => '4.8.3.0', + 'reference' => '57ff4fb16647e78e80a5909fe3c190f1c3110321', 'type' => 'library', 'install_path' => __DIR__ . '/../gettext/gettext', 'aliases' => array(), - 'reference' => '57ff4fb16647e78e80a5909fe3c190f1c3110321', 'dev_requirement' => false, ), 'gettext/languages' => array( 'pretty_version' => '2.6.0', 'version' => '2.6.0.0', + 'reference' => '38ea0482f649e0802e475f0ed19fa993bcb7a618', 'type' => 'library', 'install_path' => __DIR__ . '/../gettext/languages', 'aliases' => array(), - 'reference' => '38ea0482f649e0802e475f0ed19fa993bcb7a618', 'dev_requirement' => false, ), 'google/recaptcha' => array( 'pretty_version' => '1.2.4', 'version' => '1.2.4.0', + 'reference' => '614f25a9038be4f3f2da7cbfd778dc5b357d2419', 'type' => 'library', 'install_path' => __DIR__ . '/../google/recaptcha', 'aliases' => array(), - 'reference' => '614f25a9038be4f3f2da7cbfd778dc5b357d2419', 'dev_requirement' => false, ), 'grasmash/expander' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', + 'reference' => '95d6037344a4be1dd5f8e0b0b2571a28c397578f', 'type' => 'library', 'install_path' => __DIR__ . '/../grasmash/expander', 'aliases' => array(), - 'reference' => '95d6037344a4be1dd5f8e0b0b2571a28c397578f', 'dev_requirement' => false, ), 'grasmash/yaml-expander' => array( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', + 'reference' => '3f0f6001ae707a24f4d9733958d77d92bf9693b1', 'type' => 'library', 'install_path' => __DIR__ . '/../grasmash/yaml-expander', 'aliases' => array(), - 'reference' => '3f0f6001ae707a24f4d9733958d77d92bf9693b1', 'dev_requirement' => false, ), 'guzzlehttp/guzzle' => array( 'pretty_version' => '6.5.8', 'version' => '6.5.8.0', + 'reference' => 'a52f0440530b54fa079ce76e8c5d196a42cad981', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', 'aliases' => array(), - 'reference' => 'a52f0440530b54fa079ce76e8c5d196a42cad981', 'dev_requirement' => false, ), 'guzzlehttp/promises' => array( 'pretty_version' => '1.5.2', 'version' => '1.5.2.0', + 'reference' => 'b94b2807d85443f9719887892882d0329d1e2598', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/promises', 'aliases' => array(), - 'reference' => 'b94b2807d85443f9719887892882d0329d1e2598', 'dev_requirement' => false, ), 'guzzlehttp/psr7' => array( 'pretty_version' => '1.9.0', 'version' => '1.9.0.0', + 'reference' => 'e98e3e6d4f86621a9b75f623996e6bbdeb4b9318', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/psr7', 'aliases' => array(), - 'reference' => 'e98e3e6d4f86621a9b75f623996e6bbdeb4b9318', 'dev_requirement' => false, ), 'j7mbo/twitter-api-php' => array( 'pretty_version' => '1.0.6', 'version' => '1.0.6.0', + 'reference' => '443d22c53d621b3cc6b7e0c56daa60c5ada033f7', 'type' => 'library', 'install_path' => __DIR__ . '/../j7mbo/twitter-api-php', 'aliases' => array(), - 'reference' => '443d22c53d621b3cc6b7e0c56daa60c5ada033f7', 'dev_requirement' => false, ), 'laminas/laminas-diactoros' => array( 'pretty_version' => '2.11.3', 'version' => '2.11.3.0', + 'reference' => '1f97b0c52eafd108e09c76d6b29d83ef4a855f76', 'type' => 'library', 'install_path' => __DIR__ . '/../laminas/laminas-diactoros', 'aliases' => array(), - 'reference' => '1f97b0c52eafd108e09c76d6b29d83ef4a855f76', 'dev_requirement' => false, ), 'laminas/laminas-escaper' => array( 'pretty_version' => '2.9.0', 'version' => '2.9.0.0', + 'reference' => '891ad70986729e20ed2e86355fcf93c9dc238a5f', 'type' => 'library', 'install_path' => __DIR__ . '/../laminas/laminas-escaper', 'aliases' => array(), - 'reference' => '891ad70986729e20ed2e86355fcf93c9dc238a5f', 'dev_requirement' => false, ), 'laminas/laminas-feed' => array( 'pretty_version' => '2.17.0', 'version' => '2.17.0.0', + 'reference' => '1ccb024ea615606ed1d676ba0fa3f22a398f3ac0', 'type' => 'library', 'install_path' => __DIR__ . '/../laminas/laminas-feed', 'aliases' => array(), - 'reference' => '1ccb024ea615606ed1d676ba0fa3f22a398f3ac0', 'dev_requirement' => false, ), 'laminas/laminas-stdlib' => array( 'pretty_version' => '3.7.1', 'version' => '3.7.1.0', + 'reference' => 'bcd869e2fe88d567800057c1434f2380354fe325', 'type' => 'library', 'install_path' => __DIR__ . '/../laminas/laminas-stdlib', 'aliases' => array(), - 'reference' => 'bcd869e2fe88d567800057c1434f2380354fe325', 'dev_requirement' => false, ), 'league/container' => array( 'pretty_version' => '2.5.0', 'version' => '2.5.0.0', + 'reference' => '8438dc47a0674e3378bcce893a0a04d79a2c22b3', 'type' => 'library', 'install_path' => __DIR__ . '/../league/container', 'aliases' => array(), - 'reference' => '8438dc47a0674e3378bcce893a0a04d79a2c22b3', 'dev_requirement' => false, ), 'masterminds/html5' => array( 'pretty_version' => '2.7.6', 'version' => '2.7.6.0', + 'reference' => '897eb517a343a2281f11bc5556d6548db7d93947', 'type' => 'library', 'install_path' => __DIR__ . '/../masterminds/html5', 'aliases' => array(), - 'reference' => '897eb517a343a2281f11bc5556d6548db7d93947', 'dev_requirement' => false, ), 'mehrpadin/superfish' => array( 'pretty_version' => '2.1', 'version' => '2.1.0.0', + 'reference' => '80a0a484b727e9fbe6b0ee609f80e10e5e158683', 'type' => 'drupal-library', 'install_path' => __DIR__ . '/../../web/libraries/superfish', 'aliases' => array(), - 'reference' => '80a0a484b727e9fbe6b0ee609f80e10e5e158683', 'dev_requirement' => false, ), 'mobiledetect/mobiledetectlib' => array( 'pretty_version' => '2.8.34', 'version' => '2.8.34.0', + 'reference' => '6f8113f57a508494ca36acbcfa2dc2d923c7ed5b', 'type' => 'library', 'install_path' => __DIR__ . '/../mobiledetect/mobiledetectlib', 'aliases' => array(), - 'reference' => '6f8113f57a508494ca36acbcfa2dc2d923c7ed5b', 'dev_requirement' => false, ), 'nikic/php-parser' => array( 'pretty_version' => 'v4.10.5', 'version' => '4.10.5.0', + 'reference' => '4432ba399e47c66624bc73c8c0f811e5c109576f', 'type' => 'library', 'install_path' => __DIR__ . '/../nikic/php-parser', 'aliases' => array(), - 'reference' => '4432ba399e47c66624bc73c8c0f811e5c109576f', 'dev_requirement' => false, ), 'oomphinc/composer-installers-extender' => array( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', + 'reference' => '8d3fe38a1723e0e91076920c8bb946b1696e28ca', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../oomphinc/composer-installers-extender', 'aliases' => array(), - 'reference' => '8d3fe38a1723e0e91076920c8bb946b1696e28ca', 'dev_requirement' => false, ), 'orno/di' => array( @@ -1594,91 +1594,91 @@ 'osu-asc-webservices/d8-upstream' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => '7f9bb121024eb250b3d84f6f2c746159cd992dbe', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => '5a67bd96e01d63061e27ba3be8306ee00708df67', 'dev_requirement' => false, ), 'pantheon-systems/quicksilver-pushback' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', + 'reference' => '32c65effd6802bdf829f1c68fb75ade2bd5894a0', 'type' => 'quicksilver-script', 'install_path' => __DIR__ . '/../pantheon-systems/quicksilver-pushback', 'aliases' => array(), - 'reference' => '32c65effd6802bdf829f1c68fb75ade2bd5894a0', 'dev_requirement' => false, ), 'pear/archive_tar' => array( 'pretty_version' => '1.4.14', 'version' => '1.4.14.0', + 'reference' => '4d761c5334c790e45ef3245f0864b8955c562caa', 'type' => 'library', 'install_path' => __DIR__ . '/../pear/archive_tar', 'aliases' => array(), - 'reference' => '4d761c5334c790e45ef3245f0864b8955c562caa', 'dev_requirement' => false, ), 'pear/console_getopt' => array( 'pretty_version' => 'v1.4.3', 'version' => '1.4.3.0', + 'reference' => 'a41f8d3e668987609178c7c4a9fe48fecac53fa0', 'type' => 'library', 'install_path' => __DIR__ . '/../pear/console_getopt', 'aliases' => array(), - 'reference' => 'a41f8d3e668987609178c7c4a9fe48fecac53fa0', 'dev_requirement' => false, ), 'pear/pear-core-minimal' => array( 'pretty_version' => 'v1.10.11', 'version' => '1.10.11.0', + 'reference' => '68d0d32ada737153b7e93b8d3c710ebe70ac867d', 'type' => 'library', 'install_path' => __DIR__ . '/../pear/pear-core-minimal', 'aliases' => array(), - 'reference' => '68d0d32ada737153b7e93b8d3c710ebe70ac867d', 'dev_requirement' => false, ), 'pear/pear_exception' => array( 'pretty_version' => 'v1.0.2', 'version' => '1.0.2.0', + 'reference' => 'b14fbe2ddb0b9f94f5b24cf08783d599f776fff0', 'type' => 'class', 'install_path' => __DIR__ . '/../pear/pear_exception', 'aliases' => array(), - 'reference' => 'b14fbe2ddb0b9f94f5b24cf08783d599f776fff0', 'dev_requirement' => false, ), 'phpfastcache/riak-client' => array( 'pretty_version' => '3.4.3', 'version' => '3.4.3.0', + 'reference' => 'd771f75d16196006604a30bb15adc1c6a9b0fcc9', 'type' => 'library', 'install_path' => __DIR__ . '/../phpfastcache/riak-client', 'aliases' => array(), - 'reference' => 'd771f75d16196006604a30bb15adc1c6a9b0fcc9', 'dev_requirement' => false, ), 'phpmailer/phpmailer' => array( 'pretty_version' => 'v6.2.0', 'version' => '6.2.0.0', + 'reference' => 'e38888a75c070304ca5514197d4847a59a5c853f', 'type' => 'library', 'install_path' => __DIR__ . '/../phpmailer/phpmailer', 'aliases' => array(), - 'reference' => 'e38888a75c070304ca5514197d4847a59a5c853f', 'dev_requirement' => false, ), 'psr/cache' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', + 'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/cache', 'aliases' => array(), - 'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8', 'dev_requirement' => false, ), 'psr/container' => array( 'pretty_version' => '1.1.1', 'version' => '1.1.1.0', + 'reference' => '8622567409010282b7aeebe4bb841fe98b58dcaf', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), - 'reference' => '8622567409010282b7aeebe4bb841fe98b58dcaf', 'dev_requirement' => false, ), 'psr/container-implementation' => array( @@ -1697,10 +1697,10 @@ 'psr/http-factory' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', + 'reference' => '12ac7fcd07e5b077433f5f2bee95b3a771bf61be', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-factory', 'aliases' => array(), - 'reference' => '12ac7fcd07e5b077433f5f2bee95b3a771bf61be', 'dev_requirement' => false, ), 'psr/http-factory-implementation' => array( @@ -1712,10 +1712,10 @@ 'psr/http-message' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', + 'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-message', 'aliases' => array(), - 'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363', 'dev_requirement' => false, ), 'psr/http-message-implementation' => array( @@ -1727,10 +1727,10 @@ 'psr/log' => array( 'pretty_version' => '1.1.4', 'version' => '1.1.4.0', + 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), - 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', 'dev_requirement' => false, ), 'psr/log-implementation' => array( @@ -1742,28 +1742,28 @@ 'psy/psysh' => array( 'pretty_version' => 'v0.10.8', 'version' => '0.10.8.0', + 'reference' => 'e4573f47750dd6c92dca5aee543fa77513cbd8d3', 'type' => 'library', 'install_path' => __DIR__ . '/../psy/psysh', 'aliases' => array(), - 'reference' => 'e4573f47750dd6c92dca5aee543fa77513cbd8d3', 'dev_requirement' => false, ), 'ralouphie/getallheaders' => array( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', + 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'type' => 'library', 'install_path' => __DIR__ . '/../ralouphie/getallheaders', 'aliases' => array(), - 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'dev_requirement' => false, ), 'robrichards/xmlseclibs' => array( 'pretty_version' => '3.1.1', 'version' => '3.1.1.0', + 'reference' => 'f8f19e58f26cdb42c54b214ff8a820760292f8df', 'type' => 'library', 'install_path' => __DIR__ . '/../robrichards/xmlseclibs', 'aliases' => array(), - 'reference' => 'f8f19e58f26cdb42c54b214ff8a820760292f8df', 'dev_requirement' => false, ), 'roundcube/plugin-installer' => array( @@ -1787,406 +1787,406 @@ 'simplesamlphp/composer-module-installer' => array( 'pretty_version' => 'v1.1.8', 'version' => '1.1.8.0', + 'reference' => '45161b5406f3e9c82459d0f9a5a1dba064953cfa', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../simplesamlphp/composer-module-installer', 'aliases' => array(), - 'reference' => '45161b5406f3e9c82459d0f9a5a1dba064953cfa', 'dev_requirement' => false, ), 'simplesamlphp/saml2' => array( 'pretty_version' => 'v4.2.0', 'version' => '4.2.0.0', + 'reference' => 'd4038b83be50ccd64ecdc0b7c68e66d63c899d2c', 'type' => 'library', 'install_path' => __DIR__ . '/../simplesamlphp/saml2', 'aliases' => array(), - 'reference' => 'd4038b83be50ccd64ecdc0b7c68e66d63c899d2c', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp' => array( 'pretty_version' => 'v1.18.8', 'version' => '1.18.8.0', + 'reference' => 'ebb6d15bb8e8b45504adc26fd3872073d1e5cd9b', 'type' => 'project', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp', 'aliases' => array(), - 'reference' => 'ebb6d15bb8e8b45504adc26fd3872073d1e5cd9b', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-adfs' => array( 'pretty_version' => 'v0.9.6', 'version' => '0.9.6.0', + 'reference' => '425e5ebbdd097c92fe5265a6b48d32a3095c7237', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/adfs', 'aliases' => array(), - 'reference' => '425e5ebbdd097c92fe5265a6b48d32a3095c7237', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-authcrypt' => array( 'pretty_version' => 'v0.9.3', 'version' => '0.9.3.0', + 'reference' => '9a2c1a761e2d94394a4f2d3499fd6f0853899530', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/authcrypt', 'aliases' => array(), - 'reference' => '9a2c1a761e2d94394a4f2d3499fd6f0853899530', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-authfacebook' => array( 'pretty_version' => 'v0.9.3', 'version' => '0.9.3.0', + 'reference' => '9152731e939ad4a49e0f06da5f0009ebde0d2b5c', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/authfacebook', 'aliases' => array(), - 'reference' => '9152731e939ad4a49e0f06da5f0009ebde0d2b5c', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-authorize' => array( 'pretty_version' => 'v0.9.2', 'version' => '0.9.2.0', + 'reference' => 'c2607a5252ee1256b50ce7795e35513b116998d4', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/authorize', 'aliases' => array(), - 'reference' => 'c2607a5252ee1256b50ce7795e35513b116998d4', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-authtwitter' => array( 'pretty_version' => 'v0.9.1', 'version' => '0.9.1.0', + 'reference' => '29a15e58061222632fea9eb2c807aef5e2c0d54a', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/authtwitter', 'aliases' => array(), - 'reference' => '29a15e58061222632fea9eb2c807aef5e2c0d54a', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-authwindowslive' => array( 'pretty_version' => 'v0.9.1', 'version' => '0.9.1.0', + 'reference' => 'f40aecec6c0adaedb6693309840c98cec783876e', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/authwindowslive', 'aliases' => array(), - 'reference' => 'f40aecec6c0adaedb6693309840c98cec783876e', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-authx509' => array( 'pretty_version' => 'v0.9.8', 'version' => '0.9.8.0', + 'reference' => '66525b1ec4145ec8d0d0e9db4534624b6be4c1fb', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/authX509', 'aliases' => array(), - 'reference' => '66525b1ec4145ec8d0d0e9db4534624b6be4c1fb', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-authyubikey' => array( 'pretty_version' => 'v0.9.1', 'version' => '0.9.1.0', + 'reference' => '8c27bfeb4981d2e6fa40a831e945f40c5a4ad3d2', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/authYubikey', 'aliases' => array(), - 'reference' => '8c27bfeb4981d2e6fa40a831e945f40c5a4ad3d2', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-cas' => array( 'pretty_version' => 'v0.9.1', 'version' => '0.9.1.0', + 'reference' => '63b72e4600550c507cdfc32fdd208ad59a64321e', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/cas', 'aliases' => array(), - 'reference' => '63b72e4600550c507cdfc32fdd208ad59a64321e', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-cdc' => array( 'pretty_version' => 'v0.9.1', 'version' => '0.9.1.0', + 'reference' => '16a5bfac7299e04e5feb472af328e07598708166', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/cdc', 'aliases' => array(), - 'reference' => '16a5bfac7299e04e5feb472af328e07598708166', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-consent' => array( 'pretty_version' => 'v0.9.6', 'version' => '0.9.6.0', + 'reference' => '2f84d15e96afb5a32b6d1cff93370f501ca7867d', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/consent', 'aliases' => array(), - 'reference' => '2f84d15e96afb5a32b6d1cff93370f501ca7867d', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-consentadmin' => array( 'pretty_version' => 'v0.9.1', 'version' => '0.9.1.0', + 'reference' => '466e8d0d751f0080162d78e63ab2e125b24d17a1', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/consentAdmin', 'aliases' => array(), - 'reference' => '466e8d0d751f0080162d78e63ab2e125b24d17a1', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-discopower' => array( 'pretty_version' => 'v0.9.3', 'version' => '0.9.3.0', + 'reference' => 'c892926e8186d0a2c638f7032dfc30540c1f92fb', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/discopower', 'aliases' => array(), - 'reference' => 'c892926e8186d0a2c638f7032dfc30540c1f92fb', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-exampleattributeserver' => array( 'pretty_version' => 'v1.0.0', 'version' => '1.0.0.0', + 'reference' => '63e0323e81c32bc3c9eaa01ea45194bb10153708', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/exampleattributeserver', 'aliases' => array(), - 'reference' => '63e0323e81c32bc3c9eaa01ea45194bb10153708', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-expirycheck' => array( 'pretty_version' => 'v0.9.3', 'version' => '0.9.3.0', + 'reference' => '59c59cdf87e2679257b46c07bb4c27666a11cc20', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/expirycheck', 'aliases' => array(), - 'reference' => '59c59cdf87e2679257b46c07bb4c27666a11cc20', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-ldap' => array( 'pretty_version' => 'v0.9.10', 'version' => '0.9.10.0', + 'reference' => '78f04cbe41bfb9dcbcdeff4b5f12e67c060e1a77', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/ldap', 'aliases' => array(), - 'reference' => '78f04cbe41bfb9dcbcdeff4b5f12e67c060e1a77', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-memcachemonitor' => array( 'pretty_version' => 'v0.9.2', 'version' => '0.9.2.0', + 'reference' => '900b5c6b59913d9013b8dae090841a127ae55ae5', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/memcacheMonitor', 'aliases' => array(), - 'reference' => '900b5c6b59913d9013b8dae090841a127ae55ae5', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-memcookie' => array( 'pretty_version' => 'v1.2.2', 'version' => '1.2.2.0', + 'reference' => '39535304e8d464b7baa1e82cb441fa432947ff57', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/memcookie', 'aliases' => array(), - 'reference' => '39535304e8d464b7baa1e82cb441fa432947ff57', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-metarefresh' => array( 'pretty_version' => 'v0.9.6', 'version' => '0.9.6.0', + 'reference' => 'e284306a7097297765b5b78a4e28f19f18d4e001', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/metarefresh', 'aliases' => array(), - 'reference' => 'e284306a7097297765b5b78a4e28f19f18d4e001', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-negotiate' => array( 'pretty_version' => 'v0.9.10', 'version' => '0.9.10.0', + 'reference' => 'db05ff40399c66e3f14697a8162da6b2fbdab47d', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/negotiate', 'aliases' => array(), - 'reference' => 'db05ff40399c66e3f14697a8162da6b2fbdab47d', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-oauth' => array( 'pretty_version' => 'v0.9.2', 'version' => '0.9.2.0', + 'reference' => 'd14d7aca6e699ec12b3f4dd0128373faa1a2cc61', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/oauth', 'aliases' => array(), - 'reference' => 'd14d7aca6e699ec12b3f4dd0128373faa1a2cc61', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-preprodwarning' => array( 'pretty_version' => 'v0.9.2', 'version' => '0.9.2.0', + 'reference' => '8e032de33a75eb44857dc06d886ad94ee3af4638', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/preprodwarning', 'aliases' => array(), - 'reference' => '8e032de33a75eb44857dc06d886ad94ee3af4638', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-radius' => array( 'pretty_version' => 'v0.9.3', 'version' => '0.9.3.0', + 'reference' => '36bd0f39f9a13f7eb96ead97c97c3634aa1c3f2d', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/radius', 'aliases' => array(), - 'reference' => '36bd0f39f9a13f7eb96ead97c97c3634aa1c3f2d', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-riak' => array( 'pretty_version' => 'v0.9.1', 'version' => '0.9.1.0', + 'reference' => 'c1a9d9545cb4e05b9205b34624850bb777aca991', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/riak', 'aliases' => array(), - 'reference' => 'c1a9d9545cb4e05b9205b34624850bb777aca991', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-sanitycheck' => array( 'pretty_version' => 'v0.9.1', 'version' => '0.9.1.0', + 'reference' => '15d6664eae73a233c3c4c72fd8a5c2be72b6ed2a', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/sanitycheck', 'aliases' => array(), - 'reference' => '15d6664eae73a233c3c4c72fd8a5c2be72b6ed2a', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-smartattributes' => array( 'pretty_version' => 'v0.9.1', 'version' => '0.9.1.0', + 'reference' => 'b45d3ecd916e359a9cae05f9ae9df09b5c42f4e6', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/smartattributes', 'aliases' => array(), - 'reference' => 'b45d3ecd916e359a9cae05f9ae9df09b5c42f4e6', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-sqlauth' => array( 'pretty_version' => 'v0.9.1', 'version' => '0.9.1.0', + 'reference' => '31bce8763ad97f4b4473e4ad4a5a96ddc136ef6b', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/sqlauth', 'aliases' => array(), - 'reference' => '31bce8763ad97f4b4473e4ad4a5a96ddc136ef6b', 'dev_requirement' => false, ), 'simplesamlphp/simplesamlphp-module-statistics' => array( 'pretty_version' => 'v0.9.6', 'version' => '0.9.6.0', + 'reference' => '03fb6bdbbf5ce0a0cb257208db79aacac227ac10', 'type' => 'simplesamlphp-module', 'install_path' => __DIR__ . '/../simplesamlphp/simplesamlphp/modules/statistics', 'aliases' => array(), - 'reference' => '03fb6bdbbf5ce0a0cb257208db79aacac227ac10', 'dev_requirement' => false, ), 'simplesamlphp/twig-configurable-i18n' => array( 'pretty_version' => 'v2.3.4', 'version' => '2.3.4.0', + 'reference' => 'e2bffc7eed3112a0b3870ef5b4da0fd74c7c4b8a', 'type' => 'project', 'install_path' => __DIR__ . '/../simplesamlphp/twig-configurable-i18n', 'aliases' => array(), - 'reference' => 'e2bffc7eed3112a0b3870ef5b4da0fd74c7c4b8a', 'dev_requirement' => false, ), 'stack/builder' => array( 'pretty_version' => 'v1.0.6', 'version' => '1.0.6.0', + 'reference' => 'a4faaa6f532c6086bc66c29e1bc6c29593e1ca7c', 'type' => 'library', 'install_path' => __DIR__ . '/../stack/builder', 'aliases' => array(), - 'reference' => 'a4faaa6f532c6086bc66c29e1bc6c29593e1ca7c', 'dev_requirement' => false, ), 'stecman/symfony-console-completion' => array( 'pretty_version' => '0.11.0', 'version' => '0.11.0.0', + 'reference' => 'a9502dab59405e275a9f264536c4e1cb61fc3518', 'type' => 'library', 'install_path' => __DIR__ . '/../stecman/symfony-console-completion', 'aliases' => array(), - 'reference' => 'a9502dab59405e275a9f264536c4e1cb61fc3518', 'dev_requirement' => false, ), 'symfony-cmf/routing' => array( 'pretty_version' => '2.3.4', 'version' => '2.3.4.0', + 'reference' => 'bbcdf2f6301d740454ba9ebb8adaefd436c36a6b', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony-cmf/routing', 'aliases' => array(), - 'reference' => 'bbcdf2f6301d740454ba9ebb8adaefd436c36a6b', 'dev_requirement' => false, ), 'symfony/config' => array( 'pretty_version' => 'v4.4.25', 'version' => '4.4.25.0', + 'reference' => '2803882bb10353d277d4539635dd688a053d571c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/config', 'aliases' => array(), - 'reference' => '2803882bb10353d277d4539635dd688a053d571c', 'dev_requirement' => false, ), 'symfony/console' => array( 'pretty_version' => 'v4.4.45', 'version' => '4.4.45.0', + 'reference' => '28b77970939500fb04180166a1f716e75a871ef8', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), - 'reference' => '28b77970939500fb04180166a1f716e75a871ef8', 'dev_requirement' => false, ), 'symfony/css-selector' => array( 'pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', + 'reference' => 'bd0a6737e48de45b4b0b7b6fc98c78404ddceaed', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/css-selector', 'aliases' => array(), - 'reference' => 'bd0a6737e48de45b4b0b7b6fc98c78404ddceaed', 'dev_requirement' => false, ), 'symfony/debug' => array( 'pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', + 'reference' => '1a692492190773c5310bc7877cb590c04c2f05be', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/debug', 'aliases' => array(), - 'reference' => '1a692492190773c5310bc7877cb590c04c2f05be', 'dev_requirement' => false, ), 'symfony/dependency-injection' => array( 'pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', + 'reference' => '25502a57182ba1e15da0afd64c975cae4d0a1471', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dependency-injection', 'aliases' => array(), - 'reference' => '25502a57182ba1e15da0afd64c975cae4d0a1471', 'dev_requirement' => false, ), 'symfony/deprecation-contracts' => array( 'pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', + 'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), - 'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66', 'dev_requirement' => false, ), 'symfony/dom-crawler' => array( 'pretty_version' => 'v4.4.45', 'version' => '4.4.45.0', + 'reference' => '4b8daf6c56801e6d664224261cb100b73edc78a5', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dom-crawler', 'aliases' => array(), - 'reference' => '4b8daf6c56801e6d664224261cb100b73edc78a5', 'dev_requirement' => false, ), 'symfony/error-handler' => array( 'pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', + 'reference' => 'be731658121ef2d8be88f3a1ec938148a9237291', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/error-handler', 'aliases' => array(), - 'reference' => 'be731658121ef2d8be88f3a1ec938148a9237291', 'dev_requirement' => false, ), 'symfony/event-dispatcher' => array( 'pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', + 'reference' => '1e866e9e5c1b22168e0ce5f0b467f19bba61266a', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher', 'aliases' => array(), - 'reference' => '1e866e9e5c1b22168e0ce5f0b467f19bba61266a', 'dev_requirement' => false, ), 'symfony/event-dispatcher-contracts' => array( 'pretty_version' => 'v1.1.13', 'version' => '1.1.13.0', + 'reference' => '1d5cd762abaa6b2a4169d3e77610193a7157129e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher-contracts', 'aliases' => array(), - 'reference' => '1d5cd762abaa6b2a4169d3e77610193a7157129e', 'dev_requirement' => false, ), 'symfony/event-dispatcher-implementation' => array( @@ -2198,181 +2198,181 @@ 'symfony/filesystem' => array( 'pretty_version' => 'v4.4.25', 'version' => '4.4.25.0', + 'reference' => '2d926ebd76f52352deb3c9577d8c1d4b96eae429', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/filesystem', 'aliases' => array(), - 'reference' => '2d926ebd76f52352deb3c9577d8c1d4b96eae429', 'dev_requirement' => false, ), 'symfony/finder' => array( 'pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', + 'reference' => '66bd787edb5e42ff59d3523f623895af05043e4f', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), - 'reference' => '66bd787edb5e42ff59d3523f623895af05043e4f', 'dev_requirement' => false, ), 'symfony/http-client-contracts' => array( 'pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', + 'reference' => 'ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-client-contracts', 'aliases' => array(), - 'reference' => 'ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70', 'dev_requirement' => false, ), 'symfony/http-foundation' => array( 'pretty_version' => 'v4.4.45', 'version' => '4.4.45.0', + 'reference' => 'b2f2e3cb66349d89cb46c939cea03c62ad71cf00', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-foundation', 'aliases' => array(), - 'reference' => 'b2f2e3cb66349d89cb46c939cea03c62ad71cf00', 'dev_requirement' => false, ), 'symfony/http-kernel' => array( 'pretty_version' => 'v4.4.45', 'version' => '4.4.45.0', + 'reference' => '4f2d38e9a3c6997ea0886ede5aaf337dfd0fc938', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-kernel', 'aliases' => array(), - 'reference' => '4f2d38e9a3c6997ea0886ede5aaf337dfd0fc938', 'dev_requirement' => false, ), 'symfony/mime' => array( 'pretty_version' => 'v5.4.12', 'version' => '5.4.12.0', + 'reference' => '03876e9c5a36f5b45e7d9a381edda5421eff8a90', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/mime', 'aliases' => array(), - 'reference' => '03876e9c5a36f5b45e7d9a381edda5421eff8a90', 'dev_requirement' => false, ), 'symfony/polyfill-ctype' => array( 'pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', + 'reference' => '30885182c981ab175d4d034db0f6f469898070ab', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-ctype', 'aliases' => array(), - 'reference' => '30885182c981ab175d4d034db0f6f469898070ab', 'dev_requirement' => false, ), 'symfony/polyfill-iconv' => array( 'pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', + 'reference' => 'f1aed619e28cb077fc83fac8c4c0383578356e40', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-iconv', 'aliases' => array(), - 'reference' => 'f1aed619e28cb077fc83fac8c4c0383578356e40', 'dev_requirement' => false, ), 'symfony/polyfill-intl-idn' => array( 'pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', + 'reference' => '749045c69efb97c70d25d7463abba812e91f3a44', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-idn', 'aliases' => array(), - 'reference' => '749045c69efb97c70d25d7463abba812e91f3a44', 'dev_requirement' => false, ), 'symfony/polyfill-intl-normalizer' => array( 'pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', + 'reference' => '8590a5f561694770bdcd3f9b5c69dde6945028e8', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', 'aliases' => array(), - 'reference' => '8590a5f561694770bdcd3f9b5c69dde6945028e8', 'dev_requirement' => false, ), 'symfony/polyfill-mbstring' => array( 'pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', + 'reference' => '0abb51d2f102e00a4eefcf46ba7fec406d245825', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), - 'reference' => '0abb51d2f102e00a4eefcf46ba7fec406d245825', 'dev_requirement' => false, ), 'symfony/polyfill-php72' => array( 'pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', + 'reference' => 'bf44a9fd41feaac72b074de600314a93e2ae78e2', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php72', 'aliases' => array(), - 'reference' => 'bf44a9fd41feaac72b074de600314a93e2ae78e2', 'dev_requirement' => false, ), 'symfony/polyfill-php73' => array( 'pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', + 'reference' => 'e440d35fa0286f77fb45b79a03fedbeda9307e85', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php73', 'aliases' => array(), - 'reference' => 'e440d35fa0286f77fb45b79a03fedbeda9307e85', 'dev_requirement' => false, ), 'symfony/polyfill-php80' => array( 'pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', + 'reference' => '4407588e0d3f1f52efb65fbe92babe41f37fe50c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), - 'reference' => '4407588e0d3f1f52efb65fbe92babe41f37fe50c', 'dev_requirement' => false, ), 'symfony/polyfill-php81' => array( 'pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', + 'reference' => '13f6d1271c663dc5ae9fb843a8f16521db7687a1', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php81', 'aliases' => array(), - 'reference' => '13f6d1271c663dc5ae9fb843a8f16521db7687a1', 'dev_requirement' => false, ), 'symfony/process' => array( 'pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', + 'reference' => '5cee9cdc4f7805e2699d9fd66991a0e6df8252a2', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/process', 'aliases' => array(), - 'reference' => '5cee9cdc4f7805e2699d9fd66991a0e6df8252a2', 'dev_requirement' => false, ), 'symfony/psr-http-message-bridge' => array( 'pretty_version' => 'v2.1.3', 'version' => '2.1.3.0', + 'reference' => 'd444f85dddf65c7e57c58d8e5b3a4dbb593b1840', 'type' => 'symfony-bridge', 'install_path' => __DIR__ . '/../symfony/psr-http-message-bridge', 'aliases' => array(), - 'reference' => 'd444f85dddf65c7e57c58d8e5b3a4dbb593b1840', 'dev_requirement' => false, ), 'symfony/routing' => array( 'pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', + 'reference' => 'f7751fd8b60a07f3f349947a309b5bdfce22d6ae', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/routing', 'aliases' => array(), - 'reference' => 'f7751fd8b60a07f3f349947a309b5bdfce22d6ae', 'dev_requirement' => false, ), 'symfony/serializer' => array( 'pretty_version' => 'v4.4.45', 'version' => '4.4.45.0', + 'reference' => 'd19621a350491f76e2faed2afb982e0706f63252', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/serializer', 'aliases' => array(), - 'reference' => 'd19621a350491f76e2faed2afb982e0706f63252', 'dev_requirement' => false, ), 'symfony/service-contracts' => array( 'pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', + 'reference' => '4b426aac47d6427cc1a1d0f7e2ac724627f5966c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/service-contracts', 'aliases' => array(), - 'reference' => '4b426aac47d6427cc1a1d0f7e2ac724627f5966c', 'dev_requirement' => false, ), 'symfony/service-implementation' => array( @@ -2384,19 +2384,19 @@ 'symfony/translation' => array( 'pretty_version' => 'v4.4.45', 'version' => '4.4.45.0', + 'reference' => '4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), - 'reference' => '4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def', 'dev_requirement' => false, ), 'symfony/translation-contracts' => array( 'pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', + 'reference' => '136b19dd05cdf0709db6537d058bcab6dd6e2dbe', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), - 'reference' => '136b19dd05cdf0709db6537d058bcab6dd6e2dbe', 'dev_requirement' => false, ), 'symfony/translation-implementation' => array( @@ -2408,91 +2408,91 @@ 'symfony/validator' => array( 'pretty_version' => 'v4.4.45', 'version' => '4.4.45.0', + 'reference' => '06db9bfca8fefea4dfe8e804bbcd0aa79a414d0c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/validator', 'aliases' => array(), - 'reference' => '06db9bfca8fefea4dfe8e804bbcd0aa79a414d0c', 'dev_requirement' => false, ), 'symfony/var-dumper' => array( 'pretty_version' => 'v5.4.11', 'version' => '5.4.11.0', + 'reference' => 'b8f306d7b8ef34fb3db3305be97ba8e088fb4861', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/var-dumper', 'aliases' => array(), - 'reference' => 'b8f306d7b8ef34fb3db3305be97ba8e088fb4861', 'dev_requirement' => false, ), 'symfony/yaml' => array( 'pretty_version' => 'v4.4.45', 'version' => '4.4.45.0', + 'reference' => 'aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/yaml', 'aliases' => array(), - 'reference' => 'aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d', 'dev_requirement' => false, ), 'twig/extensions' => array( 'pretty_version' => 'v1.5.4', 'version' => '1.5.4.0', + 'reference' => '57873c8b0c1be51caa47df2cdb824490beb16202', 'type' => 'library', 'install_path' => __DIR__ . '/../twig/extensions', 'aliases' => array(), - 'reference' => '57873c8b0c1be51caa47df2cdb824490beb16202', 'dev_requirement' => false, ), 'twig/twig' => array( - 'pretty_version' => 'v2.15.2', - 'version' => '2.15.2.0', + 'pretty_version' => 'v2.15.3', + 'version' => '2.15.3.0', + 'reference' => 'ab402673db8746cb3a4c46f3869d6253699f614a', 'type' => 'library', 'install_path' => __DIR__ . '/../twig/twig', 'aliases' => array(), - 'reference' => '3e43405a9a8b578809426339cc3780e16fba0c52', 'dev_requirement' => false, ), 'typo3/phar-stream-wrapper' => array( 'pretty_version' => 'v3.1.7', 'version' => '3.1.7.0', + 'reference' => '5cc2f04a4e2f5c7e9cc02a3bdf80fae0f3e11a8c', 'type' => 'library', 'install_path' => __DIR__ . '/../typo3/phar-stream-wrapper', 'aliases' => array(), - 'reference' => '5cc2f04a4e2f5c7e9cc02a3bdf80fae0f3e11a8c', 'dev_requirement' => false, ), 'webflo/drupal-finder' => array( 'pretty_version' => '1.2.2', 'version' => '1.2.2.0', + 'reference' => 'c8e5dbe65caef285fec8057a4c718a0d4138d1ee', 'type' => 'library', 'install_path' => __DIR__ . '/../webflo/drupal-finder', 'aliases' => array(), - 'reference' => 'c8e5dbe65caef285fec8057a4c718a0d4138d1ee', 'dev_requirement' => false, ), 'webmozart/assert' => array( 'pretty_version' => '1.5.0', 'version' => '1.5.0.0', + 'reference' => '88e6d84706d09a236046d686bbea96f07b3a34f4', 'type' => 'library', 'install_path' => __DIR__ . '/../webmozart/assert', 'aliases' => array(), - 'reference' => '88e6d84706d09a236046d686bbea96f07b3a34f4', 'dev_requirement' => false, ), 'webmozart/path-util' => array( 'pretty_version' => '2.3.0', 'version' => '2.3.0.0', + 'reference' => 'd939f7edc24c9a1bb9c0dee5cb05d8e859490725', 'type' => 'library', 'install_path' => __DIR__ . '/../webmozart/path-util', 'aliases' => array(), - 'reference' => 'd939f7edc24c9a1bb9c0dee5cb05d8e859490725', 'dev_requirement' => false, ), 'whitehat101/apr1-md5' => array( 'pretty_version' => 'v1.0.0', 'version' => '1.0.0.0', + 'reference' => '8b261c9fc0481b4e9fa9d01c6ca70867b5d5e819', 'type' => 'library', 'install_path' => __DIR__ . '/../whitehat101/apr1-md5', 'aliases' => array(), - 'reference' => '8b261c9fc0481b4e9fa9d01c6ca70867b5d5e819', 'dev_requirement' => false, ), ), diff --git a/vendor/twig/twig/.gitattributes b/vendor/twig/twig/.gitattributes index 1ce832b520daca91b3751edf65e6bcfed5d2cc7d..06bc3671340ab8fa4c609b05abe22fd2b4332f32 100644 --- a/vendor/twig/twig/.gitattributes +++ b/vendor/twig/twig/.gitattributes @@ -1,4 +1,4 @@ -/doc/** export-ignore -/extra/** export-ignore -/tests export-ignore +/doc/ export-ignore +/extra/ export-ignore +/tests/ export-ignore /phpunit.xml.dist export-ignore diff --git a/vendor/twig/twig/.github/workflows/documentation.yml b/vendor/twig/twig/.github/workflows/documentation.yml index 812fb3c6dde6cc66070e8ab2708b5d13901cabf5..ee83b588749cbe1088dff59cb47f92c7e4de0e65 100644 --- a/vendor/twig/twig/.github/workflows/documentation.yml +++ b/vendor/twig/twig/.github/workflows/documentation.yml @@ -4,7 +4,8 @@ on: pull_request: push: branches: - - '1.x' + - '2.x' + - '3.x' permissions: contents: read @@ -19,32 +20,32 @@ jobs: - name: "Checkout code" uses: actions/checkout@v2 - - name: "Set up Python 3.7" - uses: actions/setup-python@v1 + - name: "Set-up PHP" + uses: shivammathur/setup-php@v2 with: - python-version: '3.7' # Semantic version range syntax or exact version of a Python version + php-version: 8.1 + coverage: none + tools: "composer:v2" - - name: "Display Python version" - run: python -c "import sys; print(sys.version)" + - name: Get composer cache directory + id: composercache + working-directory: doc/_build + run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - name: "Install Sphinx dependencies" - run: sudo apt-get install python-dev build-essential - - - name: "Cache pip" + - name: Cache dependencies uses: actions/cache@v2 with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('_build/.requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- - - - name: "Install Sphinx + requirements via pip" - working-directory: "doc" - run: pip install -r _build/.requirements.txt - - - name: "Build documentation" - working-directory: "doc" - run: make -C _build SPHINXOPTS="-nqW -j auto" html + path: ${{ steps.composercache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + + - name: "Install dependencies" + working-directory: doc/_build + run: composer install --prefer-dist --no-progress + + - name: "Build the docs" + working-directory: doc/_build + run: php build.php --disable-cache doctor-rst: name: "DOCtor-RST" diff --git a/vendor/twig/twig/.gitignore b/vendor/twig/twig/.gitignore index cd52aeace68c028fb1316695511c92b80d65e108..b197246ba806c35e5a655603335ccaeb8d25b6e2 100644 --- a/vendor/twig/twig/.gitignore +++ b/vendor/twig/twig/.gitignore @@ -1,3 +1,5 @@ +/doc/_build/vendor +/doc/_build/output /composer.lock /phpunit.xml /vendor diff --git a/vendor/twig/twig/CHANGELOG b/vendor/twig/twig/CHANGELOG index 16672392a8eb8c127f61784619ab4f6bb5d09778..51712223b6f26d0b3f356084b8e62b0840a00cf3 100644 --- a/vendor/twig/twig/CHANGELOG +++ b/vendor/twig/twig/CHANGELOG @@ -1,3 +1,7 @@ +# 2.15.3 (2022-09-28) + + * Fix a security issue on filesystem loader (possibility to load a template outside a configured directory) + # 2.15.2 (2022-08-12) * Allow inherited magic method to still run with calling class diff --git a/vendor/twig/twig/src/Environment.php b/vendor/twig/twig/src/Environment.php index af056762d2bac227673e79d85f2730e15a162e89..13ce511f4fe44054e3345488bfb5ccf4d54d1d56 100644 --- a/vendor/twig/twig/src/Environment.php +++ b/vendor/twig/twig/src/Environment.php @@ -38,11 +38,11 @@ */ class Environment { - public const VERSION = '2.15.2'; - public const VERSION_ID = 21502; + public const VERSION = '2.15.3'; + public const VERSION_ID = 21503; public const MAJOR_VERSION = 2; public const MINOR_VERSION = 15; - public const RELEASE_VERSION = 2; + public const RELEASE_VERSION = 3; public const EXTRA_VERSION = ''; private $charset; diff --git a/vendor/twig/twig/src/Loader/FilesystemLoader.php b/vendor/twig/twig/src/Loader/FilesystemLoader.php index 8d82d4b1319c381d10e410334ef99e7ebcd52bba..8cac30bed6912cd4f6cac3271d998e8b187f726a 100644 --- a/vendor/twig/twig/src/Loader/FilesystemLoader.php +++ b/vendor/twig/twig/src/Loader/FilesystemLoader.php @@ -206,9 +206,9 @@ protected function findTemplate($name, $throw = true) } try { - $this->validateName($name); - list($namespace, $shortname) = $this->parseName($name); + + $this->validateName($shortname); } catch (LoaderError $e) { if (!$throw) { return false; diff --git a/web/core/assets/scaffold/files/default.services.yml b/web/core/assets/scaffold/files/default.services.yml index ff6797d954cc246ba1b960fc315a5b4485f4e0a1..cdeb41fc49805c112cd9fd98828a5ff465459cdd 100644 --- a/web/core/assets/scaffold/files/default.services.yml +++ b/web/core/assets/scaffold/files/default.services.yml @@ -93,6 +93,21 @@ parameters: # Disabling the Twig cache is not recommended in production environments. # @default true cache: true + # File extensions: + # + # List of file extensions the Twig system is allowed to load via the + # twig.loader.filesystem service. Files with other extensions will not be + # loaded unless they are added here. For example, to allow a file named + # 'example.partial' to be loaded, add 'partial' to this list. To load files + # with no extension, add an empty string '' to the list. + # + # @default ['css', 'html', 'js', 'svg', 'twig'] + allowed_file_extensions: + - css + - html + - js + - svg + - twig renderer.config: # Renderer required cache contexts: # diff --git a/web/core/composer.json b/web/core/composer.json index 2c096e6a7101bec6078d9a57c24c7d64d27d219d..1c7ef8c858def43445a4a0e073a91f854ca74c12 100644 --- a/web/core/composer.json +++ b/web/core/composer.json @@ -33,7 +33,7 @@ "symfony/polyfill-php80": "^1.25", "symfony/yaml": "^4.4.19", "typo3/phar-stream-wrapper": "^3.1.3", - "twig/twig": "^2.15", + "twig/twig": "^2.15.3", "doctrine/reflection": "^1.2", "doctrine/annotations": "^1.13", "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5", diff --git a/web/core/core.services.yml b/web/core/core.services.yml index 053c40b764c532b448b38e9b69f07eba0ae7b6dd..95161324495174bae79bcdd05c2fbaaf83013271 100644 --- a/web/core/core.services.yml +++ b/web/core/core.services.yml @@ -15,6 +15,12 @@ parameters: debug: false auto_reload: null cache: true + allowed_file_extensions: + - css + - html + - js + - svg + - twig renderer.config: required_cache_contexts: ['languages:language_interface', 'theme', 'user.permissions'] auto_placeholder_conditions: @@ -1688,7 +1694,7 @@ services: # We use '.' instead of '%app.root%' as the path for non-namespaced template # files so that they match the relative paths of templates loaded via the # theme registry or via Twig namespaces. - arguments: ['.', '@module_handler', '@theme_handler'] + arguments: ['.', '@module_handler', '@theme_handler', '%twig.config%'] tags: - { name: twig.loader, priority: 100 } twig.loader.theme_registry: diff --git a/web/core/lib/Drupal.php b/web/core/lib/Drupal.php index 800ebed1e2151dc92e66e477db7f270ea4a77618..14f6dded0acbc3808d6eac271f543d939df8cd00 100644 --- a/web/core/lib/Drupal.php +++ b/web/core/lib/Drupal.php @@ -75,7 +75,7 @@ class Drupal { /** * The current system version. */ - const VERSION = '9.4.6'; + const VERSION = '9.4.7'; /** * Core API compatibility. diff --git a/web/core/lib/Drupal/Core/Template/Loader/FilesystemLoader.php b/web/core/lib/Drupal/Core/Template/Loader/FilesystemLoader.php index 1864b3e128c4bf29216d1a9d2395502520307c62..127a94ff031924fffb7e1052950790a0a33c8073 100644 --- a/web/core/lib/Drupal/Core/Template/Loader/FilesystemLoader.php +++ b/web/core/lib/Drupal/Core/Template/Loader/FilesystemLoader.php @@ -4,6 +4,7 @@ use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Extension\ThemeHandlerInterface; +use Twig\Error\LoaderError; use Twig\Loader\FilesystemLoader as TwigFilesystemLoader; /** @@ -15,6 +16,13 @@ */ class FilesystemLoader extends TwigFilesystemLoader { + /** + * Allowed file extensions. + * + * @var string[] + */ + protected $allowedFileExtensions = ['css', 'html', 'js', 'svg', 'twig']; + /** * Constructs a new FilesystemLoader object. * @@ -24,8 +32,10 @@ class FilesystemLoader extends TwigFilesystemLoader { * The module handler service. * @param \Drupal\Core\Extension\ThemeHandlerInterface $theme_handler * The theme handler service. + * @param mixed[] $twig_config + * Twig configuration from the service container. */ - public function __construct($paths, ModuleHandlerInterface $module_handler, ThemeHandlerInterface $theme_handler) { + public function __construct($paths, ModuleHandlerInterface $module_handler, ThemeHandlerInterface $theme_handler, array $twig_config = []) { parent::__construct($paths); // Add namespaced paths for modules and themes. @@ -39,6 +49,15 @@ public function __construct($paths, ModuleHandlerInterface $module_handler, Them foreach ($namespaces as $name => $path) { $this->addPath($path . '/templates', $name); + // Allow accessing the root of an extension by using the namespace without + // using directory traversal from the `/templates` directory. + $this->addPath($path, $name); + } + if (!empty($twig_config['allowed_file_extensions'])) { + // Provide a safe fallback for sites that have not updated their + // services.yml file or rebuilt the container, as well as for child + // classes. + $this->allowedFileExtensions = $twig_config['allowed_file_extensions']; } } @@ -56,4 +75,38 @@ public function addPath($path, $namespace = self::MAIN_NAMESPACE) { $this->paths[$namespace][] = rtrim($path, '/\\'); } + /** + * {@inheritdoc} + */ + protected function findTemplate($name, $throw = TRUE) { + $extension = pathinfo($name, PATHINFO_EXTENSION); + if (!in_array($extension, $this->allowedFileExtensions, TRUE)) { + if (!$throw) { + return NULL; + } + // Customize the list of extensions if no file extension is allowed. + $extensions = $this->allowedFileExtensions; + $no_extension = array_search('', $extensions, TRUE); + if (is_int($no_extension)) { + unset($extensions[$no_extension]); + $extensions[] = 'or no file extension'; + } + if (empty($extension)) { + $extension = 'no file extension'; + } + throw new LoaderError(sprintf("Template %s has an invalid file extension (%s). Only templates ending in one of %s are allowed. Set the twig.config.allowed_file_extensions container parameter to customize the allowed file extensions", $name, $extension, implode(', ', $extensions))); + } + + // Previously it was possible to access files in the parent directory of a + // namespace. This was removed in Twig 2.15.3. In order to support backwards + // compatibility, we are adding path directory as a namespace, and therefore + // we can remove the directory traversal from the name. + // @todo deprecate this functionality for removal in Drupal 11. + if (preg_match('/(^\@[^\/]+\/)\.\.\/(.*)/', $name, $matches)) { + $name = $matches[1] . $matches[2]; + } + + return parent::findTemplate($name, $throw); + } + } diff --git a/web/core/modules/help_topics/src/HelpTopicTwigLoader.php b/web/core/modules/help_topics/src/HelpTopicTwigLoader.php index cdfeaf616f422ff66995c68025c35c49ed4b704c..aa6c8c4a04cd483bf99ce40041aa9346078272d2 100644 --- a/web/core/modules/help_topics/src/HelpTopicTwigLoader.php +++ b/web/core/modules/help_topics/src/HelpTopicTwigLoader.php @@ -95,4 +95,18 @@ public function getSourceContext($name) { return new Source($contents, $name, $path); } + /** + * {@inheritdoc} + */ + protected function findTemplate($name, $throw = TRUE) { + if (!str_ends_with($name, '.html.twig')) { + if (!$throw) { + return NULL; + } + $extension = pathinfo($name, PATHINFO_EXTENSION); + throw new LoaderError(sprintf("Help topic %s has an invalid file extension (%s). Only help topics ending .html.twig are allowed.", $name, $extension)); + } + return parent::findTemplate($name, $throw); + } + } diff --git a/web/core/modules/system/tests/src/Kernel/Theme/TwigIncludeTest.php b/web/core/modules/system/tests/src/Kernel/Theme/TwigIncludeTest.php new file mode 100644 index 0000000000000000000000000000000000000000..c97e606ad1deca7520981e4f35f90124979d5aa2 --- /dev/null +++ b/web/core/modules/system/tests/src/Kernel/Theme/TwigIncludeTest.php @@ -0,0 +1,157 @@ +<?php + +namespace Drupal\Tests\system\Kernel\Theme; + +use Drupal\Core\DependencyInjection\ContainerBuilder; +use Drupal\KernelTests\KernelTestBase; +use Twig\Error\LoaderError; + +/** + * Tests including files in Twig templates. + * + * @group Theme + */ +class TwigIncludeTest extends KernelTestBase { + + /** + * {@inheritdoc} + */ + protected static $modules = ['system']; + + /** + * The Twig configuration to set the container parameter to during rebuilds. + * + * @var array + */ + private $twigConfig = []; + + /** + * Tests template inclusion extension checking. + * + * @see \Drupal\Core\Template\Loader\FilesystemLoader::findTemplate() + */ + public function testTemplateInclusion(): void { + $this->enableModules(['system']); + /** @var \Drupal\Core\Render\RendererInterface $renderer */ + $renderer = \Drupal::service('renderer'); + + $element['test'] = [ + '#type' => 'inline_template', + '#template' => "{% include '@system/container.html.twig' %}", + ]; + $this->assertEquals("<div></div>\n", $renderer->renderRoot($element)); + + // Test that SQL files cannot be included in Twig templates by default. + $element = []; + $element['test'] = [ + '#type' => 'inline_template', + '#template' => "{% include '@__main__\/core/tests/fixtures/files/sql-2.sql' %}", + ]; + try { + $renderer->renderRoot($element); + $this->fail('Expected exception not thrown'); + } + catch (LoaderError $e) { + $this->assertStringContainsString('Template "@__main__/core/tests/fixtures/files/sql-2.sql" is not defined', $e->getMessage()); + } + /** @var \Drupal\Core\Template\Loader\FilesystemLoader $loader */ + $loader = \Drupal::service('twig.loader.filesystem'); + try { + $loader->getSourceContext('@__main__\/core/tests/fixtures/files/sql-2.sql'); + $this->fail('Expected exception not thrown'); + } + catch (LoaderError $e) { + $this->assertStringContainsString('Template @__main__\/core/tests/fixtures/files/sql-2.sql has an invalid file extension (sql). Only templates ending in one of css, html, js, svg, twig are allowed. Set the twig.config.allowed_file_extensions container parameter to customize the allowed file extensions', $e->getMessage()); + } + + // Allow SQL files to be included. + $twig_config = $this->container->getParameter('twig.config'); + $twig_config['allowed_file_extensions'][] = 'sql'; + $this->twigConfig = $twig_config; + $this->container->get('kernel')->shutdown(); + $this->container->get('kernel')->boot(); + /** @var \Drupal\Core\Template\Loader\FilesystemLoader $loader */ + $loader = \Drupal::service('twig.loader.filesystem'); + $source = $loader->getSourceContext('@__main__\/core/tests/fixtures/files/sql-2.sql'); + $this->assertSame(file_get_contents('core/tests/fixtures/files/sql-2.sql'), $source->getCode()); + + // Test the fallback to the default list of extensions provided by the + // class. + $this->assertSame(['css', 'html', 'js', 'svg', 'twig', 'sql'], \Drupal::getContainer()->getParameter('twig.config')['allowed_file_extensions']); + unset($twig_config['allowed_file_extensions']); + $this->twigConfig = $twig_config; + $this->container->get('kernel')->shutdown(); + $this->container->get('kernel')->boot(); + $this->assertArrayNotHasKey('allowed_file_extensions', \Drupal::getContainer()->getParameter('twig.config')); + /** @var \Drupal\Core\Template\Loader\FilesystemLoader $loader */ + $loader = \Drupal::service('twig.loader.filesystem'); + try { + $loader->getSourceContext('@__main__\/core/tests/fixtures/files/sql-2.sql'); + $this->fail('Expected exception not thrown'); + } + catch (LoaderError $e) { + $this->assertStringContainsString('Template @__main__\/core/tests/fixtures/files/sql-2.sql has an invalid file extension (sql). Only templates ending in one of css, html, js, svg, twig are allowed. Set the twig.config.allowed_file_extensions container parameter to customize the allowed file extensions', $e->getMessage()); + } + + // Test a file with no extension. + file_put_contents($this->siteDirectory . '/test_file', 'This is a test!'); + /** @var \Drupal\Core\Template\Loader\FilesystemLoader $loader */ + $loader = \Drupal::service('twig.loader.filesystem'); + try { + $loader->getSourceContext('@__main__\/' . $this->siteDirectory . '/test_file'); + $this->fail('Expected exception not thrown'); + } + catch (LoaderError $e) { + $this->assertStringContainsString('test_file has an invalid file extension (no file extension). Only templates ending in one of css, html, js, svg, twig are allowed. Set the twig.config.allowed_file_extensions container parameter to customize the allowed file extensions', $e->getMessage()); + } + + // Allow files with no extension. + $twig_config['allowed_file_extensions'] = ['twig', '']; + $this->twigConfig = $twig_config; + $this->container->get('kernel')->shutdown(); + $this->container->get('kernel')->boot(); + /** @var \Drupal\Core\Template\Loader\FilesystemLoader $loader */ + $loader = \Drupal::service('twig.loader.filesystem'); + $source = $loader->getSourceContext('@__main__\/' . $this->siteDirectory . '/test_file'); + $this->assertSame('This is a test!', $source->getCode()); + + // Ensure the error message makes sense when no file extension is allowed. + try { + $loader->getSourceContext('@__main__\/core/tests/fixtures/files/sql-2.sql'); + $this->fail('Expected exception not thrown'); + } + catch (LoaderError $e) { + $this->assertStringContainsString('Template @__main__\/core/tests/fixtures/files/sql-2.sql has an invalid file extension (sql). Only templates ending in one of twig, or no file extension are allowed. Set the twig.config.allowed_file_extensions container parameter to customize the allowed file extensions', $e->getMessage()); + } + } + + /** + * {@inheritdoc} + */ + public function register(ContainerBuilder $container) { + parent::register($container); + if (!empty($this->twigConfig)) { + $container->setParameter('twig.config', $this->twigConfig); + } + } + + /** + * {@inheritdoc} + */ + protected function setUpFilesystem(): void { + // Use a real file system and not VFS so that we can include files from the + // site using @__main__ in a template. + $public_file_directory = $this->siteDirectory . '/files'; + $private_file_directory = $this->siteDirectory . '/private'; + + mkdir($this->siteDirectory, 0775); + mkdir($this->siteDirectory . '/files', 0775); + mkdir($this->siteDirectory . '/private', 0775); + mkdir($this->siteDirectory . '/files/config/sync', 0775, TRUE); + + $this->setSetting('file_public_path', $public_file_directory); + $this->setSetting('file_private_path', $private_file_directory); + $this->setSetting('config_sync_directory', $this->siteDirectory . '/files/config/sync'); + } + +} diff --git a/web/sites/default/default.services.yml b/web/sites/default/default.services.yml index ff6797d954cc246ba1b960fc315a5b4485f4e0a1..cdeb41fc49805c112cd9fd98828a5ff465459cdd 100644 --- a/web/sites/default/default.services.yml +++ b/web/sites/default/default.services.yml @@ -93,6 +93,21 @@ parameters: # Disabling the Twig cache is not recommended in production environments. # @default true cache: true + # File extensions: + # + # List of file extensions the Twig system is allowed to load via the + # twig.loader.filesystem service. Files with other extensions will not be + # loaded unless they are added here. For example, to allow a file named + # 'example.partial' to be loaded, add 'partial' to this list. To load files + # with no extension, add an empty string '' to the list. + # + # @default ['css', 'html', 'js', 'svg', 'twig'] + allowed_file_extensions: + - css + - html + - js + - svg + - twig renderer.config: # Renderer required cache contexts: #