Version in base suite: 5.4.23+dfsg-1+deb12u5 Base version: symfony_5.4.23+dfsg-1+deb12u5 Target version: symfony_5.4.52+dfsg-0+deb12u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/s/symfony/symfony_5.4.23+dfsg-1+deb12u5.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/s/symfony/symfony_5.4.52+dfsg-0+deb12u1.dsc /srv/release.debian.org/tmp/f9lr6VbikC/symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Tests/Fixtures/pixel.png |binary /srv/release.debian.org/tmp/f9lr6VbikC/symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Tests/Fixtures/web/logo_symfony_header.png |binary /srv/release.debian.org/tmp/f9lr6VbikC/symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/Fixtures/web/logo_symfony_header.png |binary symfony-5.4.52+dfsg/.appveyor.yml | 69 symfony-5.4.52+dfsg/.git-blame-ignore-revs | 2 symfony-5.4.52+dfsg/.gitattributes | 4 symfony-5.4.52+dfsg/.github/CODEOWNERS | 8 symfony-5.4.52+dfsg/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/.github/composer-config.json | 1 symfony-5.4.52+dfsg/.github/deprecations-baseline.json | 157 symfony-5.4.52+dfsg/.github/get-modified-packages.php | 6 symfony-5.4.52+dfsg/.github/sync-packages.php | 57 symfony-5.4.52+dfsg/.github/sync-translations.php | 131 symfony-5.4.52+dfsg/.github/workflows/integration-tests.yml | 95 symfony-5.4.52+dfsg/.github/workflows/intl-data-tests.yml | 3 symfony-5.4.52+dfsg/.github/workflows/package-tests.yml | 42 symfony-5.4.52+dfsg/.github/workflows/phpunit-bridge.yml | 3 symfony-5.4.52+dfsg/.github/workflows/psalm.yml | 6 symfony-5.4.52+dfsg/.github/workflows/unit-tests.yml | 20 symfony-5.4.52+dfsg/.github/workflows/windows.yml | 130 symfony-5.4.52+dfsg/.php-cs-fixer.dist.php | 24 symfony-5.4.52+dfsg/CHANGELOG-5.4.md | 573 + symfony-5.4.52+dfsg/CONTRIBUTORS.md | 2881 +++++----- symfony-5.4.52+dfsg/README.md | 15 symfony-5.4.52+dfsg/composer.json | 22 symfony-5.4.52+dfsg/debian/autoload.php.tests.tpl | 5 symfony-5.4.52+dfsg/debian/changelog | 38 symfony-5.4.52+dfsg/debian/control | 1 symfony-5.4.52+dfsg/debian/copyright | 2 symfony-5.4.52+dfsg/debian/gbp.conf | 1 symfony-5.4.52+dfsg/debian/licensing/image-checksums.dcf | 19 symfony-5.4.52+dfsg/debian/patches/Adapt-conflict-to-Debian-expectations.patch | 126 symfony-5.4.52+dfsg/debian/patches/Add-more-tests-to-group-tty.patch | 8 symfony-5.4.52+dfsg/debian/patches/Allow-doctrine-event-manager-2.patch | 20 symfony-5.4.52+dfsg/debian/patches/Assume-php-async-aws-sqs-2.patch | 25 symfony-5.4.52+dfsg/debian/patches/Config-Partially-revert-4c2c5c9ba76ba8db9e88748ae519605c0.patch | 2 symfony-5.4.52+dfsg/debian/patches/DEP-8/Tests-against-installed-classes.patch | 6 symfony-5.4.52+dfsg/debian/patches/Declare-composer-group-for-tests-failing-outside-a-Compos.patch | 6 symfony-5.4.52+dfsg/debian/patches/Do-not-read-from-argv-on-non-CLI-SAPIs.patch | 102 symfony-5.4.52+dfsg/debian/patches/Don-t-fail-on-warning.patch | 2 symfony-5.4.52+dfsg/debian/patches/Drop-HttpFoundation-tests-currently-failing.patch | 4 symfony-5.4.52+dfsg/debian/patches/Drop-composer-plugin-api-that-confuses-pkg-php-tools.patch | 2 symfony-5.4.52+dfsg/debian/patches/Drop-data-tests-failing-with-PHP-8.2.patch | 15 symfony-5.4.52+dfsg/debian/patches/Drop-failing-tests-with-recent-PHP.patch | 4 symfony-5.4.52+dfsg/debian/patches/ErrorHandler-Extend-test-expectation.patch | 4 symfony-5.4.52+dfsg/debian/patches/Filesystem-Drop-currently-failing-tests.patch | 35 symfony-5.4.52+dfsg/debian/patches/Form-Drop-tests-currently-failing.patch | 12 symfony-5.4.52+dfsg/debian/patches/HttpClient-Drop-currently-failing-tests.patch | 124 symfony-5.4.52+dfsg/debian/patches/HttpClient-Filter-private-IPs-before-connecting-when-Host.patch | 85 symfony-5.4.52+dfsg/debian/patches/HttpClient-Resolve-hostnames-in-NoPrivateNetworkHttpClien.patch | 285 symfony-5.4.52+dfsg/debian/patches/HttpClient-Skip-tests-relying-on-amphp-http-client.patch | 4 symfony-5.4.52+dfsg/debian/patches/HttpFoundation-Fix-parsing-pathinfo-with-no-leading-slash.patch | 49 symfony-5.4.52+dfsg/debian/patches/HttpFoundation-Reject-URIs-that-contain-invalid-character.patch | 104 symfony-5.4.52+dfsg/debian/patches/HttpKernel-Drop-tests-using-unexpected-path-as-cache.patch | 6 symfony-5.4.52+dfsg/debian/patches/Increasing-timeout-in-test-AbstractProcessTest-testS.patch | 4 symfony-5.4.52+dfsg/debian/patches/Lock-Drop-test-currently-failing-on-buildd.patch | 14 symfony-5.4.52+dfsg/debian/patches/PasswordHasher-Make-bcrypt-nul-byte-hash-test-tolerant-to.patch | 119 symfony-5.4.52+dfsg/debian/patches/PasswordHasher-Tests-Do-not-invoke-methods-with-additiona.patch | 192 symfony-5.4.52+dfsg/debian/patches/PhpUnit-Drop-currently-broken-assertions.patch | 2 symfony-5.4.52+dfsg/debian/patches/PhpUnit-Skip-test-currently-failing.patch | 2 symfony-5.4.52+dfsg/debian/patches/Revert-ErrorHandler-Skip-same-vendor-method-deprecations-.patch | 2 symfony-5.4.52+dfsg/debian/patches/Runtime-fix-tests.patch | 22 symfony-5.4.52+dfsg/debian/patches/Security-Fix-possible-session-fixation-when-only-the-toke.patch | 65 symfony-5.4.52+dfsg/debian/patches/TwigBridge-Ensure-CodeExtension-s-filters-properly-escape.patch | 64 symfony-5.4.52+dfsg/debian/patches/Use-installed-files-for-CI.patch | 4 symfony-5.4.52+dfsg/debian/patches/Validator-Add-D-regex-modifier-in-relevant-validators.patch | 414 - symfony-5.4.52+dfsg/debian/patches/Workaround-ICU-new-format.patch | 231 symfony-5.4.52+dfsg/debian/patches/fix-tests.patch | 51 symfony-5.4.52+dfsg/debian/patches/make-sure-that-the-submitted-year-is-an-accepted-choice.patch | 35 symfony-5.4.52+dfsg/debian/patches/security-http-Check-owner-of-persisted-remember-me-cookie.patch | 110 symfony-5.4.52+dfsg/debian/patches/series | 17 symfony-5.4.52+dfsg/debian/patches/skip-test-assertions-that-are-no-longer-valid-with-PHP-8..patch | 45 symfony-5.4.52+dfsg/debian/php-symfony-ldap.autoload.php.tpl | 1 symfony-5.4.52+dfsg/debian/php-symfony-password-hasher.autoload.php.tpl | 1 symfony-5.4.52+dfsg/debian/php-symfony-security-bundle.autoload.php.tpl | 1 symfony-5.4.52+dfsg/debian/php-symfony-security-csrf.autoload.php.tpl | 1 symfony-5.4.52+dfsg/debian/php-symfony-security-guard.autoload.php.tpl | 1 symfony-5.4.52+dfsg/debian/php-symfony-security-http.autoload.php.tpl | 1 symfony-5.4.52+dfsg/debian/php-symfony-twig-bundle.autoload.php.tpl | 1 symfony-5.4.52+dfsg/debian/php-symfony-workflow.autoload.php.tpl | 1 symfony-5.4.52+dfsg/debian/rules | 8 symfony-5.4.52+dfsg/debian/tests/control | 1 symfony-5.4.52+dfsg/debian/tests/phpunit | 5 symfony-5.4.52+dfsg/debian/watch | 2 symfony-5.4.52+dfsg/phpunit.xml.dist | 6 symfony-5.4.52+dfsg/psalm.xml | 21 symfony-5.4.52+dfsg/splitsh.json | 140 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/ContainerAwareEventManager.php | 25 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/DataFixtures/AddFixtureImplementation.php | 35 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/DataFixtures/ContainerAwareLoader.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/DoctrineChoiceLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/IdReader.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php | 28 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/IdGenerator/UlidGenerator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/IdGenerator/UuidGenerator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/ManagerRegistry.php | 10 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Messenger/AbstractDoctrineMiddleware.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Messenger/DoctrineOpenTransactionLoggerMiddleware.php | 14 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Messenger/DoctrinePingConnectionMiddleware.php | 16 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Connection.php | 135 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/DBAL3/Connection.php | 174 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/DBAL3/Statement.php | 86 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Driver.php | 16 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Query.php | 16 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Statement.php | 49 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php | 78 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Security/RememberMe/DoctrineTokenProvider.php | 10 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Test/DoctrineTestHelper.php | 35 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Test/TestRepositoryFactory.php | 35 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php | 15 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorWithDebugStackTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/DoctrineExtensionTest.php | 14 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/AssociationEntity.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/AssociationEntity2.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AnnotationsBundle/Entity/Person.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AnnotationsOneLineBundle/Entity/Person.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AttributesBundle/AnnotatedEntity/Person.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/FullEmbeddableAnnotationsBundle/Entity/Address.php | 5 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/FullEmbeddableAttributesBundle/Entity/Address.php | 1 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/NewAnnotationsBundle/src/Entity/Person.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeIntIdEntity.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeObjectNoToStringIdEntity.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeStringIdEntity.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/ContainerAwareFixture.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEmbed.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEntity.php | 12 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEnum.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderNestedEmbed.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderNoAutoMappingEntity.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderParentEntity.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoubleNameEntity.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoubleNullableNameEntity.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DummyManager.php | 69 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Embeddable/Identifier.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/EmbeddedIdentifierEntity.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Employee.php | 1 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/GroupableEntity.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/GuidIdEntity.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/LegacyQueryMock.php | 36 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/MockableRepository.php | 21 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Person.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleAssociationToIntIdEntity.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdEntity.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdNoToStringEntity.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdStringWrapperNameEntity.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleStringCastableIdEntity.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleStringIdEntity.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Type/StringWrapper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Type/StringWrapperType.php | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/UlidIdEntity.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/User.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/UuidIdEntity.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/ORMQueryBuilderLoaderTest.php | 87 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/DoctrineOrmTypeGuesserTest.php | 42 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypePerformanceTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php | 19 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php | 25 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineCloseConnectionMiddlewareTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineOpenTransactionLoggerMiddlewareTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrinePingConnectionMiddlewareTest.php | 42 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineTransactionMiddlewareTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Middleware/Debug/MiddlewareTest.php | 47 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php | 58 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineDummy.php | 25 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineEmbeddable.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineEnum.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineFooType.php | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineGeneratedValue.php | 5 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineRelation.php | 13 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineWithEmbedded.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/SchemaListener/MessengerTransportDoctrineSchemaSubscriberTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderPostgresTest.php | 55 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderTest.php | 16 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/User/EntityUserProviderTest.php | 36 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Types/UlidTypeTest.php | 36 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Types/UuidTypeTest.php | 15 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php | 24 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/DoctrineLoaderTest.php | 48 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Types/AbstractUidType.php | 40 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntity.php | 16 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Validator/DoctrineLoader.php | 39 symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/composer.json | 15 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php | 15 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Formatter/ConsoleFormatter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Formatter/VarDumperFormatter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Handler/ChromePhpHandler.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Handler/ConsoleHandler.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Handler/ElasticsearchLogstashHandler.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Handler/ServerLogHandler.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Logger.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Processor/DebugProcessor.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Processor/WebProcessor.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/ClassThatInheritLogger.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Formatter/ConsoleFormatterTest.php | 19 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ChromePhpHandlerTest.php | 36 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ConsoleHandlerTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ServerLogHandlerTest.php | 11 symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Processor/ClassThatInheritDebugProcessor.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/CoverageListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php | 63 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Configuration.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php | 25 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/Legacy/SymfonyTestsListenerTrait.php | 9 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/ConfigurationTest.php | 56 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/DeprecationTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/log_file.phpt | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/bin/simple-phpunit.php | 29 symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/composer.json | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/ProxyManager/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/ProxyManager/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/ProxyManager/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/PhpDumper/Fixtures/proxy-implem.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Command/DebugCommand.php | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Command/LintCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/DataCollector/TwigDataCollector.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/ErrorRenderer/TwigErrorRenderer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/AssetExtension.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/CodeExtension.php | 50 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/DumpExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/FormExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php | 14 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Form/TwigRendererEngine.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Mime/NotificationEmail.php | 24 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Mime/WrappedTemplatedEmail.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/DumpNode.php | 39 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/FormThemeNode.php | 11 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php | 10 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/StopwatchNode.php | 19 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php | 11 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/TransNode.php | 17 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/Scope.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php | 36 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php | 34 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_5_layout.html.twig | 10 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/AppVariableTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Command/DebugCommandTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Command/LintCommandTest.php | 10 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php | 144 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Extension/HttpKernelExtensionTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Extension/RuntimeLoaderProvider.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Extension/TranslationExtensionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Mime/NotificationEmailTest.php | 50 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Node/DumpNodeTest.php | 31 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php | 29 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php | 339 - symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Node/TransNodeTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TranslationNodeVisitorTest.php | 36 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php | 24 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/TokenParser/FormThemeTokenParserTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Translation/TwigExtractorTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/TokenParser/DumpTokenParser.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/TokenParser/StopwatchTokenParser.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/composer.json | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/DebugBundle/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Bundle/DebugBundle/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Bundle/DebugBundle/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Bundle/DebugBundle/Command/ServerDumpPlaceholderCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/DebugBundle/DependencyInjection/DebugExtension.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/CacheWarmer/AnnotationsCacheWarmer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/CacheWarmer/ConfigBuilderCacheWarmer.php | 34 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/AbstractConfigCommand.php | 41 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/BuildDebugContainerTrait.php | 9 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php | 57 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolClearCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolDeleteCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/CacheWarmupCommand.php | 8 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php | 32 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDumpReferenceCommand.php | 25 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/DebugAutowiringCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/RouterDebugCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/SecretsDecryptToLocalCommand.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/SecretsEncryptFromLocalCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/SecretsGenerateKeysCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/SecretsListCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/SecretsRemoveCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/SecretsSetCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Console/Application.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/Descriptor.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php | 12 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php | 16 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Console/Helper/DescriptorHelper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Controller/AbstractController.php | 14 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Controller/RedirectController.php | 17 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Controller/TemplateController.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/DataCollector/RouterDataCollector.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ErrorLoggerCompilerPass.php | 37 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php | 13 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php | 85 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php | 15 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/HttpCache/HttpCache.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/KernelBrowser.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Resources/config/console.php | 3 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug_prod.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd | 8 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Resources/config/serializer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Resources/config/services.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Resources/config/session.php | 1 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Routing/DelegatingLoader.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Routing/RedirectableCompiledUrlMatcher.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php | 16 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Test/KernelTestCase.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Test/MailerAssertionsTrait.php | 12 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Test/TestBrowserToken.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/AnnotationsCacheWarmerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/ConfigBuilderCacheWarmerTest.php | 411 + symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/SerializerCacheWarmerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Command/CachePoolClearCommandTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Command/CachePoolDeleteCommandTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Command/EventDispatcherDebugCommandTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Command/SecretsRemoveCommandTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Command/SecretsSetCommandTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationDebugCommandTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationUpdateCommandCompletionTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationUpdateCommandTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/AbstractControllerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/ControllerResolverTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/RedirectControllerTest.php | 20 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/TemplateControllerTest.php | 14 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DataCollector/RouterDataCollectorTest.php | 66 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/DataCollectorTranslatorPassTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/ProfilerPassTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/lock.php | 5 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/mailer_with_dsn.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/mailer_with_dsn.xml | 3 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/mailer_with_transports.xml | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/workflows.xml | 1 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/mailer_with_dsn.yml | 1 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTestCase.php | 59 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/PhpFrameworkExtensionTest.php | 87 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/XmlFrameworkExtensionTest.php | 1 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Serializer/CircularReferenceHandler.php | 19 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Serializer/MaxDepthHandler.php | 19 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/TestBundle/FooBundle/Controller/DefaultController.php | 21 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/TestBundle/FooBundle/Controller/Sub/DefaultController.php | 21 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/TestBundle/FooBundle/Controller/Test/DefaultController.php | 21 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/TestBundle/FooBundle/FooBundle.php | 23 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/TestBundle/Sensio/Cms/FooBundle/Controller/DefaultController.php | 21 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/TestBundle/Sensio/Cms/FooBundle/SensioCmsFooBundle.php | 23 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/TestBundle/Sensio/FooBundle/Controller/DefaultController.php | 21 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/TestBundle/Sensio/FooBundle/SensioFooBundle.php | 23 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/AbstractWebTestCase.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/AutowiringTypes/AutowiredServices.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/AnnotatedController.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/TestServiceContainer/ResettableService.php | 27 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ConfigDebugCommandTest.php | 148 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ConfigDumpReferenceCommandTest.php | 97 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ContainerDebugCommandTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/KernelTestCaseTest.php | 11 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/RouterDebugCommandTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/SerializerTest.php | 70 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/AppKernel.php | 5 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/Serializer/config.yml | 47 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/Serializer/default_context.yaml | 59 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/TestServiceContainer/services.yml | 5 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Test/WebTestCaseTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/FrameworkBundle/composer.json | 14 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Command/DebugFirewallCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/DataCollector/SecurityDataCollector.php | 5 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Debug/TraceableFirewallListener.php | 9 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/LoginThrottlingFactory.php | 1 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php | 10 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/LoginLink/FirewallAwareLoginLinkHandler.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Resources/config/schema/security-1.0.xsd | 6 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Resources/config/security_debug.php | 1 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Security/FirewallAwareTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Security/FirewallConfig.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Security/FirewallContext.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DataCollector/SecurityDataCollectorTest.php | 38 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Compiler/RegisterEntryPointsPassTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTestCase.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/Authenticator/CustomAuthenticator.php | 29 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/UserProvider/CustomProvider.php | 28 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/container1.xml | 3 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/custom_authenticator_under_own_namespace.xml | 17 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/custom_authenticator_under_security_namespace.xml | 17 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/custom_provider_under_own_namespace.xml | 19 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/custom_provider_under_security_namespace.xml | 19 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/firewall_provider.xml | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/firewall_undefined_provider.xml | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/legacy_container1.xml | 3 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/legacy_encoders.xml | 3 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/listener_provider.xml | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/listener_undefined_provider.xml | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/no_custom_user_checker.xml | 1 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Security/Factory/AbstractFactoryTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php | 39 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/XmlCustomAuthenticatorTest.php | 51 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/XmlCustomProviderTest.php | 50 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/Functional/AbstractWebTestCase.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/Functional/AuthenticatorTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/Functional/Bundle/AnonymousBundle/AppCustomAuthenticator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/Functional/Bundle/FirewallEntryPointBundle/Security/EntryPointStub.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/Functional/Bundle/FormLoginBundle/Controller/LoginController.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/Functional/Bundle/GuardedBundle/AppCustomAuthenticator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/Functional/Bundle/GuardedBundle/AuthenticationController.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/Functional/CsrfFormLoginTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/Functional/FormLoginTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/Functional/RememberMeTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/Functional/SecurityRoutingIntegrationTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/Tests/Functional/SecurityTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/SecurityBundle/composer.json | 5 symfony-5.4.52+dfsg/src/Symfony/Bundle/TwigBundle/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Bundle/TwigBundle/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Bundle/TwigBundle/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Bundle/TwigBundle/DependencyInjection/Configuration.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/TwigBundle/DependencyInjection/TwigExtension.php | 5 symfony-5.4.52+dfsg/src/Symfony/Bundle/TwigBundle/TemplateIterator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/ConfigurationTest.php | 12 symfony-5.4.52+dfsg/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/TwigBundle/composer.json | 1 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Controller/ExceptionPanelController.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Controller/RouterController.php | 10 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/EventListener/WebDebugToolbarListener.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/form.html.twig | 6 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/mailer.html.twig | 34 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/notifier.html.twig | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/translation.html.twig | 10 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/base_js.html.twig | 6 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/profiler.css.twig | 36 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar.html.twig | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/ProfilerControllerTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/RouterControllerTest.php | 48 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Csp/ContentSecurityPolicyHandlerTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/DependencyInjection/WebProfilerExtensionTest.php | 64 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/EventListener/WebDebugToolbarListenerTest.php | 16 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Resources/IconTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Twig/WebProfilerExtensionTest.php | 17 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php | 32 symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/composer.json | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Asset/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Asset/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Asset/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Asset/Exception/AssetNotFoundException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Asset/Package.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Asset/Packages.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Asset/PathPackage.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Asset/Tests/UrlPackageTest.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Asset/UrlPackage.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Asset/VersionStrategy/JsonManifestVersionStrategy.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Asset/VersionStrategy/StaticVersionStrategy.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/AbstractBrowser.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Cookie.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/CookieJar.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/HttpBrowser.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Request.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Test/Constraint/BrowserCookieValueSame.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Test/Constraint/BrowserHasCookie.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Tests/AbstractBrowserTest.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Tests/TestHttpClient.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/ArrayAdapter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/ChainAdapter.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/CouchbaseBucketAdapter.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/CouchbaseCollectionAdapter.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/DoctrineDbalAdapter.php | 77 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/FilesystemAdapter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/FilesystemTagAwareAdapter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/MemcachedAdapter.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/NullAdapter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/PdoAdapter.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/ProxyAdapter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/RedisAdapter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/RedisTagAwareAdapter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/TagAwareAdapter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/TraceableAdapter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/DataCollector/CacheDataCollector.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/DependencyInjection/CachePoolPass.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/LockRegistry.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Marshaller/DefaultMarshaller.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Marshaller/SodiumMarshaller.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Marshaller/TagAwareMarshaller.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Messenger/EarlyExpirationDispatcher.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/AbstractRedisAdapterTestCase.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php | 30 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ArrayAdapterTest.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ChainAdapterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseBucketAdapterTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseCollectionAdapterTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/DoctrineDbalAdapterTest.php | 80 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/NamespacedProxyAdapterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PdoAdapterTest.php | 43 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PdoDbalAdapterTest.php | 26 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareAdapterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareClusterAdapterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterAndRedisAdapterTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterSentinelTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisArrayAdapterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisClusterAdapterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareAdapterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareArrayAdapterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareClusterAdapterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/DependencyInjection/CachePoolPassTest.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Fixtures/DriverWrapper.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/LockRegistryTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Traits/RedisTraitTest.php | 211 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Traits/AbstractAdapterTrait.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Traits/ContractsTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Traits/FilesystemCommonTrait.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Traits/RedisTrait.php | 133 symfony-5.4.52+dfsg/src/Symfony/Component/Cache/composer.json | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Config/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Config/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Config/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Builder/ClassBuilder.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/ConfigCacheInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/BaseNode.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/BooleanNodeDefinition.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/ExprBuilder.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/NodeDefinition.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/NormalizationBuilder.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/TreeBuilder.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/ValidationBuilder.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Dumper/XmlReferenceDumper.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Dumper/YamlReferenceDumper.php | 26 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/EnumNode.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/NumericNode.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Processor.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Exception/FileLoaderImportCircularReferenceException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Exception/FileLocatorFileNotFoundException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Exception/LoaderLoadException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/FileLocator.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Config/FileLocatorInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/DelegatingLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/FileLoader.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/GlobFileLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/Loader.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/LoaderInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/LoaderResolver.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/LoaderResolverInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Resource/ClassExistenceResource.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Resource/DirectoryResource.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Resource/FileExistenceResource.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/ResourceCheckerConfigCache.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/ConfigCacheTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Definition/BaseNodeTest.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Definition/Dumper/XmlReferenceDumperTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Definition/Dumper/YamlReferenceDumperTest.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/FileLocatorTest.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Fixtures/Configuration/ExampleConfiguration.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Loader/LoaderTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Resource/FileExistenceResourceTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Resource/ReflectionClassResourceTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Util/XmlUtilsTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Console/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Console/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Console/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Application.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Console/CI/GithubActionReporter.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/Command.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/CompleteCommand.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/DumpCompletionCommand.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/LazyCommand.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/LockableTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Completion/CompletionInput.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Descriptor/ApplicationDescription.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Descriptor/XmlDescriptor.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Event/ConsoleCommandEvent.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Event/ConsoleErrorEvent.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/EventListener/ErrorListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Exception/CommandNotFoundException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/NullOutputFormatterStyle.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatter.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyleInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyleStack.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/Dumper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/Helper.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/HelperInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/HelperSet.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/ProcessHelper.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/ProgressBar.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/ProgressIndicator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/QuestionHelper.php | 27 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/Table.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/TableStyle.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/ArgvInput.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/ArrayInput.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/Input.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/InputArgument.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/InputOption.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/ConsoleOutput.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/ConsoleSectionOutput.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/Output.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/StreamOutput.php | 34 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/TrimmedBufferOutput.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Question/Question.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Resources/completion.bash | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/SingleCommandApplication.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Style/StyleInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Style/SymfonyStyle.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Terminal.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/ApplicationTest.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/CI/GithubActionReporterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Completion/CompletionInputTest.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Fixtures/MockableAppliationWithTerminalWidth.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Helper/HelperSetTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Helper/TableTest.php | 404 - symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Input/InputOptionTest.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Question/QuestionTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/TerminalTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Node/ElementNode.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Node/SelectorNode.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Parser/Parser.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Tests/XPath/Fixtures/ids.html | 6 symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/XPath/Translator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Argument/BoundArgument.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Argument/ServiceLocator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Argument/TaggedIteratorArgument.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Attribute/AutoconfigureTag.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php | 27 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php | 51 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/CheckTypeDeclarationsPass.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/DecoratorServicePass.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/DefinitionErrorExceptionPass.php | 87 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ResolveInstanceofConditionalsPass.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ServiceLocatorTagPass.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraph.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Container.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ContainerAwareInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ContainerAwareTrait.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ContainerBuilder.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Definition.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/EnvVarProcessorInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/AutowiringFailedException.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/ParameterCircularReferenceException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/ParameterNotFoundException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/ServiceCircularReferenceException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/ServiceNotFoundException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ExpressionLanguage.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ExpressionLanguageProvider.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/LazyProxy/ProxyHelper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/ClosureLoader.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractServiceConfigurator.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/DefaultsConfigurator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/InstanceofConfigurator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ServiceConfigurator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ServicesConfigurator.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/Traits/DecorateTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/DirectoryLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/GlobFileLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/PhpFileLoader.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php | 54 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ServiceLocator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckTypeDeclarationsPassTest.php | 70 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/DecoratorServicePassTest.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/DefinitionErrorExceptionPassTest.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/PriorityTaggedServiceTraitTest.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/RegisterAutoconfigureAttributesPassTest.php | 102 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveBindingsPassTest.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInstanceofConditionalsPassTest.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ValidateEnvPlaceholdersPassTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceCheckerTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/ContainerTest.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/EnvVarProcessorTest.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeated.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedBindings.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedCalls.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedOverwrite.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedProperties.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedTag.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Bar.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/BarErroredDependency.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/BarMethodCall.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/BarOptionalArgument.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/Foo.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/UnionConstructorPHP82.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/FooClassWithDefaultArrayAttribute.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/FooClassWithDefaultEnumAttribute.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/FooClassWithDefaultObjectAttribute.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/OptionalParameter.php | 23 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Prototype/Foo.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCaller.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCallerHttp.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCallerSocket.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/anonymous.expected.yml | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/child.expected.yml | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes.php | 24 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services14.xml | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_array.xml | 15 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_enumeration.xml | 15 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_object.xml | 15 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/when-env-services.xml | 23 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_array.yml | 23 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_enumeration.yml | 23 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_object.yml | 23 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/GlobFileLoaderTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/TypedReference.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/AbstractUriElement.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Crawler.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Form.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Image.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTestCase.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Tests/UriResolverTest.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/UriResolver.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Command/DebugCommand.php | 105 symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Command/DotenvDumpCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Dotenv.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Exception/FormatException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Exception/PathException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Tests/Command/DebugCommandTest.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Tests/DotenvTest.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Tests/fixtures/file_with_bom | 1 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Debug.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/DebugClassLoader.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Error/FatalError.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/ErrorEnhancer/ClassNotFoundErrorEnhancer.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/ErrorHandler.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php | 34 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/ErrorRenderer/SerializerErrorRenderer.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Exception/FlattenException.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Resources/assets/css/exception.css | 2 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Resources/assets/js/exception.js | 500 - symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Tests/ErrorRenderer/HtmlErrorRendererTest.php | 41 symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Tests/Fixtures/ClassWithAnnotatedParameters.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/DependencyInjection/RegisterListenersPass.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/EventDispatcher.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/EventDispatcherInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/GenericEvent.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php | 28 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/ExpressionFunction.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Node/ArrayNode.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/SyntaxError.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/ExpressionLanguageTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/LexerTest.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/Node/BinaryNodeTest.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/Node/NodeTest.php | 30 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/ParserTest.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Token.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/TokenStream.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Exception/FileNotFoundException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Exception/IOException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Filesystem.php | 33 symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Path.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Tests/FilesystemTest.php | 125 symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Tests/Fixtures/MockStream/MockStream.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Tests/Fixtures/web/index.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Tests/PathTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/composer.json | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Finder/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Finder/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Finder/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Finder/Comparator/Comparator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Finder/Finder.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Finder/Tests/Iterator/LazyIteratorTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php | 60 symfony-5.4.52+dfsg/src/Symfony/Component/Form/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Form/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Form/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Button.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ButtonBuilder.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/Cache/ChoiceLoader.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/ChoiceListFactoryInterface.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/DefaultChoiceListFactory.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/PropertyAccessDecorator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/LazyChoiceList.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/AbstractChoiceLoader.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/ChoiceLoaderInterface.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/FilterChoiceLoaderDecorator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/IntlCallbackChoiceLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Command/DebugCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Console/Descriptor/TextDescriptor.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Console/Helper/DescriptorHelper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Event/PostSetDataEvent.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Event/PreSetDataEvent.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Exception/TransformationFailedException.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/CoreExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataAccessor/PropertyPathAccessor.php | 27 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataMapper/DataMapper.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataMapper/PropertyPathMapper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/MoneyToLocalizedStringTransformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/StringToFloatTransformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/EventListener/TransformationFailureListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/ColorType.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/FileType.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/FormType.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/TimezoneType.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/TransformationFailureExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Csrf/CsrfExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Csrf/EventListener/CsrfValidationListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/DataCollector/FormDataCollector.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/DataCollector/Proxy/ResolvedTypeFactoryDataCollectorProxy.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/HttpFoundation/HttpFoundationRequestHandler.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/HttpFoundation/Type/FormTypeHttpFoundationExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Validator/Type/FormTypeValidatorExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Validator/Type/UploadValidatorExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Validator/ValidatorExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationMapper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Form.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormBuilder.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormBuilderInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormConfigBuilder.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormConfigBuilderInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormError.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormInterface.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormRenderer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormTypeGuesserInterface.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormView.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/NativeRequestHandler.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Form/PreloadedExtension.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ResolvedFormType.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ResolvedFormTypeFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ResolvedFormTypeFactoryInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/ResolvedFormTypeInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.af.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ar.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.az.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.be.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.bg.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.bs.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ca.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.cs.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.cy.xlf | 139 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.da.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.de.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.el.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.en.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.es.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.et.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.eu.xlf | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fa.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fi.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fr.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.gl.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.he.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hr.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hu.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hy.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.id.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.it.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ja.xlf | 244 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lb.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lt.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lv.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.mk.xlf | 139 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.mn.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.my.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nb.xlf | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nl.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nn.xlf | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.no.xlf | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pl.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pt.xlf | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pt_BR.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ro.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ru.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sk.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sl.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sq.xlf | 41 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sr_Cyrl.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sr_Latn.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sv.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.th.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.tl.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.tr.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.uk.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ur.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.uz.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.vi.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.zh_CN.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.zh_TW.xlf | 44 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Test/FormPerformanceTestCase.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Test/Traits/RunTestTrait.php | 36 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Test/Traits/ValidatorExtensionTrait.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/AbstractRequestHandlerTestCase.php | 103 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/ChoiceList/Factory/CachingFactoryDecoratorTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/CompoundFormTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/DataMapperTest.php | 26 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/BaseDateTimeTransformerTestCase.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoiceToValueTransformerTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateIntervalToStringTransformerTest.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeImmutableToDateTimeTransformerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToArrayTransformerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformerTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php | 76 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToStringTransformerTest.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToTimestampTransformerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php | 93 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php | 66 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/StringToFloatTransformerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ValueToDuplicatesTransformerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/BaseTypeTestCase.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/CheckboxTypeTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/CollectionTypeTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/ColorTypeTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateIntervalTypeTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/ExtendedChoiceTypeTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/FileTypeTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/RepeatedTypeTest.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/TextTypeTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/WeekTypeTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Type/ItemFileType.php | 26 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Fixtures/ChoiceList/DeprecatedChoiceListFactory.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Fixtures/CustomArrayObject.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Fixtures/FixedTranslator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/FormErrorIteratorTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/ResolvedFormTypeTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Resources/TranslationFilesTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/SimpleFormTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Util/StringUtilTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Util/FormUtil.php | 28 symfony-5.4.52+dfsg/src/Symfony/Component/Form/Util/ServerParams.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Form/composer.json | 5 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/AmpHttpClient.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/AsyncDecoratorTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/CachingHttpClient.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Chunk/ErrorChunk.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/CurlHttpClient.php | 81 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/DecoratorTrait.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/EventSourceHttpClient.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/HttpClientTrait.php | 51 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/HttpOptions.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/HttplugClient.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/AmpClientState.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/AmpListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/AmpResolver.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/CurlClientState.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/HttplugWaitLoop.php | 28 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/MockHttpClient.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/NativeHttpClient.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/NoPrivateNetworkHttpClient.php | 180 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Psr18Client.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/AmpResponse.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/AsyncContext.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/AsyncResponse.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/CurlResponse.php | 48 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/HttplugPromise.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/MockResponse.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/NativeResponse.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/StreamWrapper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/TraceableResponse.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/TransportResponseTrait.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Retry/GenericRetryStrategy.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/RetryableHttpClient.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/ScopingHttpClient.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/AmpHttpClientTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/AsyncDecoratorTraitTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/CurlHttpClientTest.php | 84 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/EventSourceHttpClientTest.php | 92 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/Fixtures/response-functional/index.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/HttpClientTestCase.php | 147 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/HttplugClientTest.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/MockHttpClientTest.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/NativeHttpClientTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/NoPrivateNetworkHttpClientTest.php | 124 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/Psr18ClientTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/Retry/GenericRetryStrategyTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/RetryableHttpClientTest.php | 36 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/TraceableHttpClient.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/composer.json | 5 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/BinaryFileResponse.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Cookie.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Exception/SessionNotFoundException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/File/File.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/File/UploadedFile.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/HeaderBag.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/HeaderUtils.php | 65 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/InputBag.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/JsonResponse.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/ParameterBag.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/RedirectResponse.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Request.php | 61 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/RequestMatcher.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Response.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/ServerBag.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Session.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/SessionFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/SessionInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/SessionHandlerFactory.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorageFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorageFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorage.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorageFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/StreamedResponse.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Test/Constraint/ResponseCookieValueSame.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Test/Constraint/ResponseHasCookie.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/CookieTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/HeaderUtilsTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/InputBagTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/RateLimiter/AbstractRequestRateLimiterTest.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php | 101 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/ResponseTest.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractRedisSessionHandlerTestCase.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MigratingSessionHandlerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PredisClusterSessionHandlerTest.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/StrictSessionHandlerTest.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php | 89 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/UrlHelperTest.php | 36 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/UrlHelper.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/composer.json | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerAggregate.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Config/FileLocator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Controller/ContainerControllerResolver.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadata.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadataFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/AjaxDataCollector.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DataCollectorInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/ExceptionDataCollector.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/RouterDataCollector.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Debug/FileLinkFormatter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Event/KernelEvent.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/AbstractSessionListener.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/DumpListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/ErrorListener.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/LocaleListener.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/SurrogateListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/AccessDeniedHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/BadRequestHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/ConflictHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/GoneHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/HttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/LengthRequiredHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/MethodNotAllowedHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/NotAcceptableHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/NotFoundHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/PreconditionFailedHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/PreconditionRequiredHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/ServiceUnavailableHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/TooManyRequestsHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/UnauthorizedHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/UnprocessableEntityHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/UnsupportedMediaTypeHttpException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGenerator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGeneratorInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Esi.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategy.php | 58 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Ssi.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Store.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/SurrogateInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpClientKernel.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpKernel.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpKernelBrowser.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Kernel.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Log/DebugLoggerInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Log/Logger.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Profiler/Profiler.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Profiler/ProfilerStorageInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Controller/ContainerControllerResolverTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/ControllerMetadata/ArgumentMetadataFactoryTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/DataCollectorTest.php | 66 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/FragmentRendererPassTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RegisterControllerArgumentLocatorsPassTest.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPassTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/DumpListenerTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/ErrorListenerTest.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php | 24 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/SessionListenerTest.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/AccessDeniedHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/BadRequestHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/ConflictHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/GoneHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/HttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/LengthRequiredHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/MethodNotAllowedHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/NotAcceptableHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/NotFoundHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/PreconditionFailedHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/PreconditionRequiredHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/ServiceUnavailableHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/TooManyRequestsHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnauthorizedHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnprocessableEntityHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnsupportedMediaTypeHttpExceptionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/DataCollector/CloneVarDataCollector.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTestWithLoadClassCache.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/MockableUploadFileWithClientSize.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/UsePropertyInDestruct.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/WithPublicObjectProperty.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fragment/FragmentHandlerTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fragment/RoutableFragmentRendererTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/ResponseCacheStrategyTest.php | 66 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/SsiTest.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php | 41 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpKernelBrowserTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/KernelTest.php | 24 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/UriSignerTest.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/composer.json | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/Tests/InflectorTest.php | 33 symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/composer.json | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Countries.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Currencies.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Data/Bundle/Writer/PhpBundleWriter.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Data/Generator/LanguageDataGenerator.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Data/Generator/TimezoneDataGenerator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour1200Transformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour1201Transformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour2400Transformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour2401Transformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/HourTransformer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/IntlDateFormatter.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Intl.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Languages.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Locale/Locale.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Locales.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/ResourceBundle.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/bin/compile | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/bin/update-data.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/af.php | 684 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/af_NA.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ak.php | 660 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/am.php | 668 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar.php | 996 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_DJ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_ER.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_KM.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_LB.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_SO.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_SS.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/as.php | 644 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/az.php | 1060 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/az_Cyrl.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/be.php | 644 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bg.php | 1044 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bm.php | 236 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bn.php | 1076 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bn_IN.php | 36 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bo.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bo_IN.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/br.php | 1156 +--- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bs.php | 1148 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bs_Cyrl.php | 1088 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ca.php | 1152 ++- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ca_FR.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ce.php | 636 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cs.php | 1160 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cv.php | 628 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cy.php | 1082 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/da.php | 1056 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de.php | 1160 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_CH.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_LI.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_LU.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/dz.php | 300 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ee.php | 1120 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/el.php | 1060 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en.php | 1176 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_001.php | 44 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_150.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AE.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AG.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AI.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AT.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AU.php | 544 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BB.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BI.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BM.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BS.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BW.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BZ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CA.php | 56 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CC.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CK.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CX.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_DK.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_DM.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ER.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_FJ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_FK.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GD.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GG.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GH.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GI.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GM.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GY.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ID.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_IM.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_IN.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_JE.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_JM.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KE.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KI.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KN.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KY.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LC.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LR.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LS.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MG.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MO.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MS.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MT.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MU.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MV.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MW.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MY.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NA.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NF.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NG.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NH.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NR.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NU.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NZ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PG.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PH.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PK.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PN.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_RW.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SB.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SC.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SE.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SG.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SH.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SL.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SS.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SX.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SZ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TK.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TO.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TT.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TV.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TZ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_UG.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_VC.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_VU.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_WS.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ZA.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ZM.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es.php | 1084 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_419.php | 52 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_AR.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BO.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BR.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BZ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CL.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CO.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CR.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CU.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_DO.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_EC.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_GQ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_GT.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_HN.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_MX.php | 52 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_NI.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PA.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PE.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PH.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PR.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PY.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_SV.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_US.php | 44 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_UY.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_VE.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/et.php | 1068 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/eu.php | 1168 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fa.php | 916 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fa_AF.php | 60 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff.php | 232 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm.php | 768 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_BF.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_CM.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GH.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GM.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GW.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_LR.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_MR.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_NE.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_NG.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_SL.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_SN.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_GN.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GH.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GM.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GN.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_LR.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_MR.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_NG.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_SL.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_MR.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fi.php | 1164 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fo.php | 644 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fo_DK.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr.php | 1088 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_BI.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_CA.php | 176 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_CD.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_DJ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_DZ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_GN.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_HT.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_KM.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_LU.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MG.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MR.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MU.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_RW.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_SC.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_SY.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_TN.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_VU.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fy.php | 1136 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ga.php | 1120 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gd.php | 1172 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gl.php | 824 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gu.php | 656 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ha.php | 656 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ha_GH.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/he.php | 892 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hi.php | 756 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hi_Latn.php | 24 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hr.php | 1160 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hr_BA.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hu.php | 1112 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hy.php | 656 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ia.php | 660 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/id.php | 1152 ++- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ig.php | 628 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ii.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/in.php | 1152 ++- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/is.php | 904 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/it.php | 1056 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/iw.php | 892 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ja.php | 1160 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/jv.php | 636 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ka.php | 976 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ki.php | 232 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kk.php | 652 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kl.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/km.php | 656 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kn.php | 656 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ko.php | 1128 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ks.php | 972 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ks_Deva.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ku.php | 628 ++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ky.php | 652 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/lb.php | 1072 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/lg.php | 236 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ln.php | 236 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ln_AO.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/lo.php | 1140 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/lt.php | 1160 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/lu.php | 236 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/lv.php | 796 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/meta.php | 1846 +++--- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/mg.php | 236 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/mi.php | 628 ++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/mk.php | 916 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ml.php | 1072 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/mn.php | 656 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/mo.php | 964 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/mr.php | 656 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ms.php | 688 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ms_BN.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ms_ID.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ms_SG.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/mt.php | 592 -- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/my.php | 720 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/nd.php | 236 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ne.php | 660 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/nl.php | 1172 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/nl_AW.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/nl_BQ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/nl_CW.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/nl_SR.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/nl_SX.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/nn.php | 404 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/no.php | 1160 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/no_NO.php | 1160 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/om.php | 52 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/om_KE.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/or.php | 640 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/os.php | 24 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/os_RU.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/pa.php | 740 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/pa_Arab.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/pl.php | 1036 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ps.php | 632 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ps_PK.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/pt.php | 1156 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/pt_AO.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/pt_CV.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/pt_LU.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/pt_MO.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/pt_MZ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/pt_PT.php | 688 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/pt_ST.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/qu.php | 628 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/qu_BO.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/qu_EC.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/rm.php | 1152 ++- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/rn.php | 224 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ro.php | 964 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ro_MD.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/root.php | 88 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ru.php | 1076 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ru_BY.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ru_KG.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ru_KZ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ru_MD.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/rw.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sa.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sc.php | 1168 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sd.php | 644 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sd_Deva.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/se.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/se_SE.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sg.php | 232 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sh.php | 1092 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sh_BA.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/si.php | 656 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sk.php | 1160 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sl.php | 1068 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sn.php | 236 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/so.php | 676 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/so_DJ.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/so_ET.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/so_KE.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sq.php | 652 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sq_MK.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sr.php | 1092 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sr_BA.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sr_Cyrl_BA.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sr_Latn.php | 1092 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sr_Latn_BA.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/st.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/st_LS.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/su.php | 36 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sv.php | 1164 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sw.php | 676 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sw_CD.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sw_KE.php | 264 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/sw_UG.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ta.php | 656 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ta_LK.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ta_MY.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ta_SG.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/te.php | 656 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/tg.php | 628 ++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/th.php | 1140 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ti.php | 652 ++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ti_ER.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/tk.php | 644 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/tl.php | 680 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/tn.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/tn_BW.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/to.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/tr.php | 1160 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/tt.php | 628 ++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ug.php | 1156 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/uk.php | 1076 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ur.php | 676 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ur_IN.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/uz.php | 652 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/uz_Arab.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/uz_Cyrl.php | 232 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/vi.php | 1144 +-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/wo.php | 628 ++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/xh.php | 628 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/yi.php | 44 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/yo.php | 660 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/yo_BJ.php | 404 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/zh.php | 1168 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/zh_HK.php | 272 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_HK.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_MO.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_SG.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant.php | 1160 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant_HK.php | 272 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant_MO.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/zh_MO.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/zh_SG.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/zu.php | 656 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/git-info.txt | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/af.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ak.php | 120 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/am.php | 237 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ar.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ar_EG.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/as.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/az.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/be.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/bg.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/bm.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/bn.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/bn_IN.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/bs.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/bs_Cyrl.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ca.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/cs.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/cy.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/da.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/de.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/de_CH.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ee.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/el.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/en.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/en_CA.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/en_GB.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/en_IN.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/eo.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_419.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_AR.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_BO.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_CL.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_CO.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_CR.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_DO.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_EC.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_GT.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_HN.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_MX.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_NI.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_PA.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_PE.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_PR.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_PY.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_SV.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_US.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/es_VE.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/et.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/eu.php | 44 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/fa.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ff.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ff_Adlm.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/fi.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/fo.php | 27 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/fr.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/fr_BE.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/fr_CA.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/fr_CH.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ga.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/gd.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/gl.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/gu.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/gv.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ha.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/he.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/hi.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/hi_Latn.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/hr.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/hu.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/hy.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ia.php | 42 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/id.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ie.php | 47 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ig.php | 562 + symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ii.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/in.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/is.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/it.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/iw.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ja.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/jv.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ka.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ki.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/kk.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/kl.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/km.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/kn.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ko.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ks.php | 28 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ku.php | 272 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/kw.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ky.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/lb.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/lg.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ln.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/lo.php | 30 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/lt.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/lu.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/lv.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/meta.php | 2582 ++++---- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/mg.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/mi.php | 204 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/mk.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ml.php | 53 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/mn.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/mo.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/mr.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ms.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/my.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/nd.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ne.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/nl.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/nn.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/no.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/no_NO.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/oc.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/om.php | 34 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/or.php | 56 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/pa.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/pa_Arab.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/pl.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ps.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/pt.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/pt_PT.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/qu.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/rn.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ro.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ru.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/rw.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sc.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sd.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sg.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sh.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/si.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sk.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sl.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sn.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/so.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sq.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sr.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_ME.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_XK.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_ME.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_XK.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sr_ME.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sr_XK.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/st.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sv.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/sw.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ta.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/te.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/tg.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/th.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ti.php | 68 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ti_ER.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/tk.php | 96 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/tl.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/tn.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/to.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/tr.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/tt.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/uk.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/ur.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/uz.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/uz_Arab.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/vi.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/wo.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/xh.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/yo.php | 47 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/yo_BJ.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/za.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/zh.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/zh_HK.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/zh_Hant.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/zh_Hant_HK.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/languages/zu.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/af.php | 97 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ak.php | 420 + symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/am.php | 511 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ar.php | 37 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/as.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/az.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/az_Cyrl.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/be.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/bg.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/bm.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/bn.php | 79 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/br.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/bs.php | 45 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/bs_Cyrl.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ca.php | 51 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ce.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/cs.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/cv.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/cy.php | 27 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/da.php | 43 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/de.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/de_CH.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/dz.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ee.php | 247 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/el.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/en.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/en_AU.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/eo.php | 126 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_419.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_AR.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_BO.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_CL.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_CO.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_CR.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_DO.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_EC.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_GT.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_HN.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_MX.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_NI.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_PA.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_PE.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_PY.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/es_VE.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/et.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/eu.php | 105 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/fa.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/fa_AF.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ff.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ff_Adlm.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/fi.php | 23 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/fo.php | 34 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/fr.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/fr_CA.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/fy.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ga.php | 113 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/gd.php | 23 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/gl.php | 147 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/gu.php | 83 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ha.php | 183 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/he.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/hi.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/hi_Latn.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/hr.php | 49 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/hu.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/hy.php | 27 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ia.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/id.php | 49 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ie.php | 118 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ig.php | 793 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ii.php | 52 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/is.php | 23 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/it.php | 37 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ja.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/jv.php | 91 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ka.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ki.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/kk.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/km.php | 33 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/kn.php | 43 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ko.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ks.php | 292 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ks_Deva.php | 27 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ku.php | 467 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ky.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/lb.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/lg.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ln.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/lo.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/lt.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/lu.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/lv.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/meta.php | 1345 ++-- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/mg.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/mi.php | 558 + symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/mk.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ml.php | 61 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/mn.php | 89 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/mr.php | 41 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ms.php | 33 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/mt.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/my.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/nd.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ne.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/nl.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/nn.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/no.php | 27 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/oc.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/om.php | 458 + symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/or.php | 199 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/pa.php | 27 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/pl.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ps.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/pt.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/pt_PT.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/qu.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/rm.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/rn.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ro.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ru.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/rw.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sc.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sd.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sd_Deva.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/se.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/se_FI.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sg.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/si.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sk.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sl.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sn.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/so.php | 81 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sq.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sr.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sr_Cyrl_BA.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sr_Latn.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sr_Latn_BA.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/st.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/su.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sv.php | 33 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sw.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sw_CD.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/sw_KE.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ta.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/te.php | 65 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/tg.php | 250 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/th.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ti.php | 155 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ti_ER.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/tk.php | 47 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/tn.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/to.php | 55 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/tr.php | 23 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/tt.php | 23 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ug.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/uk.php | 23 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ur.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/ur_IN.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/uz.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/uz_Cyrl.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/vi.php | 27 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/wo.php | 71 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/xh.php | 33 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/yi.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/yo.php | 247 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/yo_BJ.php | 108 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/za.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/zh.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/zh_Hant.php | 93 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/zh_Hant_HK.php | 45 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/locales/zu.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/af.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ak.php | 114 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/am.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ar.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/az_Cyrl.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/be.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/bm.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/bo_IN.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/br.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/bs.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ca.php | 30 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ce.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/cv.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/dz.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ee.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/eo.php | 47 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_419.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_AR.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_BO.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_CL.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_CO.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_CR.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_DO.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_EC.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_GT.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_HN.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_MX.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_NI.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_PA.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_PE.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_PY.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/es_VE.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/et.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ff.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ff_Adlm.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/fi.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/fr_CA.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/fy.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ga.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/gd.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/gl.php | 44 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ha.php | 42 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/hi_Latn.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/hr.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/hy.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ie.php | 71 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ig.php | 58 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ii.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/is.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/it.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/jv.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ki.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/kn.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ko.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ks.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ku.php | 168 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ky.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/lb.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/lg.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ln.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/lo.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/lu.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/meta.php | 498 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/mg.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/mi.php | 216 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ml.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/mn.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/mt.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/nd.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/nn.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/no.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/no_NO.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/oc.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/om.php | 255 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/or.php | 28 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/pa.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/rm.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/rn.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/sd.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/sg.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/sh.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/sn.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/so.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/sr.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/st.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/sv.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/sw_KE.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/te.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/tg.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ti.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/tn.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/tr.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/tt.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ug.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/uk.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/ur_IN.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/uz_Cyrl.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/wo.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/yo.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/yo_BJ.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/regions/za.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/af.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ak.php | 63 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/am.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/cs.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/cy.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/de.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ee.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/en.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/en_CA.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/eo.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/et.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/eu.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/fo.php | 101 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ga.php | 48 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/gd.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ha.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ha_NE.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/hu.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ia.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/id.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ie.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ig.php | 176 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ii.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/in.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/is.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/jv.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ks.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ku.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/lo.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/lt.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/meta.php | 409 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/mi.php | 24 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ms.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/mt.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/nl.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/nn.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/oc.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/om.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/or.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/qu.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/rw.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/sd.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/so.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/st.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/te.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/tg.php | 169 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/ti.php | 54 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/tk.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/tl.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/tn.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/to.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/tr.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/tt.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/vi.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/wo.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/xh.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/yo.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/yo_BJ.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/za.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/zh.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/zh_HK.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/zh_Hant.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/scripts/zh_Hant_HK.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/af.php | 44 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ak.php | 426 + symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/am.php | 49 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ar.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/as.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/az.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/be.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/bg.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/bn.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/bo.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/br.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/bs.php | 53 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/bs_Cyrl.php | 43 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ca.php | 350 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ce.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/cs.php | 45 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/cv.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/cy.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/da.php | 47 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/de.php | 66 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/de_CH.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/dz.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ee.php | 91 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/el.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/en.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/en_001.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/en_AU.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/en_CA.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/en_GB.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/en_IN.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/eo.php | 401 + symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/es.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/es_419.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/es_MX.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/es_US.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/et.php | 49 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/eu.php | 56 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/fa.php | 77 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ff_Adlm.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/fi.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/fo.php | 44 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/fr.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/fr_CA.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/fy.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ga.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/gd.php | 216 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/gl.php | 54 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/gu.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ha.php | 120 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/he.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/hi.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/hi_Latn.php | 437 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/hr.php | 63 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/hu.php | 54 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/hy.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ia.php | 318 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/id.php | 45 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ie.php | 137 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ig.php | 62 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ii.php | 197 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/is.php | 44 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/it.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ja.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/jv.php | 46 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ka.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/kk.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/km.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/kn.php | 66 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ko.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ko_KP.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ks.php | 46 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ks_Deva.php | 67 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ku.php | 426 + symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ky.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/lb.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ln.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/lo.php | 42 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/lt.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/lv.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/meta.php | 1711 ++--- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/mi.php | 493 + symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/mk.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ml.php | 55 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/mn.php | 52 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/mr.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ms.php | 46 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ms_ID.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/mt.php | 80 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/my.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ne.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/nl.php | 48 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/nn.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/no.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/oc.php | 37 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/om.php | 505 + symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/or.php | 74 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/os.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/pa.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/pl.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ps.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ps_PK.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/pt.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/pt_PT.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/qu.php | 44 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/rm.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ro.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ru.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/rw.php | 27 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sa.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sc.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sd.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sd_Deva.php | 80 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/se.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/se_FI.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/si.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sk.php | 42 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sl.php | 54 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/so.php | 44 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sq.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sr.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sr_Cyrl_BA.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sr_Latn.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sr_Latn_BA.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/st.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/su.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sv.php | 61 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sw.php | 45 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/sw_KE.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ta.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/te.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/tg.php | 850 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/th.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ti.php | 638 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/tk.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/tn.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/to.php | 46 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/tr.php | 42 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/tt.php | 847 +- symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ug.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/uk.php | 58 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ur.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/ur_IN.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/uz.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/uz_Arab.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/uz_Cyrl.php | 82 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/vi.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/wo.php | 493 - symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/xh.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/yi.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/yo.php | 273 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/yo_BJ.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/za.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/zh.php | 42 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hans_SG.php | 42 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hant.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hant_HK.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/timezones/zu.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/version.txt | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Scripts.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Tests/CountriesTest.php | 23 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Tests/CurrenciesTest.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/Fixtures/en.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Tests/LanguagesTest.php | 65 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Tests/LocalesTest.php | 23 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Tests/NumberFormatter/AbstractNumberFormatterTestCase.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Tests/NumberFormatter/NumberFormatterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Tests/NumberFormatter/Verification/NumberFormatterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Tests/ResourceBundleTestCase.php | 47 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Tests/ScriptsTest.php | 24 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Tests/TimezonesTest.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Timezones.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Util/GitRepository.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Util/IcuVersion.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Util/IntlTestHelper.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Util/Version.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Intl/composer.json | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/Adapter/ConnectionInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/Adapter/ExtLdap/Connection.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/Adapter/ExtLdap/UpdateOperation.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/Ldap.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/LdapInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/Security/LdapAuthenticator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/Security/LdapBadge.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/Security/LdapUserProvider.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/Tests/Adapter/ExtLdap/LdapManagerTest.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/Tests/LdapTestCase.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Ldap/composer.json | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Lock.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/LockInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/NoLock.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Store/DoctrineDbalPostgreSqlStore.php | 30 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Store/DoctrineDbalStore.php | 28 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Store/FlockStore.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Store/MongoDbStore.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Store/PdoStore.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Store/PostgreSqlStore.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Store/RedisStore.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Store/StoreFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Store/ZookeeperStore.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Tests/LockTest.php | 43 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Tests/Store/DoctrineDbalPostgreSqlStoreTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Tests/Store/DoctrineDbalStoreTest.php | 67 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Tests/Store/MongoDbStoreFactoryTest.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Tests/Store/MongoDbStoreTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Tests/Store/PdoDbalStoreTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/Tests/Store/PdoStoreTest.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Lock/composer.json | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Amazon/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Amazon/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Amazon/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Amazon/Tests/Transport/SesApiAsyncAwsTransportTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Amazon/Tests/Transport/SesHttpAsyncAwsTransportTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesApiTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesHttpAsyncAwsTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesHttpTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesSmtpTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Google/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Google/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Google/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Google/Transport/GmailSmtpTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailchimp/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailchimp/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailchimp/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillApiTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillHeadersTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillHttpTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillSmtpTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailgun/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailgun/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailgun/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHeadersTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunSmtpTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailjet/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailjet/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailjet/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailjet/Transport/MailjetApiTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Mailjet/Transport/MailjetSmtpTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/OhMySmtp/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/OhMySmtp/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/OhMySmtp/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/OhMySmtp/Transport/OhMySmtpApiTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/OhMySmtp/Transport/OhMySmtpSmtpTransport.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Postmark/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Postmark/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Postmark/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Postmark/Transport/PostmarkApiTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Postmark/Transport/PostmarkSmtpTransport.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Sendgrid/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Sendgrid/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Sendgrid/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Sendgrid/Transport/SendgridApiTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Sendgrid/Transport/SendgridSmtpTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Sendinblue/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Sendinblue/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Sendinblue/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Sendinblue/Tests/Transport/SendinblueApiTransportTest.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Sendinblue/Transport/SendinblueApiTransport.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Bridge/Sendinblue/Transport/SendinblueSmtpTransport.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/DataCollector/MessageDataCollector.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Event/MessageEvents.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/EventListener/EnvelopeListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/EventListener/MessageListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Exception/HttpTransportException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Exception/UnsupportedSchemeException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Mailer.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/MailerInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Messenger/SendEmailMessage.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Test/Constraint/EmailCount.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Test/TransportFactoryTestCase.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Tests/Transport/DsnTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Tests/Transport/FailoverTransportTest.php | 79 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Tests/Transport/Fixtures/fake-failing-sendmail.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Tests/Transport/RoundRobinTransportTest.php | 24 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportTest.php | 110 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Tests/Transport/Smtp/SmtpTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Tests/TransportTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/AbstractHttpTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/AbstractTransport.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/AbstractTransportFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/Dsn.php | 26 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/RoundRobinTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/SendmailTransport.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/Smtp/EsmtpTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/Smtp/SmtpTransport.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/Smtp/Stream/AbstractStream.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/Smtp/Stream/ProcessStream.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/Smtp/Stream/SocketStream.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/TransportInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mailer/Transport/Transports.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Tests/Transport/AmazonSqsSenderTest.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Tests/Transport/AmazonSqsTransportTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Tests/Transport/ConnectionTest.php | 42 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/AmazonSqsFifoStamp.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/AmazonSqsReceiver.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/AmazonSqsSender.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/AmazonSqsTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/AmazonSqsTransportFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/Connection.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/AmazonSqs/composer.json | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Amqp/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Amqp/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Amqp/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Amqp/Tests/Transport/AmqpSenderTest.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Amqp/Tests/Transport/AmqpTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Amqp/Tests/Transport/ConnectionTest.php | 135 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/AmqpReceiver.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/AmqpSender.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/AmqpStamp.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/AmqpTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php | 101 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Beanstalkd/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Beanstalkd/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Beanstalkd/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Beanstalkd/Tests/Transport/BeanstalkdSenderTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Beanstalkd/Tests/Transport/BeanstalkdTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Beanstalkd/Tests/Transport/ConnectionTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Beanstalkd/Transport/BeanstalkdReceiver.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Beanstalkd/Transport/BeanstalkdSender.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Beanstalkd/Transport/BeanstalkdTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Beanstalkd/Transport/Connection.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/ConnectionTest.php | 86 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/DoctrineIntegrationTest.php | 50 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/DoctrinePostgreSqlIntegrationTest.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/DoctrineSenderTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/DoctrineTransportFactoryTest.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/DoctrineTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/PostgreSqlConnectionTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/Connection.php | 124 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/DoctrineReceiver.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/DoctrineSender.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/DoctrineTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/DoctrineTransportFactory.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Doctrine/composer.json | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Redis/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Redis/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Redis/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Redis/Tests/Transport/ConnectionTest.php | 102 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Redis/Tests/Transport/RedisExtIntegrationTest.php | 72 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Redis/Tests/Transport/RedisSenderTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Redis/Tests/Transport/RedisTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php | 59 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Redis/Transport/RedisReceiver.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Bridge/Redis/Transport/RedisTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/CHANGELOG.md | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Command/AbstractFailedMessagesCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Command/ConsumeMessagesCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Command/FailedMessagesRetryCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/DataCollector/MessengerDataCollector.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/DependencyInjection/MessengerPass.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Envelope.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Event/WorkerMessageReceivedEvent.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/EventListener/SendFailedMessageForRetryListener.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/EventListener/SendFailedMessageToFailureTransportListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/EventListener/StopWorkerOnFailureLimitListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/EventListener/StopWorkerOnMemoryLimitListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/EventListener/StopWorkerOnMessageLimitListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/EventListener/StopWorkerOnRestartSignalListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/EventListener/StopWorkerOnSigtermSignalListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/EventListener/StopWorkerOnTimeLimitListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Exception/StopWorkerException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Handler/Acknowledger.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Handler/BatchHandlerInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Handler/BatchHandlerTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Handler/HandlerDescriptor.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Middleware/HandleMessageMiddleware.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Middleware/SendMessageMiddleware.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Middleware/TraceableMiddleware.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Retry/MultiplierRetryStrategy.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Retry/RetryStrategyInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/RoutableMessageBus.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Stamp/AckStamp.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Stamp/ErrorDetailsStamp.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Stamp/SentStamp.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Test/Middleware/MiddlewareTestCase.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/Command/ConsumeMessagesCommandTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/Command/SetupTransportsCommandTest.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php | 30 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/EventListener/SendFailedMessageForRetryListenerTest.php | 46 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/Fixtures/DummyMessageTyped.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/Fixtures/DummyReceiver.php | 64 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/Fixtures/ResettableDummyReceiver.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/Middleware/DispatchAfterCurrentBusMiddlewareTest.php | 84 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/Middleware/HandleMessageMiddlewareTest.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/Middleware/TraceableMiddlewareTest.php | 91 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/Stamp/StringErrorCodeException.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/Transport/Serialization/PhpSerializerTest.php | 33 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Tests/WorkerTest.php | 71 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Transport/InMemoryTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Transport/Receiver/ListableReceiverInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Transport/Serialization/Normalizer/FlattenExceptionNormalizer.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Transport/Serialization/PhpSerializer.php | 24 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Transport/Serialization/Serializer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Transport/TransportFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Messenger/Worker.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Address.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Crypto/SMimeEncrypter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Crypto/SMimeSigner.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Email.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/FileinfoMimeTypeGuesser.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Header/AbstractHeader.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Header/Headers.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Header/ParameterizedHeader.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Message.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Part/DataPart.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Part/TextPart.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/RawMessage.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Test/Constraint/EmailAttachmentCount.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/AddressTest.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/EmailTest.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/Encoder/IdnAddressEncoderTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/Encoder/QpContentEncoderTest.php | 26 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/Fixtures/web/index.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/Header/MailboxHeaderTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/MessageTest.php | 104 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/Part/DataPartTest.php | 47 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/Part/Multipart/FormDataPartTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/Test/Constraint/EmailAddressContainsTest.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/Test/Constraint/EmailAttachmentCountTest.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/Test/Constraint/EmailHasHeaderTest.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/Test/Constraint/EmailHtmlBodyContainsTest.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/Tests/Test/Constraint/EmailTextBodyContainsTest.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/Mime/composer.json | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/AllMySms/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/AllMySms/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/AllMySms/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/AllMySms/AllMySmsTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/AllMySms/Tests/AllMySmsTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/AmazonSns/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/AmazonSns/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/AmazonSns/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/AmazonSns/AmazonSnsOptions.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/AmazonSns/AmazonSnsTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/AmazonSns/README.md | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/AmazonSns/Tests/AmazonSnsTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Clickatell/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Clickatell/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Clickatell/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Clickatell/ClickatellTransport.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Clickatell/Tests/ClickatellTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Discord/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Discord/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Discord/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Discord/DiscordTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Discord/Tests/DiscordTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Esendex/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Esendex/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Esendex/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Esendex/CHANGELOG.md | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Esendex/EsendexTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Esendex/Tests/EsendexTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Expo/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Expo/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Expo/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Expo/ExpoTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Expo/Tests/ExpoTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeChat/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeChat/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeChat/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeChat/FakeChatEmailTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeChat/FakeChatLoggerTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeChat/FakeChatTransportFactory.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeChat/Tests/FakeChatEmailTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeChat/Tests/FakeChatLoggerTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeSms/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeSms/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeSms/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsEmailTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsLoggerTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsTransportFactory.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsEmailTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsLoggerTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Firebase/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Firebase/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Firebase/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Firebase/FirebaseTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Firebase/Tests/FirebaseTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FreeMobile/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FreeMobile/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FreeMobile/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FreeMobile/FreeMobileTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/FreeMobile/Tests/FreeMobileTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/GatewayApi/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/GatewayApi/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/GatewayApi/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/GatewayApi/GatewayApiTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/GatewayApi/Tests/GatewayApiTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Gitter/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Gitter/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Gitter/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Gitter/GitterTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Gitter/Tests/GitterTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/GoogleChat/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/GoogleChat/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/GoogleChat/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/GoogleChat/CHANGELOG.md | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/GoogleChat/GoogleChatTransport.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/GoogleChat/Tests/GoogleChatTransportTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Infobip/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Infobip/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Infobip/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Infobip/InfobipTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Infobip/Tests/InfobipTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Iqsms/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Iqsms/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Iqsms/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Iqsms/IqsmsTransport.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Iqsms/Tests/IqsmsTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/LightSms/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/LightSms/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/LightSms/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/LightSms/LightSmsTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/LightSms/Tests/LightSmsTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/LinkedIn/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/LinkedIn/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/LinkedIn/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/LinkedIn/LinkedInTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/LinkedIn/Share/ShareContentShare.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/LinkedIn/Share/ShareMediaShare.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/LinkedIn/Tests/LinkedInTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mailjet/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mailjet/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mailjet/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mailjet/MailjetTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mailjet/Tests/MailjetTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mattermost/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mattermost/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mattermost/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mattermost/CHANGELOG.md | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mattermost/MattermostTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mattermost/Tests/MattermostTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mercure/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mercure/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mercure/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mercure/MercureOptions.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mercure/MercureTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mercure/MercureTransportFactory.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mercure/Tests/MercureTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MessageBird/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MessageBird/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MessageBird/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MessageBird/MessageBirdTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MessageBird/Tests/MessageBirdTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MessageMedia/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MessageMedia/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MessageMedia/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MessageMedia/MessageMediaTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MessageMedia/Tests/MessageMediaTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/MicrosoftTeamsTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/MicrosoftTeamsTransportFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/Tests/MicrosoftTeamsTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mobyt/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mobyt/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mobyt/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mobyt/MobytTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mobyt/README.md | 23 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Mobyt/Tests/MobytTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Nexmo/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Nexmo/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Nexmo/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Nexmo/NexmoTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Nexmo/Tests/NexmoTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Octopush/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Octopush/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Octopush/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Octopush/OctopushTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Octopush/Tests/OctopushTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/OneSignal/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/OneSignal/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/OneSignal/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/OneSignal/OneSignalTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/OneSignal/Tests/OneSignalTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/OvhCloud/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/OvhCloud/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/OvhCloud/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/OvhCloud/OvhCloudTransport.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/OvhCloud/Tests/OvhCloudTransportFactoryTest.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/OvhCloud/Tests/OvhCloudTransportTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/RocketChat/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/RocketChat/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/RocketChat/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/RocketChat/RocketChatTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/RocketChat/Tests/RocketChatTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sendinblue/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sendinblue/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sendinblue/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sendinblue/SendinblueTransport.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sendinblue/Tests/SendinblueTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sinch/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sinch/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sinch/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sinch/SinchTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sinch/Tests/SinchTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Slack/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Slack/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Slack/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Slack/Block/SlackActionsBlock.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Slack/SlackTransport.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Slack/Tests/SlackOptionsTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Slack/Tests/SlackTransportTest.php | 52 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sms77/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sms77/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sms77/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sms77/Sms77Transport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Sms77/Tests/Sms77TransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/SmsBiuras/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/SmsBiuras/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/SmsBiuras/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/SmsBiuras/SmsBiurasTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/SmsBiuras/Tests/SmsBiurasTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Smsapi/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Smsapi/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Smsapi/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Smsapi/README.md | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Smsapi/SmsapiTransport.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Smsapi/Tests/SmsapiTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Smsc/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Smsc/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Smsc/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Smsc/SmscTransport.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Smsc/Tests/SmscTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/SpotHit/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/SpotHit/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/SpotHit/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/SpotHit/SpotHitTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/SpotHit/Tests/SpotHitTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Telegram/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Telegram/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Telegram/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Telegram/TelegramTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Telegram/TelegramTransportFactory.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Telegram/Tests/TelegramTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Telnyx/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Telnyx/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Telnyx/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Telnyx/TelnyxTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Telnyx/Tests/TelnyxTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/TurboSms/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/TurboSms/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/TurboSms/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/TurboSms/Tests/TurboSmsTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/TurboSms/TurboSmsTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Twilio/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Twilio/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Twilio/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/TwilioTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Twilio/TwilioTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Vonage/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Vonage/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Vonage/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Vonage/Tests/VonageTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Vonage/VonageTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Yunpian/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Yunpian/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Yunpian/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Yunpian/Tests/YunpianTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Yunpian/YunpianTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Zulip/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Zulip/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Zulip/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Zulip/Tests/ZulipTransportTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Zulip/ZulipOptions.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Bridge/Zulip/ZulipTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Channel/AbstractChannel.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Channel/BrowserChannel.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Channel/ChannelInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Channel/ChatChannel.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Channel/EmailChannel.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Channel/PushChannel.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Channel/SmsChannel.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Chatter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/ChatterInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/DataCollector/NotificationDataCollector.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Event/NotificationEvents.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Exception/IncompleteDsnException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Exception/MissingRequiredOptionException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Exception/TransportException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Exception/UnsupportedSchemeException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Message/ChatMessage.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Message/EmailMessage.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Message/PushMessage.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Notification/ChatNotificationInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Notification/EmailNotificationInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Notification/PushNotificationInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Notification/SmsNotificationInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Notifier.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Test/TransportFactoryTestCase.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Test/TransportTestCase.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Tests/Channel/AbstractChannelTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Tests/Event/FailedMessageEventTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Tests/Mailer/DummyMailer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Tests/Transport/DsnTest.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Tests/Transport/FailoverTransportTest.php | 51 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Texter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/TexterInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Transport.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Transport/AbstractTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Transport/AbstractTransportFactory.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Transport/Dsn.php | 28 symfony-5.4.52+dfsg/src/Symfony/Component/Notifier/Transport/NullTransport.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/OptionsResolver/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/OptionsResolver/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/OptionsResolver/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Command/UserPasswordHashCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Exception/InvalidPasswordException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Hasher/MessageDigestPasswordHasher.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Hasher/MigratingPasswordHasher.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Hasher/NativePasswordHasher.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Hasher/PasswordHasherFactory.php | 50 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Hasher/Pbkdf2PasswordHasher.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Hasher/PlaintextPasswordHasher.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Hasher/SodiumPasswordHasher.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/LegacyPasswordHasherInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Tests/Hasher/NativePasswordHasherTest.php | 66 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Tests/Hasher/PasswordHasherFactoryTest.php | 47 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Tests/Hasher/SodiumPasswordHasherTest.php | 78 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/Tests/Hasher/UserPasswordHasherTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PasswordHasher/composer.json | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Process/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Process/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Process/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Process/ExecutableFinder.php | 61 symfony-5.4.52+dfsg/src/Symfony/Component/Process/InputStream.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Process/PhpExecutableFinder.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Process/PhpProcess.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Process/Pipes/WindowsPipes.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Process/Process.php | 52 symfony-5.4.52+dfsg/src/Symfony/Component/Process/Tests/ErrorProcessInitiator.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Process/Tests/ExecutableFinderTest.php | 105 symfony-5.4.52+dfsg/src/Symfony/Component/Process/Tests/ProcessTest.php | 116 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyAccess/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyAccess/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyAccess/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyAccess/PropertyAccessor.php | 28 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyAccess/PropertyAccessorBuilder.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyAccess/PropertyPathBuilder.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyAccess/Tests/Fixtures/NonTraversableArrayObject.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyAccess/Tests/Fixtures/TraversableArrayObject.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Extractor/PhpDocExtractor.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Extractor/PhpStanExtractor.php | 26 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Extractor/ReflectionExtractor.php | 34 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/PhpStan/NameScopeFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/PropertyWriteInfo.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpDocExtractorTest.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpStanExtractorTest.php | 30 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Extractor/ReflectionExtractorTest.php | 107 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Fixtures/AsymmetricVisibility.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Fixtures/ConstructorDummyWithoutDocBlock.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Fixtures/Dummy.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Fixtures/DummyCollection.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Fixtures/DummyUnionType.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Fixtures/Php74Dummy.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Fixtures/TraitUsage/AnotherNamespace/DummyInAnotherNamespace.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Fixtures/TraitUsage/AnotherNamespace/DummyTraitInAnotherNamespace.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Fixtures/TraitUsage/DummyUsingTrait.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Tests/Fixtures/VirtualProperties.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Type.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Util/PhpDocTypeHelper.php | 39 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/Util/PhpStanTypeHelper.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/PropertyInfo/composer.json | 2 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/CompoundLimiter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Exception/MaxWaitDurationExceededException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Exception/RateLimitExceededException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Exception/ReserveNotSupportedException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/LimiterInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Policy/FixedWindowLimiter.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Policy/NoLimiter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Policy/Rate.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Policy/SlidingWindowLimiter.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Policy/TokenBucket.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Policy/TokenBucketLimiter.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Policy/Window.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/RateLimiterFactory.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Tests/Policy/FixedWindowLimiterTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Tests/Policy/TokenBucketLimiterTest.php | 28 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Tests/RateLimiterFactoryTest.php | 34 symfony-5.4.52+dfsg/src/Symfony/Component/RateLimiter/Util/TimeUtil.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Annotation/Route.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/CompiledRoute.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Exception/MethodNotAllowedException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Generator/CompiledUrlGenerator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Generator/UrlGenerator.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/AnnotationClassLoader.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/AnnotationDirectoryLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/AnnotationFileLoader.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/ClosureLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/Configurator/CollectionConfigurator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/Configurator/RouteConfigurator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/Configurator/RoutingConfigurator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/Configurator/Traits/HostTrait.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/Configurator/Traits/LocalizedRouteTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/Configurator/Traits/PrefixTrait.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/ContainerLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/DirectoryLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/GlobFileLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/ObjectLoader.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/PhpFileLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/XmlFileLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Loader/YamlFileLoader.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherDumper.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Matcher/Dumper/StaticPrefixCollection.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Matcher/RedirectableUrlMatcherInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Matcher/TraceableUrlMatcher.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/RouteCollection.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/RouteCollectionBuilder.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Router.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Fixtures/AttributeFixtures/LocalizedPrefixMissingLocaleActionController.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Fixtures/AttributeFixtures/LocalizedPrefixMissingRouteLocaleActionController.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Fixtures/AttributeFixtures/RouteWithPriorityController.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Fixtures/RedirectableUrlMatcher.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Fixtures/locale_and_host/priorized-host.yml | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Fixtures/localized/localized-prefix.yml | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Generator/Dumper/CompiledUrlGeneratorDumperTest.php | 61 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Loader/AbstractAnnotationLoaderTestCase.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTestCase.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderWithAnnotationsTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderWithAttributesTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Loader/ClosureLoaderTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Loader/ContainerLoaderTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Loader/FileLocatorStub.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Loader/GlobFileLoaderTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Loader/ObjectLoaderTest.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Loader/YamlFileLoaderTest.php | 49 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Matcher/CompiledRedirectableUrlMatcherTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Matcher/CompiledUrlMatcherTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Matcher/Dumper/CompiledUrlMatcherDumperTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Matcher/RedirectableUrlMatcherTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Matcher/TraceableUrlMatcherTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/Matcher/UrlMatcherTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Routing/Tests/RouteCollectionTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/GenericRuntime.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/Internal/BasicErrorHandler.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/Internal/ComposerPlugin.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/Internal/SymfonyErrorHandler.php | 27 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/Runner/Symfony/ConsoleApplicationRunner.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/RuntimeInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/SymfonyRuntime.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/Tests/phpt/kernel-loop.phpt | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/Tests/phpt/kernel.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/Tests/phpt/kernel.phpt | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/Tests/phpt/kernel_query_string_argv_bypass.phpt | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/Tests/phpt/kernel_register_argc_argv.phpt | 19 symfony-5.4.52+dfsg/src/Symfony/Component/Runtime/composer.json | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Authentication/AuthenticationTrustResolver.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Authentication/AuthenticationTrustResolverInterface.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Authentication/Token/Storage/TokenStorage.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Authentication/Token/Storage/TokenStorageInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Authentication/Token/Storage/UsageTrackingTokenStorage.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Authorization/ExpressionLanguage.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Authorization/Voter/ExpressionVoter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Encoder/NativePasswordEncoder.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Encoder/PasswordHasherAdapter.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Encoder/SodiumPasswordEncoder.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Exception/AccessDeniedException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Exception/AuthenticationException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Exception/CustomUserMessageAccountStatusException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Exception/CustomUserMessageAuthenticationException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Exception/LogoutException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Exception/TooManyLoginAttemptsAuthenticationException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.af.xlf | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.ar.xlf | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.az.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.be.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.bg.xlf | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.bs.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.ca.xlf | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.cs.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.cy.xlf | 83 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.da.xlf | 28 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.de.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.el.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.en.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.es.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.et.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.eu.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.fa.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.fi.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.fr.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.gl.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.he.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.hr.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.hu.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.hy.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.id.xlf | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.it.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.ja.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.lb.xlf | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.lt.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.lv.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.mk.xlf | 83 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.mn.xlf | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.my.xlf | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.nb.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.nl.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.nn.xlf | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.no.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.pl.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.pt.xlf | 24 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.pt_BR.xlf | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.ro.xlf | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.ru.xlf | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.sk.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.sl.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.sq.xlf | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.sr_Cyrl.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.sr_Latn.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.sv.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.th.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.tl.xlf | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.tr.xlf | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.uk.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.ur.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.uz.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.vi.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.zh_CN.xlf | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Resources/translations/security.zh_TW.xlf | 34 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Signature/SignatureHasher.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Tests/Authentication/Provider/UserAuthenticationProviderTest.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Tests/Authentication/Token/AbstractTokenTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Tests/Authorization/AccessDecisionManagerTest.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/TraceableVoterTest.php | 26 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Tests/Encoder/UserPasswordEncoderTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Tests/Fixtures/MockableUsernamePasswordTokenWithRoles.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Tests/Role/LegacyRoleTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Tests/User/ChainUserProviderTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/Validator/Constraints/UserPassword.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Core/composer.json | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Csrf/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Csrf/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Csrf/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Csrf/CsrfTokenManager.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Csrf/Tests/TokenGenerator/UriSafeTokenGeneratorTest.php | 28 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Csrf/TokenGenerator/UriSafeTokenGenerator.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Csrf/composer.json | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Guard/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Guard/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Guard/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Guard/Authenticator/AbstractFormLoginAuthenticator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Guard/Authenticator/GuardBridgeAuthenticator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Guard/Firewall/GuardAuthenticationListener.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Guard/GuardAuthenticatorHandler.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Guard/Tests/GuardAuthenticatorHandlerTest.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Guard/composer.json | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/AccessMap.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authentication/AuthenticationUtils.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authentication/AuthenticatorManager.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationFailureHandler.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationSuccessHandler.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/AbstractLoginFormAuthenticator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/AbstractPreAuthenticatedAuthenticator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/Debug/TraceableAuthenticator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/Debug/TraceableAuthenticatorManagerListener.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/FormLoginAuthenticator.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/HttpBasicAuthenticator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/InteractiveAuthenticatorInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/JsonLoginAuthenticator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/Passport/Badge/PasswordUpgradeBadge.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/Passport/Badge/UserBadge.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/RememberMeAuthenticator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/RemoteUserAuthenticator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Authenticator/X509Authenticator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/EntryPoint/AuthenticationEntryPointInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/EntryPoint/BasicAuthenticationEntryPoint.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/EntryPoint/FormAuthenticationEntryPoint.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/EntryPoint/RetryAuthenticationEntryPoint.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Event/LoginFailureEvent.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Event/LoginSuccessEvent.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Event/SwitchUserEvent.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/EventListener/CheckRememberMeConditionsListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/EventListener/RememberMeListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/EventListener/SessionStrategyListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/AbstractAuthenticationListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/AbstractPreAuthenticatedListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/AnonymousAuthenticationListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/BasicAuthenticationListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/ChannelListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/ContextListener.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/ExceptionListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/LogoutListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/RememberMeListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/RemoteUserAuthenticationListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/SwitchUserListener.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/UsernamePasswordFormAuthenticationListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/UsernamePasswordJsonAuthenticationListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Firewall/X509AuthenticationListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/FirewallMap.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/HttpUtils.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Impersonate/ImpersonateUrlGenerator.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/LoginLink/LoginLinkHandler.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/LoginLink/LoginLinkHandlerInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/LoginLink/LoginLinkNotification.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Logout/LogoutUrlGenerator.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/RememberMe/AbstractRememberMeHandler.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/RememberMe/AbstractRememberMeServices.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/RememberMe/PersistentRememberMeHandler.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/RememberMe/RememberMeServicesInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/RememberMe/SignatureRememberMeHandler.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Session/SessionAuthenticationStrategy.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/Authentication/AuthenticationUtilsTest.php | 127 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/Authentication/AuthenticatorManagerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/Authenticator/AbstractLoginFormAuthenticatorTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/Authenticator/FormLoginAuthenticatorTest.php | 87 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/Authenticator/RememberMeAuthenticatorTest.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/Authenticator/X509AuthenticatorTest.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/Controller/UserValueResolverTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/EventListener/CheckRememberMeConditionsListenerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/EventListener/PasswordMigratingListenerTest.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/EventListener/RememberMeListenerTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/EventListener/SessionStrategyListenerTest.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/Firewall/AbstractPreAuthenticatedListenerTest.php | 74 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/Firewall/ContextListenerTest.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/Firewall/ExceptionListenerTest.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/Firewall/SwitchUserListenerTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/HttpUtilsTest.php | 65 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/LoginLink/LoginLinkHandlerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/RememberMe/AbstractRememberMeServicesTest.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/Tests/RememberMe/PersistentRememberMeHandlerTest.php | 34 symfony-5.4.52+dfsg/src/Symfony/Component/Security/Http/composer.json | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Semaphore/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Semaphore/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Semaphore/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Semaphore/Semaphore.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Semaphore/SemaphoreInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Semaphore/Store/StoreFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Semaphore/composer.json | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Annotation/DiscriminatorMap.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Encoder/CsvEncoder.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Encoder/JsonEncoder.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php | 41 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Encoder/YamlEncoder.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Exception/ExtraAttributesException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Exception/MissingConstructorArgumentsException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Exception/NotNormalizableValueException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Extractor/ObjectPropertyListExtractor.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Mapping/AttributeMetadata.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Mapping/AttributeMetadataInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Mapping/ClassDiscriminatorFromClassMetadata.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Mapping/ClassMetadata.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Mapping/ClassMetadataInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Mapping/Loader/AnnotationLoader.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/NameConverter/AdvancedNameConverterInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/NameConverter/MetadataAwareNameConverter.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/AbstractNormalizer.php | 114 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php | 139 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/ArrayDenormalizer.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/BackedEnumNormalizer.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/ConstraintViolationListNormalizer.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/ContextAwareDenormalizerInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/ContextAwareNormalizerInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/CustomNormalizer.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/DataUriNormalizer.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/DateIntervalNormalizer.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/DateTimeZoneNormalizer.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/DenormalizerInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/FormErrorNormalizer.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/JsonSerializableNormalizer.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/MimeMessageNormalizer.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/NormalizableInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/NormalizerInterface.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/ObjectNormalizer.php | 80 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/ObjectToPopulateTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/ProblemNormalizer.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/UidNormalizer.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Normalizer/UnwrappingDenormalizer.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Serializer.php | 23 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Annotation/ContextTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/DeserializeNestedArrayOfObjectsTest.php | 73 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Encoder/CsvEncoderTest.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php | 26 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/AbstractNormalizerDummy.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/DummyMessageInterface.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/DummyMessageNumberThree.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/DummyNullableInt.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/DummyObjectWithEnumProperty.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/DummyString.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/DummyWithNotNormalizable.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/DummyWithObjectOrBool.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/DummyWithObjectOrNull.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/DummyWithStringObject.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/DummyWithWithVariadicParameterConstructor.php | 44 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/EnvelopeNormalizer.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/EnvelopedMessageNormalizer.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/NotNormalizableDummy.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/Php74Full.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/Php80Dummy.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/Php80WithOptionalConstructorParameter.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/Php80WithPromotedTypedConstructor.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/WithTypedConstructor.php | 35 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Fixtures/property-path-mapping.yaml | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Mapping/Factory/ClassMetadataFactoryCompilerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Mapping/Loader/AnnotationLoaderTestCase.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractNormalizerTest.php | 55 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractObjectNormalizerTest.php | 416 + symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/BackedEnumNormalizerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/ConstraintViolationListNormalizerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/DateIntervalNormalizerTest.php | 31 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/DateTimeNormalizerTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/Features/CallbacksObject.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/Features/CallbacksTestTrait.php | 48 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/Features/CircularReferenceTestTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/Features/ConstructorArgumentsTestTrait.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/Features/SkipUninitializedValuesTestTrait.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php | 139 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php | 104 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php | 46 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/TestDenormalizer.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Normalizer/TestNormalizer.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/Php80Dummy.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/Tests/SerializerTest.php | 315 + symfony-5.4.52+dfsg/src/Symfony/Component/Serializer/composer.json | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Stopwatch/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Stopwatch/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Stopwatch/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Stopwatch/Section.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Stopwatch/Stopwatch.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Stopwatch/StopwatchEvent.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/String/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/String/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/String/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/String/AbstractString.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/String/AbstractUnicodeString.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/String/ByteString.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/String/CodePointString.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/String/Inflector/EnglishInflector.php | 131 symfony-5.4.52+dfsg/src/Symfony/Component/String/LazyString.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/String/Resources/WcswidthDataGenerator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/String/Resources/data/wcswidth_table_wide.php | 60 symfony-5.4.52+dfsg/src/Symfony/Component/String/Resources/data/wcswidth_table_zero.php | 52 symfony-5.4.52+dfsg/src/Symfony/Component/String/Slugger/AsciiSlugger.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/String/Slugger/SluggerInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/String/Tests/AbstractAsciiTestCase.php | 40 symfony-5.4.52+dfsg/src/Symfony/Component/String/Tests/AbstractUnicodeTestCase.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/String/Tests/Inflector/EnglishInflectorTest.php | 50 symfony-5.4.52+dfsg/src/Symfony/Component/String/Tests/LazyStringTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/String/Tests/Slugger/AsciiSluggerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/String/UnicodeString.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Templating/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Templating/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Templating/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Templating/Loader/FilesystemLoader.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Templating/PhpEngine.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Templating/TemplateReference.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Templating/Tests/DelegatingEngineTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Bridge/Crowdin/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Bridge/Crowdin/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Bridge/Crowdin/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Bridge/Loco/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Bridge/Loco/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Bridge/Loco/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Bridge/Lokalise/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Bridge/Lokalise/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Bridge/Lokalise/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Bridge/Lokalise/LokaliseProvider.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Bridge/Lokalise/Tests/LokaliseProviderTest.php | 120 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Command/XliffLintCommand.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/DataCollector/TranslationDataCollector.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/DataCollectorTranslator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Dumper/CsvFileDumper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Dumper/XliffFileDumper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Exception/IncompleteDsnException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Exception/MissingRequiredOptionException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Exception/ProviderException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Exception/UnsupportedSchemeException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Extractor/PhpStringTokenParser.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Formatter/MessageFormatter.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Loader/ArrayLoader.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Loader/CsvFileLoader.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Loader/IcuResFileLoader.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Loader/XliffFileLoader.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/LoggingTranslator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/MessageCatalogue.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/MessageCatalogueInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Provider/AbstractProviderFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Provider/Dsn.php | 28 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/PseudoLocalizationTranslator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Resources/bin/translation-status.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Resources/data/parents.json | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Resources/functions.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Test/ProviderFactoryTestCase.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Tests/Loader/XliffFileLoaderTest.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Tests/Loader/YamlFileLoaderTest.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Tests/Provider/DsnTest.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Tests/PseudoLocalizationTranslatorTest.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Tests/Util/ArrayConverterTest.php | 28 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Tests/fixtures/non-string.yml | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Tests/fixtures/resources.xlf | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/TranslatableMessage.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Translator.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/TranslatorBag.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/TranslatorBagInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Translation/Util/ArrayConverter.php | 47 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/AbstractUid.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/BinaryUtil.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/Command/GenerateUlidCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/Command/GenerateUuidCommand.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/Factory/TimeBasedUuidFactory.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/Factory/UlidFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/Tests/Command/GenerateUuidCommandTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/Tests/UlidTest.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/Tests/UuidTest.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/Ulid.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/Uuid.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/UuidV1.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/UuidV4.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Uid/UuidV6.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Command/DebugCommand.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraint.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/ConstraintViolation.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/AbstractComparison.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/All.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/AtLeastOneOf.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/AtLeastOneOfValidator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Bic.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/BicValidator.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Blank.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Callback.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/CardScheme.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/CardSchemeValidator.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Cascade.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Choice.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/ChoiceValidator.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Cidr.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Collection.php | 34 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Composite.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Count.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Country.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/CssColor.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/CssColorValidator.php | 24 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Currency.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Date.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/DateTime.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/DateValidator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/DisableAutoMapping.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Email.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/EmailValidator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/EnableAutoMapping.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Expression.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/ExpressionLanguageSyntax.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/ExpressionLanguageSyntaxValidator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/ExpressionValidator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/File.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Hostname.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Iban.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/IbanValidator.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Image.php | 76 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Ip.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/IsFalse.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/IsNull.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/IsTrue.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Isbn.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/IsbnValidator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Isin.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Issn.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Json.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/JsonValidator.php | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Language.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Length.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Locale.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Luhn.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/NotBlank.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/NotCompromisedPassword.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/NotCompromisedPasswordValidator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/NotNull.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Range.php | 14 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/RangeValidator.php | 5 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Regex.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Sequentially.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Time.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/TimeValidator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Timezone.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/TimezoneValidator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Type.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Ulid.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Unique.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/UniqueValidator.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Url.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/UrlValidator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Uuid.php | 16 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/UuidValidator.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/Valid.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Constraints/ZeroComparisonConstraintTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Context/ExecutionContext.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Context/ExecutionContextFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Context/ExecutionContextInterface.php | 47 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/DataCollector/ValidatorDataCollector.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Mapping/ClassMetadata.php | 36 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Mapping/GetterMetadata.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Mapping/Loader/AnnotationLoader.php | 30 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Mapping/Loader/AutoMappingTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Mapping/Loader/PropertyInfoLoader.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/bin/sync-iban-formats.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.af.xlf | 104 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.ar.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.az.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.be.xlf | 98 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.bg.xlf | 108 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.bs.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.ca.xlf | 128 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.cs.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.cy.xlf | 172 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.da.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.de.xlf | 92 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.el.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.en.xlf | 74 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.es.xlf | 110 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.et.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.eu.xlf | 102 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.fa.xlf | 108 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.fi.xlf | 190 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.fr.xlf | 98 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.gl.xlf | 98 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.he.xlf | 102 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.hr.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.hu.xlf | 114 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.hy.xlf | 114 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.id.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.it.xlf | 98 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.ja.xlf | 94 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.lb.xlf | 114 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.lt.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.lv.xlf | 132 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.mk.xlf | 471 + symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.mn.xlf | 114 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.my.xlf | 112 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.nb.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.nl.xlf | 122 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.nn.xlf | 102 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.no.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.pl.xlf | 98 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.pt.xlf | 132 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.pt_BR.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.ro.xlf | 104 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.ru.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.sk.xlf | 102 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.sl.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.sq.xlf | 183 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.sr_Cyrl.xlf | 158 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.sr_Latn.xlf | 216 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.sv.xlf | 130 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.th.xlf | 102 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.tl.xlf | 110 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.tr.xlf | 130 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.uk.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.ur.xlf | 100 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.uz.xlf | 116 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.vi.xlf | 126 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.zh_CN.xlf | 110 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Resources/translations/validators.zh_TW.xlf | 292 - symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Test/ConstraintValidatorTestCase.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Command/DebugCommandTest.php | 256 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/ConstraintValidatorTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php | 30 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/AtLeastOneOfValidatorTest.php | 34 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/BicValidatorTest.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/CardSchemeValidatorTest.php | 30 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/ChoiceValidatorTest.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/CidrValidatorTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/CollectionTest.php | 106 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/CssColorValidatorTest.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/DateValidatorTest.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/DivisibleByValidatorTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/EmailTest.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/EqualToValidatorTest.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/FileTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTestCase.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/Fixtures/BicTypedDummy.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/Fixtures/MinMaxTyped.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/Fixtures/TypedDummy.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/GreaterThanOrEqualValidatorWithPositiveOrZeroConstraintTest.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/GreaterThanValidatorTest.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/GreaterThanValidatorWithPositiveConstraintTest.php | 24 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/IbanValidatorTest.php | 23 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/IdenticalToValidatorTest.php | 11 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/LessThanOrEqualValidatorTest.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/LessThanOrEqualValidatorWithNegativeOrZeroConstraintTest.php | 33 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/LessThanValidatorTest.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/LessThanValidatorWithNegativeConstraintTest.php | 29 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/NotEqualToValidatorTest.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/NotIdenticalToValidatorTest.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/RangeValidatorTest.php | 99 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/TimeValidatorTest.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/TimezoneValidatorTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/UniqueValidatorTest.php | 22 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/UrlValidatorTest.php | 33 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Constraints/UuidValidatorTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Dummy/DummyClassOne.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Dummy/DummyClassTwo.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Fixtures/Annotation/Entity.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Fixtures/Attribute/Entity.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Fixtures/CascadingEntityIntersection.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Fixtures/CascadingEntityUnion.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Fixtures/CustomArrayObject.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Fixtures/NestedAttribute/Entity.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/IcuCompatibilityTrait.php | 30 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php | 84 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Mapping/Loader/AnnotationLoaderTest.php | 13 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Mapping/Loader/FilesLoaderTest.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/Tests/Mapping/Loader/PropertyInfoLoaderTest.php | 15 symfony-5.4.52+dfsg/src/Symfony/Component/Validator/composer.json | 10 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Caster/Caster.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Caster/ClassStub.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Caster/DOMCaster.php | 9 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Caster/DateCaster.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Caster/ExceptionCaster.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Caster/LinkStub.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Caster/ReflectionCaster.php | 18 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Caster/SplCaster.php | 7 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Caster/TraceStub.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Cloner/AbstractCloner.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Dumper/AbstractDumper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Dumper/CliDumper.php | 38 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Dumper/ContextProvider/SourceContextProvider.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Dumper/HtmlDumper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Dumper/ServerDumper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Server/DumpServer.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Test/VarDumperTestTrait.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Caster/DateCasterTest.php | 76 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Caster/MysqliCasterTest.php | 1 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Caster/PdoCasterTest.php | 24 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Caster/ReflectionCasterTest.php | 115 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Caster/SplCasterTest.php | 12 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Caster/StubCasterTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Command/Descriptor/HtmlDescriptorTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Dumper/CliDumperTest.php | 52 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Dumper/HtmlDumperTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Dumper/functions/dump_data_collector_with_spl_array.phpt | 69 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Fixtures/FooInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Fixtures/Twig.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/Tests/Fixtures/dumb-var.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/VarDumper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/composer.json | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarDumper/phpunit.xml.dist | 1 symfony-5.4.52+dfsg/src/Symfony/Component/VarExporter/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/VarExporter/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/VarExporter/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/VarExporter/Exception/ClassNotFoundException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarExporter/Exception/NotInstantiableTypeException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/VarExporter/Internal/Exporter.php | 21 symfony-5.4.52+dfsg/src/Symfony/Component/VarExporter/Tests/Fixtures/__serialize-but-no-__unserialize.php | 17 symfony-5.4.52+dfsg/src/Symfony/Component/VarExporter/Tests/Fixtures/var-on-sleep.php | 8 symfony-5.4.52+dfsg/src/Symfony/Component/VarExporter/Tests/VarExporterTest.php | 25 symfony-5.4.52+dfsg/src/Symfony/Component/VarExporter/VarExporter.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/WebLink/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/WebLink/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/WebLink/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/WebLink/Link.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Definition.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Dumper/DumperInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Dumper/GraphvizDumper.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Dumper/MermaidDumper.php | 10 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Dumper/PlantUmlDumper.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Dumper/StateMachineGraphvizDumper.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Event/Event.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Event/GuardEvent.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/EventListener/GuardListener.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Metadata/InMemoryMetadataStore.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Registry.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/StateMachine.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Tests/Dumper/MermaidDumperTest.php | 249 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Tests/EventListener/GuardListenerTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Tests/MarkingStore/MethodMarkingStoreTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Tests/Validator/StateMachineValidatorTest.php | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/TransitionBlocker.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/Workflow.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Workflow/composer.json | 1 symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/.gitattributes | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/CHANGELOG.md | 3 symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/Command/LintCommand.php | 4 symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/Exception/ParseException.php | 2 symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/Inline.php | 364 - symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/Parser.php | 80 symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/ParserState.php | 72 symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/Tests/InlineTest.php | 19 symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/Tests/ParserTest.php | 171 symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/Tests/YamlTest.php | 32 symfony-5.4.52+dfsg/src/Symfony/Component/Yaml/Yaml.php | 21 symfony-5.4.52+dfsg/src/Symfony/Contracts/.gitattributes | 1 symfony-5.4.52+dfsg/src/Symfony/Contracts/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Contracts/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Contracts/Cache/.gitattributes | 1 symfony-5.4.52+dfsg/src/Symfony/Contracts/Cache/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Contracts/Cache/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Contracts/Cache/CacheInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Contracts/Cache/CacheTrait.php | 4 symfony-5.4.52+dfsg/src/Symfony/Contracts/Deprecation/.gitattributes | 1 symfony-5.4.52+dfsg/src/Symfony/Contracts/Deprecation/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Contracts/Deprecation/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Contracts/EventDispatcher/.gitattributes | 1 symfony-5.4.52+dfsg/src/Symfony/Contracts/EventDispatcher/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Contracts/EventDispatcher/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Contracts/EventDispatcher/EventDispatcherInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Contracts/HttpClient/.gitattributes | 1 symfony-5.4.52+dfsg/src/Symfony/Contracts/HttpClient/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Contracts/HttpClient/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Contracts/HttpClient/HttpClientInterface.php | 8 symfony-5.4.52+dfsg/src/Symfony/Contracts/HttpClient/ResponseInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Contracts/HttpClient/Test/Fixtures/web/index.php | 37 symfony-5.4.52+dfsg/src/Symfony/Contracts/HttpClient/Test/HttpClientTestCase.php | 51 symfony-5.4.52+dfsg/src/Symfony/Contracts/HttpClient/Test/TestHttpServer.php | 18 symfony-5.4.52+dfsg/src/Symfony/Contracts/Service/.gitattributes | 1 symfony-5.4.52+dfsg/src/Symfony/Contracts/Service/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Contracts/Service/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Contracts/Translation/.gitattributes | 1 symfony-5.4.52+dfsg/src/Symfony/Contracts/Translation/.github/PULL_REQUEST_TEMPLATE.md | 8 symfony-5.4.52+dfsg/src/Symfony/Contracts/Translation/.github/workflows/close-pull-request.yml | 20 symfony-5.4.52+dfsg/src/Symfony/Contracts/Translation/Test/TranslatorTest.php | 6 symfony-5.4.52+dfsg/src/Symfony/Contracts/Translation/TranslatableInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Contracts/Translation/TranslatorInterface.php | 2 symfony-5.4.52+dfsg/src/Symfony/Contracts/Translation/TranslatorTrait.php | 2 3786 files changed, 113437 insertions(+), 82859 deletions(-) dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpe4r3iijw/symfony_5.4.23+dfsg-1+deb12u5.dsc: no acceptable signature found dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpe4r3iijw/symfony_5.4.52+dfsg-0+deb12u1.dsc: no acceptable signature found diff -Nru symfony-5.4.23+dfsg/.appveyor.yml symfony-5.4.52+dfsg/.appveyor.yml --- symfony-5.4.23+dfsg/.appveyor.yml 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/.appveyor.yml 1970-01-01 00:00:00.000000000 +0000 @@ -1,69 +0,0 @@ -build: false -clone_depth: 2 -clone_folder: c:\projects\symfony - -init: - - SET PATH=c:\php;%PATH% - - SET COMPOSER_NO_INTERACTION=1 - - SET SYMFONY_DEPRECATIONS_HELPER=strict - - SET ANSICON=121x90 (121x90) - - SET SYMFONY_PHPUNIT_DISABLE_RESULT_CACHE=1 - - REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v DelayedExpansion /t REG_DWORD /d 1 /f - -install: - - mkdir c:\php && cd c:\php - - appveyor DownloadFile https://github.com/symfony/binary-utils/releases/download/v0.1/php-7.2.5-Win32-VC15-x86.zip - - 7z x php-7.2.5-Win32-VC15-x86.zip -y >nul - - cd ext - - appveyor DownloadFile https://github.com/symfony/binary-utils/releases/download/v0.1/php_apcu-5.1.19-7.2-ts-vc15-x86.zip - - 7z x php_apcu-5.1.19-7.2-ts-vc15-x86.zip -y >nul - - appveyor DownloadFile https://github.com/symfony/binary-utils/releases/download/v0.1/php_redis-5.3.2-7.2-ts-vc15-x86.zip - - 7z x php_redis-5.3.2-7.2-ts-vc15-x86.zip -y >nul - - cd .. - - copy /Y php.ini-development php.ini-min - - echo memory_limit=-1 >> php.ini-min - - echo serialize_precision=-1 >> php.ini-min - - echo max_execution_time=1200 >> php.ini-min - - echo post_max_size=4G >> php.ini-min - - echo upload_max_filesize=4G >> php.ini-min - - echo date.timezone="America/Los_Angeles" >> php.ini-min - - echo extension_dir=ext >> php.ini-min - - echo extension=php_xsl.dll >> php.ini-min - - copy /Y php.ini-min php.ini-max - - echo zend_extension=php_opcache.dll >> php.ini-max - - echo opcache.enable_cli=1 >> php.ini-max - - echo extension=php_openssl.dll >> php.ini-max - - echo extension=php_apcu.dll >> php.ini-max - - echo extension=php_redis.dll >> php.ini-max - - echo apc.enable_cli=1 >> php.ini-max - - echo extension=php_intl.dll >> php.ini-max - - echo extension=php_mbstring.dll >> php.ini-max - - echo extension=php_fileinfo.dll >> php.ini-max - - echo extension=php_pdo_sqlite.dll >> php.ini-max - - echo extension=php_curl.dll >> php.ini-max - - echo extension=php_sodium.dll >> php.ini-max - - copy /Y php.ini-max php.ini - - cd c:\projects\symfony - - appveyor DownloadFile https://getcomposer.org/download/latest-stable/composer.phar - - mkdir %APPDATA%\Composer && copy /Y .github\composer-config.json %APPDATA%\Composer\config.json - - git config --global user.email "" - - git config --global user.name "Symfony" - - FOR /F "tokens=* USEBACKQ" %%F IN (`bash -c "grep ' VERSION = ' src/Symfony/Component/HttpKernel/Kernel.php | grep -o '[0-9][0-9]*\.[0-9]'"`) DO (SET SYMFONY_VERSION=%%F) - - php .github/build-packages.php HEAD^ %SYMFONY_VERSION% src\Symfony\Bridge\PhpUnit - - SET COMPOSER_ROOT_VERSION=%SYMFONY_VERSION%.x-dev - - php composer.phar update --no-progress --ansi - - php phpunit install - - choco install memurai-developer - -test_script: - - SET X=0 - - SET SYMFONY_PHPUNIT_SKIPPED_TESTS=phpunit.skipped - - copy /Y c:\php\php.ini-min c:\php\php.ini - - IF %APPVEYOR_REPO_BRANCH:~-2% neq .x (rm -Rf src\Symfony\Bridge\PhpUnit) - - mv src\Symfony\Component\HttpClient\phpunit.xml.dist src\Symfony\Component\HttpClient\phpunit.xml - - php phpunit src\Symfony --exclude-group tty,benchmark,intl-data,network,transient-on-windows || SET X=!errorlevel! - - php phpunit src\Symfony\Component\HttpClient || SET X=!errorlevel! - - copy /Y c:\php\php.ini-max c:\php\php.ini - - php phpunit src\Symfony --exclude-group tty,benchmark,intl-data,network,transient-on-windows || SET X=!errorlevel! - - php phpunit src\Symfony\Component\HttpClient || SET X=!errorlevel! - - exit %X% diff -Nru symfony-5.4.23+dfsg/.git-blame-ignore-revs symfony-5.4.52+dfsg/.git-blame-ignore-revs --- symfony-5.4.23+dfsg/.git-blame-ignore-revs 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/.git-blame-ignore-revs 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,2 @@ +# Apply php-cs-fixer fix --rules nullable_type_declaration_for_default_null_value +f4118e110a46de3ffb799e7d79bf15128d1646ea diff -Nru symfony-5.4.23+dfsg/.gitattributes symfony-5.4.52+dfsg/.gitattributes --- symfony-5.4.23+dfsg/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -4,3 +4,7 @@ /src/Symfony/Component/Messenger/Bridge export-ignore /src/Symfony/Component/Notifier/Bridge export-ignore /src/Symfony/Component/Runtime export-ignore +/src/Symfony/Component/Translation/Bridge export-ignore +/src/Symfony/Component/Intl/Resources/data/*/* linguist-generated=true +/src/Symfony/**/.github/workflows/close-pull-request.yml linguist-generated=true +/src/Symfony/**/.github/PULL_REQUEST_TEMPLATE.md linguist-generated=true diff -Nru symfony-5.4.23+dfsg/.github/CODEOWNERS symfony-5.4.52+dfsg/.github/CODEOWNERS --- symfony-5.4.23+dfsg/.github/CODEOWNERS 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/.github/CODEOWNERS 2026-05-20 08:22:01.000000000 +0000 @@ -38,10 +38,10 @@ # Serializer /src/Symfony/Component/Serializer/ @dunglas # Security -/src/Symfony/Bridge/Doctrine/Security/ @wouterj @chalasr -/src/Symfony/Bundle/SecurityBundle/ @wouterj @chalasr -/src/Symfony/Component/Security/ @wouterj @chalasr -/src/Symfony/Component/Ldap/Security/ @wouterj @chalasr +/src/Symfony/Bridge/Doctrine/Security/ @chalasr +/src/Symfony/Bundle/SecurityBundle/ @chalasr +/src/Symfony/Component/Security/ @chalasr +/src/Symfony/Component/Ldap/Security/ @chalasr # TwigBundle /src/Symfony/Bundle/TwigBundle/ @yceruto # WebLink diff -Nru symfony-5.4.23+dfsg/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/.github/PULL_REQUEST_TEMPLATE.md 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -1,14 +1,14 @@ | Q | A | ------------- | --- -| Branch? | 6.3 for features / 5.4 or 6.2 for bug fixes +| Branch? | 7.3 for features / 5.4, 6.4, 7.1, and 7.2 for bug fixes | Bug fix? | yes/no | New feature? | yes/no | Deprecations? | yes/no -| Tickets | Fix #... +| Issues | Fix #... | License | MIT -| Doc PR | symfony/symfony-docs#... + + + + + + + + + + diff -Nru symfony-5.4.23+dfsg/splitsh.json symfony-5.4.52+dfsg/splitsh.json --- symfony-5.4.23+dfsg/splitsh.json 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/splitsh.json 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,140 @@ +{ + "subtrees": { + "doctrine-bridge": "src/Symfony/Bridge/Doctrine", + "monolog-bridge": "src/Symfony/Bridge/Monolog", + "phpunit-bridge": "src/Symfony/Bridge/PhpUnit", + "proxy-manager-bridge": "src/Symfony/Bridge/ProxyManager", + "twig-bridge": "src/Symfony/Bridge/Twig", + "debug-bundle": "src/Symfony/Bundle/DebugBundle", + "framework-bundle": "src/Symfony/Bundle/FrameworkBundle", + "security-bundle": "src/Symfony/Bundle/SecurityBundle", + "twig-bundle": "src/Symfony/Bundle/TwigBundle", + "web-profiler-bundle": "src/Symfony/Bundle/WebProfilerBundle", + "asset": "src/Symfony/Component/Asset", + "browser-kit": "src/Symfony/Component/BrowserKit", + "cache": "src/Symfony/Component/Cache", + "config": "src/Symfony/Component/Config", + "console": "src/Symfony/Component/Console", + "css-selector": "src/Symfony/Component/CssSelector", + "dependency-injection": "src/Symfony/Component/DependencyInjection", + "dom-crawler": "src/Symfony/Component/DomCrawler", + "dotenv": "src/Symfony/Component/Dotenv", + "error-handler": "src/Symfony/Component/ErrorHandler", + "event-dispatcher": "src/Symfony/Component/EventDispatcher", + "expression-language": "src/Symfony/Component/ExpressionLanguage", + "filesystem": "src/Symfony/Component/Filesystem", + "finder": "src/Symfony/Component/Finder", + "form": "src/Symfony/Component/Form", + "http-client": "src/Symfony/Component/HttpClient", + "http-foundation": "src/Symfony/Component/HttpFoundation", + "http-kernel": "src/Symfony/Component/HttpKernel", + "inflector": "src/Symfony/Component/Inflector", + "intl": "src/Symfony/Component/Intl", + "ldap": "src/Symfony/Component/Ldap", + "lock": { + "prefixes": [{ "from": "src/Symfony/Component/Lock", "to": "", "excludes": ["Bridge"] }] + }, + "mailer": { + "prefixes": [{ "from": "src/Symfony/Component/Mailer", "to": "", "excludes": ["Bridge"] }] + }, + "amazon-mailer": "src/Symfony/Component/Mailer/Bridge/Amazon", + "google-mailer": "src/Symfony/Component/Mailer/Bridge/Google", + "mailchimp-mailer": "src/Symfony/Component/Mailer/Bridge/Mailchimp", + "mailgun-mailer": "src/Symfony/Component/Mailer/Bridge/Mailgun", + "mailjet-mailer": "src/Symfony/Component/Mailer/Bridge/Mailjet", + "oh-my-smtp-mailer": "src/Symfony/Component/Mailer/Bridge/OhMySmtp", + "postmark-mailer": "src/Symfony/Component/Mailer/Bridge/Postmark", + "sendgrid-mailer": "src/Symfony/Component/Mailer/Bridge/Sendgrid", + "sendinblue-mailer": "src/Symfony/Component/Mailer/Bridge/Sendinblue", + "messenger": { + "prefixes": [{ "from": "src/Symfony/Component/Messenger", "to": "", "excludes": ["Bridge"] }] + }, + "amazon-sqs-messenger": "src/Symfony/Component/Messenger/Bridge/AmazonSqs", + "amqp-messenger": "src/Symfony/Component/Messenger/Bridge/Amqp", + "beanstalkd-messenger": "src/Symfony/Component/Messenger/Bridge/Beanstalkd", + "doctrine-messenger": "src/Symfony/Component/Messenger/Bridge/Doctrine", + "redis-messenger": "src/Symfony/Component/Messenger/Bridge/Redis", + "mime": "src/Symfony/Component/Mime", + "notifier": { + "prefixes": [{ "from": "src/Symfony/Component/Notifier", "to": "", "excludes": ["Bridge"] }] + }, + "all-my-sms-notifier": "src/Symfony/Component/Notifier/Bridge/AllMySms", + "amazon-sns-notifier": "src/Symfony/Component/Notifier/Bridge/AmazonSns", + "clickatell-notifier": "src/Symfony/Component/Notifier/Bridge/Clickatell", + "discord-notifier": "src/Symfony/Component/Notifier/Bridge/Discord", + "esendex-notifier": "src/Symfony/Component/Notifier/Bridge/Esendex", + "expo-notifier": "src/Symfony/Component/Notifier/Bridge/Expo", + "fake-chat-notifier": "src/Symfony/Component/Notifier/Bridge/FakeChat", + "fake-sms-notifier": "src/Symfony/Component/Notifier/Bridge/FakeSms", + "firebase-notifier": "src/Symfony/Component/Notifier/Bridge/Firebase", + "free-mobile-notifier": "src/Symfony/Component/Notifier/Bridge/FreeMobile", + "gateway-api-notifier": "src/Symfony/Component/Notifier/Bridge/GatewayApi", + "gitter-notifier": "src/Symfony/Component/Notifier/Bridge/Gitter", + "google-chat-notifier": "src/Symfony/Component/Notifier/Bridge/GoogleChat", + "infobip-notifier": "src/Symfony/Component/Notifier/Bridge/Infobip", + "iqsms-notifier": "src/Symfony/Component/Notifier/Bridge/Iqsms", + "light-sms-notifier": "src/Symfony/Component/Notifier/Bridge/LightSms", + "linked-in-notifier": "src/Symfony/Component/Notifier/Bridge/LinkedIn", + "mailjet-notifier": "src/Symfony/Component/Notifier/Bridge/Mailjet", + "mattermost-notifier": "src/Symfony/Component/Notifier/Bridge/Mattermost", + "mercure-notifier": "src/Symfony/Component/Notifier/Bridge/Mercure", + "message-bird-notifier": "src/Symfony/Component/Notifier/Bridge/MessageBird", + "message-media-notifier": "src/Symfony/Component/Notifier/Bridge/MessageMedia", + "microsoft-teams-notifier": "src/Symfony/Component/Notifier/Bridge/MicrosoftTeams", + "mobyt-notifier": "src/Symfony/Component/Notifier/Bridge/Mobyt", + "nexmo-notifier": "src/Symfony/Component/Notifier/Bridge/Nexmo", + "octopush-notifier": "src/Symfony/Component/Notifier/Bridge/Octopush", + "one-signal-notifier": "src/Symfony/Component/Notifier/Bridge/OneSignal", + "ovh-cloud-notifier": "src/Symfony/Component/Notifier/Bridge/OvhCloud", + "rocket-chat-notifier": "src/Symfony/Component/Notifier/Bridge/RocketChat", + "sendinblue-notifier": "src/Symfony/Component/Notifier/Bridge/Sendinblue", + "sinch-notifier": "src/Symfony/Component/Notifier/Bridge/Sinch", + "slack-notifier": "src/Symfony/Component/Notifier/Bridge/Slack", + "sms77-notifier": "src/Symfony/Component/Notifier/Bridge/Sms77", + "sms-biuras-notifier": "src/Symfony/Component/Notifier/Bridge/SmsBiuras", + "smsapi-notifier": "src/Symfony/Component/Notifier/Bridge/Smsapi", + "smsc-notifier": "src/Symfony/Component/Notifier/Bridge/Smsc", + "spot-hit-notifier": "src/Symfony/Component/Notifier/Bridge/SpotHit", + "telegram-notifier": "src/Symfony/Component/Notifier/Bridge/Telegram", + "telnyx-notifier": "src/Symfony/Component/Notifier/Bridge/Telnyx", + "turbo-sms-notifier": "src/Symfony/Component/Notifier/Bridge/TurboSms", + "twilio-notifier": "src/Symfony/Component/Notifier/Bridge/Twilio", + "vonage-notifier": "src/Symfony/Component/Notifier/Bridge/Vonage", + "yunpian-notifier": "src/Symfony/Component/Notifier/Bridge/Yunpian", + "zulip-notifier": "src/Symfony/Component/Notifier/Bridge/Zulip", + "options-resolver": "src/Symfony/Component/OptionsResolver", + "password-hasher": "src/Symfony/Component/PasswordHasher", + "process": "src/Symfony/Component/Process", + "property-access": "src/Symfony/Component/PropertyAccess", + "property-info": "src/Symfony/Component/PropertyInfo", + "rate-limiter": "src/Symfony/Component/RateLimiter", + "routing": "src/Symfony/Component/Routing", + "runtime": "src/Symfony/Component/Runtime", + "security-core": "src/Symfony/Component/Security/Core", + "security-csrf": "src/Symfony/Component/Security/Csrf", + "security-guard": "src/Symfony/Component/Security/Guard", + "security-http": "src/Symfony/Component/Security/Http", + "semaphore": "src/Symfony/Component/Semaphore", + "serializer": "src/Symfony/Component/Serializer", + "stopwatch": "src/Symfony/Component/Stopwatch", + "string": "src/Symfony/Component/String", + "templating": "src/Symfony/Component/Templating", + "translation": { + "prefixes": [{ "from": "src/Symfony/Component/Translation", "to": "", "excludes": ["Bridge"] }] + }, + "crowdin-translation-provider": "src/Symfony/Component/Translation/Bridge/Crowdin", + "loco-translation-provider": "src/Symfony/Component/Translation/Bridge/Loco", + "lokalise-translation-provider": "src/Symfony/Component/Translation/Bridge/Lokalise", + "uid": "src/Symfony/Component/Uid", + "validator": "src/Symfony/Component/Validator", + "var-dumper": "src/Symfony/Component/VarDumper", + "var-exporter": "src/Symfony/Component/VarExporter", + "web-link": "src/Symfony/Component/WebLink", + "workflow": "src/Symfony/Component/Workflow", + "yaml": "src/Symfony/Component/Yaml", + "contracts": "src/Symfony/Contracts" + }, + "defaults": { + "git_constraint": "<1.8.2" + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/ContainerAwareEventManager.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/ContainerAwareEventManager.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/ContainerAwareEventManager.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/ContainerAwareEventManager.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,6 +32,7 @@ private $subscribers; private $initialized = []; private $initializedSubscribers = false; + private $initializedHashMapping = []; private $methods = []; private $container; @@ -49,7 +50,7 @@ * * @return void */ - public function dispatchEvent($eventName, EventArgs $eventArgs = null) + public function dispatchEvent($eventName, ?EventArgs $eventArgs = null) { if (!$this->initializedSubscribers) { $this->initializeSubscribers(); @@ -138,6 +139,7 @@ if (\is_string($listener)) { unset($this->initialized[$event]); + unset($this->initializedHashMapping[$event][$hash]); } else { $this->methods[$event][$hash] = $this->getMethod($listener, $event); } @@ -158,6 +160,11 @@ $hash = $this->getHash($listener); foreach ((array) $events as $event) { + if (isset($this->initializedHashMapping[$event][$hash])) { + $hash = $this->initializedHashMapping[$event][$hash]; + unset($this->initializedHashMapping[$event][$hash]); + } + // Check if we actually have this listener associated if (isset($this->listeners[$event][$hash])) { unset($this->listeners[$event][$hash]); @@ -190,13 +197,25 @@ private function initializeListeners(string $eventName) { $this->initialized[$eventName] = true; + + // We'll refill the whole array in order to keep the same order + $listeners = []; foreach ($this->listeners[$eventName] as $hash => $listener) { if (\is_string($listener)) { - $this->listeners[$eventName][$hash] = $listener = $this->container->get($listener); + $listener = $this->container->get($listener); + $newHash = $this->getHash($listener); + + $this->initializedHashMapping[$eventName][$hash] = $newHash; - $this->methods[$eventName][$hash] = $this->getMethod($listener, $eventName); + $listeners[$newHash] = $listener; + + $this->methods[$eventName][$newHash] = $this->getMethod($listener, $eventName); + } else { + $listeners[$hash] = $listener; } } + + $this->listeners[$eventName] = $listeners; } private function initializeSubscribers() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -39,7 +39,7 @@ */ private $loggers = []; - public function __construct(ManagerRegistry $registry, DebugDataHolder $debugDataHolder = null) + public function __construct(ManagerRegistry $registry, ?DebugDataHolder $debugDataHolder = null) { $this->registry = $registry; $this->connections = $registry->getConnectionNames(); @@ -58,7 +58,7 @@ /** * {@inheritdoc} */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { $this->data = [ 'queries' => $this->collectQueries(), diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/DataFixtures/AddFixtureImplementation.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/DataFixtures/AddFixtureImplementation.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/DataFixtures/AddFixtureImplementation.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/DataFixtures/AddFixtureImplementation.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,35 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bridge\Doctrine\DataFixtures; + +use Doctrine\Common\DataFixtures\FixtureInterface; +use Doctrine\Common\DataFixtures\ReferenceRepository; + +if (method_exists(ReferenceRepository::class, 'getReferences')) { + /** @internal */ + trait AddFixtureImplementation + { + public function addFixture(FixtureInterface $fixture) + { + $this->doAddFixture($fixture); + } + } +} else { + /** @internal */ + trait AddFixtureImplementation + { + public function addFixture(FixtureInterface $fixture): void + { + $this->doAddFixture($fixture); + } + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/DataFixtures/ContainerAwareLoader.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/DataFixtures/ContainerAwareLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/DataFixtures/ContainerAwareLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/DataFixtures/ContainerAwareLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,6 +25,8 @@ */ class ContainerAwareLoader extends Loader { + use AddFixtureImplementation; + private $container; public function __construct(ContainerInterface $container) @@ -32,10 +34,7 @@ $this->container = $container; } - /** - * {@inheritdoc} - */ - public function addFixture(FixtureInterface $fixture) + private function doAddFixture(FixtureInterface $fixture): void { if ($fixture instanceof ContainerAwareInterface) { $fixture->setContainer($this->container); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -220,7 +220,9 @@ ]); } $mappingDriverDef->setPublic(false); - if (str_contains($mappingDriverDef->getClass(), 'yml') || str_contains($mappingDriverDef->getClass(), 'xml')) { + if (str_contains($mappingDriverDef->getClass(), 'yml') || str_contains($mappingDriverDef->getClass(), 'xml') + || str_contains($mappingDriverDef->getClass(), 'Yaml') || str_contains($mappingDriverDef->getClass(), 'Xml') + ) { $mappingDriverDef->setArguments([array_flip($driverPaths)]); $mappingDriverDef->addMethodCall('setGlobalBasename', ['mapping']); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/DoctrineChoiceLoader.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/DoctrineChoiceLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/DoctrineChoiceLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/DoctrineChoiceLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -35,12 +35,12 @@ * * @param string $class The class name of the loaded objects */ - public function __construct(ObjectManager $manager, string $class, IdReader $idReader = null, EntityLoaderInterface $objectLoader = null) + public function __construct(ObjectManager $manager, string $class, ?IdReader $idReader = null, ?EntityLoaderInterface $objectLoader = null) { $classMetadata = $manager->getClassMetadata($class); if ($idReader && !$idReader->isSingleId()) { - throw new \InvalidArgumentException(sprintf('The second argument `$idReader` of "%s" must be null when the query cannot be optimized because of composite id fields.', __METHOD__)); + throw new \InvalidArgumentException(sprintf('The `$idReader` argument of "%s" must be null when the query cannot be optimized because of composite id fields.', __METHOD__)); } $this->manager = $manager; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/IdReader.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/IdReader.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/IdReader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/IdReader.php 2026-05-20 08:22:01.000000000 +0000 @@ -78,7 +78,7 @@ * * This method assumes that the object has a single-column ID. */ - public function getIdValue(object $object = null): string + public function getIdValue(?object $object = null): string { if (!$object) { return ''; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,6 +11,7 @@ namespace Symfony\Bridge\Doctrine\Form\ChoiceList; +use Doctrine\DBAL\ArrayParameterType; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Types\ConversionException; use Doctrine\DBAL\Types\Type; @@ -78,7 +79,7 @@ $entity = current($qb->getRootEntities()); $metadata = $qb->getEntityManager()->getClassMetadata($entity); if (\in_array($type = $metadata->getTypeOfField($identifier), ['integer', 'bigint', 'smallint'])) { - $parameterType = Connection::PARAM_INT_ARRAY; + $parameterType = class_exists(ArrayParameterType::class) ? ArrayParameterType::INTEGER : Connection::PARAM_INT_ARRAY; // Filter out non-integer values (e.g. ""). If we don't, some // databases such as PostgreSQL fail. @@ -86,7 +87,7 @@ return (string) $v === (string) (int) $v || ctype_digit($v); })); } elseif (\in_array($type, ['ulid', 'uuid', 'guid'])) { - $parameterType = Connection::PARAM_STR_ARRAY; + $parameterType = class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY; // Like above, but we just filter out empty strings. $values = array_values(array_filter($values, function ($v) { @@ -107,7 +108,7 @@ unset($value); } } else { - $parameterType = Connection::PARAM_STR_ARRAY; + $parameterType = class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY; } if (!$values) { return []; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,6 +13,8 @@ use Doctrine\DBAL\Types\Types; use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\FieldMapping; +use Doctrine\ORM\Mapping\JoinColumnMapping; use Doctrine\ORM\Mapping\MappingException as LegacyMappingException; use Doctrine\Persistence\ManagerRegistry; use Doctrine\Persistence\Mapping\MappingException; @@ -52,7 +54,7 @@ } switch ($metadata->getTypeOfField($property)) { - case Types::ARRAY: + case 'array': // DBAL < 4 case Types::SIMPLE_ARRAY: return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CollectionType', [], Guess::MEDIUM_CONFIDENCE); case Types::BOOLEAN: @@ -119,13 +121,13 @@ if ($classMetadata->isAssociationWithSingleJoinColumn($property)) { $mapping = $classMetadata->getAssociationMapping($property); - if (!isset($mapping['joinColumns'][0]['nullable'])) { + if (null === self::getMappingValue($mapping['joinColumns'][0], 'nullable')) { // The "nullable" option defaults to true, in that case the // field should not be required. return new ValueGuess(false, Guess::HIGH_CONFIDENCE); } - return new ValueGuess(!$mapping['joinColumns'][0]['nullable'], Guess::HIGH_CONFIDENCE); + return new ValueGuess(!self::getMappingValue($mapping['joinColumns'][0], 'nullable'), Guess::HIGH_CONFIDENCE); } return null; @@ -140,8 +142,10 @@ if ($ret && isset($ret[0]->fieldMappings[$property]) && !$ret[0]->hasAssociation($property)) { $mapping = $ret[0]->getFieldMapping($property); - if (isset($mapping['length'])) { - return new ValueGuess($mapping['length'], Guess::HIGH_CONFIDENCE); + $length = $mapping instanceof FieldMapping ? $mapping->length : ($mapping['length'] ?? null); + + if (null !== $length) { + return new ValueGuess($length, Guess::HIGH_CONFIDENCE); } if (\in_array($ret[0]->getTypeOfField($property), [Types::DECIMAL, Types::FLOAT])) { @@ -198,4 +202,18 @@ return substr($class, $pos + Proxy::MARKER_LENGTH + 2); } + + /** + * @param array|JoinColumnMapping $mapping + * + * @return mixed + */ + private static function getMappingValue($mapping, string $key) + { + if ($mapping instanceof JoinColumnMapping) { + return $mapping->$key ?? null; + } + + return $mapping[$key] ?? null; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/IdGenerator/UlidGenerator.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/IdGenerator/UlidGenerator.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/IdGenerator/UlidGenerator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/IdGenerator/UlidGenerator.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ { private $factory; - public function __construct(UlidFactory $factory = null) + public function __construct(?UlidFactory $factory = null) { $this->factory = $factory; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/IdGenerator/UuidGenerator.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/IdGenerator/UuidGenerator.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/IdGenerator/UuidGenerator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/IdGenerator/UuidGenerator.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ private $factory; private $entityGetter; - public function __construct(UuidFactory $factory = null) + public function __construct(?UuidFactory $factory = null) { $this->protoFactory = $this->factory = $factory ?? new UuidFactory(); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ protected $logger; protected $stopwatch; - public function __construct(LoggerInterface $logger = null, Stopwatch $stopwatch = null) + public function __construct(?LoggerInterface $logger = null, ?Stopwatch $stopwatch = null) { $this->logger = $logger; $this->stopwatch = $stopwatch; @@ -37,7 +37,7 @@ * * @return void */ - public function startQuery($sql, array $params = null, array $types = null) + public function startQuery($sql, ?array $params = null, ?array $types = null) { if (null !== $this->stopwatch) { $this->stopwatch->start('doctrine', 'doctrine'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/ManagerRegistry.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/ManagerRegistry.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/ManagerRegistry.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/ManagerRegistry.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,6 +16,7 @@ use ProxyManager\Proxy\LazyLoadingInterface; use Symfony\Bridge\ProxyManager\LazyProxy\Instantiator\RuntimeInstantiator; use Symfony\Component\DependencyInjection\Container; +use Symfony\Component\VarExporter\LazyObjectInterface; /** * References Doctrine connections and entity/document managers. @@ -51,6 +52,13 @@ } $manager = $this->container->get($name); + if ($manager instanceof LazyObjectInterface) { + if (!$manager->resetLazyObject()) { + throw new \LogicException(sprintf('Resetting a non-lazy manager service is not supported. Declare the "%s" service as lazy.', $name)); + } + + return; + } if (!$manager instanceof LazyLoadingInterface) { throw new \LogicException('Resetting a non-lazy manager service is not supported. '.(interface_exists(LazyLoadingInterface::class) && class_exists(RuntimeInstantiator::class) ? sprintf('Declare the "%s" service as lazy.', $name) : 'Try running "composer require symfony/proxy-manager-bridge".')); } @@ -64,6 +72,8 @@ } if (isset($this->fileMap[$name])) { $wrappedInstance = $this->load($this->fileMap[$name], false); + } elseif ((new \ReflectionMethod($this, $this->methodMap[$name]))->isStatic()) { + $wrappedInstance = $this->{$this->methodMap[$name]}($this, false); } else { $wrappedInstance = $this->{$this->methodMap[$name]}(false); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Messenger/AbstractDoctrineMiddleware.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Messenger/AbstractDoctrineMiddleware.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Messenger/AbstractDoctrineMiddleware.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Messenger/AbstractDoctrineMiddleware.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ protected $managerRegistry; protected $entityManagerName; - public function __construct(ManagerRegistry $managerRegistry, string $entityManagerName = null) + public function __construct(ManagerRegistry $managerRegistry, ?string $entityManagerName = null) { $this->managerRegistry = $managerRegistry; $this->entityManagerName = $entityManagerName; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Messenger/DoctrineOpenTransactionLoggerMiddleware.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Messenger/DoctrineOpenTransactionLoggerMiddleware.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Messenger/DoctrineOpenTransactionLoggerMiddleware.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Messenger/DoctrineOpenTransactionLoggerMiddleware.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,8 +26,10 @@ class DoctrineOpenTransactionLoggerMiddleware extends AbstractDoctrineMiddleware { private $logger; + /** @var bool */ + private $isHandling = false; - public function __construct(ManagerRegistry $managerRegistry, string $entityManagerName = null, LoggerInterface $logger = null) + public function __construct(ManagerRegistry $managerRegistry, ?string $entityManagerName = null, ?LoggerInterface $logger = null) { parent::__construct($managerRegistry, $entityManagerName); @@ -36,14 +38,22 @@ protected function handleForManager(EntityManagerInterface $entityManager, Envelope $envelope, StackInterface $stack): Envelope { + if ($this->isHandling) { + return $stack->next()->handle($envelope, $stack); + } + + $this->isHandling = true; + $initialTransactionLevel = $entityManager->getConnection()->getTransactionNestingLevel(); + try { return $stack->next()->handle($envelope, $stack); } finally { - if ($entityManager->getConnection()->isTransactionActive()) { + if ($entityManager->getConnection()->getTransactionNestingLevel() > $initialTransactionLevel) { $this->logger->error('A handler opened a transaction but did not close it.', [ 'message' => $envelope->getMessage(), ]); } + $this->isHandling = false; } } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Messenger/DoctrinePingConnectionMiddleware.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Messenger/DoctrinePingConnectionMiddleware.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Messenger/DoctrinePingConnectionMiddleware.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Messenger/DoctrinePingConnectionMiddleware.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,6 +11,7 @@ namespace Symfony\Bridge\Doctrine\Messenger; +use Doctrine\DBAL\Connection; use Doctrine\DBAL\Exception as DBALException; use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\Messenger\Envelope; @@ -33,19 +34,28 @@ return $stack->next()->handle($envelope, $stack); } - private function pingConnection(EntityManagerInterface $entityManager) + private function pingConnection(EntityManagerInterface $entityManager): void { $connection = $entityManager->getConnection(); try { - $connection->executeQuery($connection->getDatabasePlatform()->getDummySelectSQL()); + $this->executeDummySql($connection); } catch (DBALException $e) { $connection->close(); - $connection->connect(); + // Attempt to reestablish the lazy connection by sending another query. + $this->executeDummySql($connection); } if (!$entityManager->isOpen()) { $this->managerRegistry->resetManager($this->entityManagerName); } } + + /** + * @throws DBALException + */ + private function executeDummySql(Connection $connection): void + { + $connection->executeQuery($connection->getDatabasePlatform()->getDummySelectSQL()); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Connection.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Connection.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Connection.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Connection.php 2026-05-20 08:22:01.000000000 +0000 @@ -14,31 +14,26 @@ use Doctrine\DBAL\Driver\Connection as ConnectionInterface; use Doctrine\DBAL\Driver\Middleware\AbstractConnectionMiddleware; use Doctrine\DBAL\Driver\Result; -use Doctrine\DBAL\Driver\Statement as DriverStatement; use Symfony\Component\Stopwatch\Stopwatch; /** * @author Laurent VOULLEMIER + * @author Alexander M. Turek * * @internal */ final class Connection extends AbstractConnectionMiddleware { - private $nestingLevel = 0; - private $debugDataHolder; - private $stopwatch; - private $connectionName; - - public function __construct(ConnectionInterface $connection, DebugDataHolder $debugDataHolder, ?Stopwatch $stopwatch, string $connectionName) - { + public function __construct( + ConnectionInterface $connection, + private DebugDataHolder $debugDataHolder, + private ?Stopwatch $stopwatch, + private string $connectionName, + ) { parent::__construct($connection); - - $this->debugDataHolder = $debugDataHolder; - $this->stopwatch = $stopwatch; - $this->connectionName = $connectionName; } - public function prepare(string $sql): DriverStatement + public function prepare(string $sql): Statement { return new Statement( parent::prepare($sql), @@ -53,135 +48,79 @@ { $this->debugDataHolder->addQuery($this->connectionName, $query = new Query($sql)); - if (null !== $this->stopwatch) { - $this->stopwatch->start('doctrine', 'doctrine'); - } - + $this->stopwatch?->start('doctrine', 'doctrine'); $query->start(); try { - $result = parent::query($sql); + return parent::query($sql); } finally { $query->stop(); - - if (null !== $this->stopwatch) { - $this->stopwatch->stop('doctrine'); - } + $this->stopwatch?->stop('doctrine'); } - - return $result; } public function exec(string $sql): int { $this->debugDataHolder->addQuery($this->connectionName, $query = new Query($sql)); - if (null !== $this->stopwatch) { - $this->stopwatch->start('doctrine', 'doctrine'); - } - + $this->stopwatch?->start('doctrine', 'doctrine'); $query->start(); try { $affectedRows = parent::exec($sql); } finally { $query->stop(); - - if (null !== $this->stopwatch) { - $this->stopwatch->stop('doctrine'); - } + $this->stopwatch?->stop('doctrine'); } return $affectedRows; } - public function beginTransaction(): bool + public function beginTransaction(): void { - $query = null; - if (1 === ++$this->nestingLevel) { - $this->debugDataHolder->addQuery($this->connectionName, $query = new Query('"START TRANSACTION"')); - } - - if (null !== $this->stopwatch) { - $this->stopwatch->start('doctrine', 'doctrine'); - } + $query = new Query('"START TRANSACTION"'); + $this->debugDataHolder->addQuery($this->connectionName, $query); - if (null !== $query) { - $query->start(); - } + $this->stopwatch?->start('doctrine', 'doctrine'); + $query->start(); try { - $ret = parent::beginTransaction(); + parent::beginTransaction(); } finally { - if (null !== $query) { - $query->stop(); - } - - if (null !== $this->stopwatch) { - $this->stopwatch->stop('doctrine'); - } + $query->stop(); + $this->stopwatch?->stop('doctrine'); } - - return $ret; } - public function commit(): bool + public function commit(): void { - $query = null; - if (1 === $this->nestingLevel--) { - $this->debugDataHolder->addQuery($this->connectionName, $query = new Query('"COMMIT"')); - } - - if (null !== $this->stopwatch) { - $this->stopwatch->start('doctrine', 'doctrine'); - } + $query = new Query('"COMMIT"'); + $this->debugDataHolder->addQuery($this->connectionName, $query); - if (null !== $query) { - $query->start(); - } + $this->stopwatch?->start('doctrine', 'doctrine'); + $query->start(); try { - $ret = parent::commit(); + parent::commit(); } finally { - if (null !== $query) { - $query->stop(); - } - - if (null !== $this->stopwatch) { - $this->stopwatch->stop('doctrine'); - } + $query->stop(); + $this->stopwatch?->stop('doctrine'); } - - return $ret; } - public function rollBack(): bool + public function rollBack(): void { - $query = null; - if (1 === $this->nestingLevel--) { - $this->debugDataHolder->addQuery($this->connectionName, $query = new Query('"ROLLBACK"')); - } - - if (null !== $this->stopwatch) { - $this->stopwatch->start('doctrine', 'doctrine'); - } + $query = new Query('"ROLLBACK"'); + $this->debugDataHolder->addQuery($this->connectionName, $query); - if (null !== $query) { - $query->start(); - } + $this->stopwatch?->start('doctrine', 'doctrine'); + $query->start(); try { - $ret = parent::rollBack(); + parent::rollBack(); } finally { - if (null !== $query) { - $query->stop(); - } - - if (null !== $this->stopwatch) { - $this->stopwatch->stop('doctrine'); - } + $query->stop(); + $this->stopwatch?->stop('doctrine'); } - - return $ret; } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/DBAL3/Connection.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/DBAL3/Connection.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/DBAL3/Connection.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/DBAL3/Connection.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,174 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bridge\Doctrine\Middleware\Debug\DBAL3; + +use Doctrine\DBAL\Driver\Connection as ConnectionInterface; +use Doctrine\DBAL\Driver\Middleware\AbstractConnectionMiddleware; +use Doctrine\DBAL\Driver\Result; +use Doctrine\DBAL\Driver\Statement as StatementInterface; +use Symfony\Bridge\Doctrine\Middleware\Debug\DebugDataHolder; +use Symfony\Bridge\Doctrine\Middleware\Debug\Query; +use Symfony\Component\Stopwatch\Stopwatch; + +/** + * @author Laurent VOULLEMIER + * + * @internal + */ +final class Connection extends AbstractConnectionMiddleware +{ + /** @var int */ + private $nestingLevel = 0; + private $debugDataHolder; + private $stopwatch; + private $connectionName; + + public function __construct( + ConnectionInterface $connection, + DebugDataHolder $debugDataHolder, + ?Stopwatch $stopwatch, + string $connectionName + ) { + $this->connectionName = $connectionName; + $this->stopwatch = $stopwatch; + $this->debugDataHolder = $debugDataHolder; + + parent::__construct($connection); + } + + public function prepare(string $sql): StatementInterface + { + return new Statement( + parent::prepare($sql), + $this->debugDataHolder, + $this->connectionName, + $sql, + $this->stopwatch, + ); + } + + public function query(string $sql): Result + { + $this->debugDataHolder->addQuery($this->connectionName, $query = new Query($sql)); + + if ($this->stopwatch) { + $this->stopwatch->start('doctrine', 'doctrine'); + } + $query->start(); + + try { + return parent::query($sql); + } finally { + $query->stop(); + if ($this->stopwatch) { + $this->stopwatch->stop('doctrine'); + } + } + } + + public function exec(string $sql): int + { + $this->debugDataHolder->addQuery($this->connectionName, $query = new Query($sql)); + + if ($this->stopwatch) { + $this->stopwatch->start('doctrine', 'doctrine'); + } + $query->start(); + + try { + return parent::exec($sql); + } finally { + $query->stop(); + if ($this->stopwatch) { + $this->stopwatch->stop('doctrine'); + } + } + } + + public function beginTransaction(): bool + { + $query = null; + if (1 === ++$this->nestingLevel) { + $this->debugDataHolder->addQuery($this->connectionName, $query = new Query('"START TRANSACTION"')); + } + + if ($this->stopwatch) { + $this->stopwatch->start('doctrine', 'doctrine'); + } + if ($query) { + $query->start(); + } + + try { + return parent::beginTransaction(); + } finally { + if ($query) { + $query->stop(); + } + if ($this->stopwatch) { + $this->stopwatch->stop('doctrine'); + } + } + } + + public function commit(): bool + { + $query = null; + if (1 === $this->nestingLevel--) { + $this->debugDataHolder->addQuery($this->connectionName, $query = new Query('"COMMIT"')); + } + + if ($this->stopwatch) { + $this->stopwatch->start('doctrine', 'doctrine'); + } + if ($query) { + $query->start(); + } + + try { + return parent::commit(); + } finally { + if ($query) { + $query->stop(); + } + if ($this->stopwatch) { + $this->stopwatch->stop('doctrine'); + } + } + } + + public function rollBack(): bool + { + $query = null; + if (1 === $this->nestingLevel--) { + $this->debugDataHolder->addQuery($this->connectionName, $query = new Query('"ROLLBACK"')); + } + + if ($this->stopwatch) { + $this->stopwatch->start('doctrine', 'doctrine'); + } + if ($query) { + $query->start(); + } + + try { + return parent::rollBack(); + } finally { + if ($query) { + $query->stop(); + } + if ($this->stopwatch) { + $this->stopwatch->stop('doctrine'); + } + } + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/DBAL3/Statement.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/DBAL3/Statement.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/DBAL3/Statement.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/DBAL3/Statement.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,86 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bridge\Doctrine\Middleware\Debug\DBAL3; + +use Doctrine\DBAL\Driver\Middleware\AbstractStatementMiddleware; +use Doctrine\DBAL\Driver\Result as ResultInterface; +use Doctrine\DBAL\Driver\Statement as StatementInterface; +use Doctrine\DBAL\ParameterType; +use Symfony\Bridge\Doctrine\Middleware\Debug\DebugDataHolder; +use Symfony\Bridge\Doctrine\Middleware\Debug\Query; +use Symfony\Component\Stopwatch\Stopwatch; + +/** + * @author Laurent VOULLEMIER + * + * @internal + */ +final class Statement extends AbstractStatementMiddleware +{ + private $query; + private $debugDataHolder; + private $connectionName; + private $stopwatch; + + public function __construct( + StatementInterface $statement, + DebugDataHolder $debugDataHolder, + string $connectionName, + string $sql, + ?Stopwatch $stopwatch = null + ) { + $this->stopwatch = $stopwatch; + $this->connectionName = $connectionName; + $this->debugDataHolder = $debugDataHolder; + $this->query = new Query($sql); + + parent::__construct($statement); + } + + public function bindParam($param, &$variable, $type = ParameterType::STRING, $length = null): bool + { + $this->query->setParam($param, $variable, $type); + + return parent::bindParam($param, $variable, $type, ...\array_slice(\func_get_args(), 3)); + } + + public function bindValue($param, $value, $type = ParameterType::STRING): bool + { + $this->query->setValue($param, $value, $type); + + return parent::bindValue($param, $value, $type); + } + + public function execute($params = null): ResultInterface + { + if (null !== $params) { + $this->query->setValues($params); + } + + // clone to prevent variables by reference to change + $this->debugDataHolder->addQuery($this->connectionName, $query = clone $this->query); + + if ($this->stopwatch) { + $this->stopwatch->start('doctrine', 'doctrine'); + } + $query->start(); + + try { + return parent::execute($params); + } finally { + $query->stop(); + if ($this->stopwatch) { + $this->stopwatch->stop('doctrine'); + } + } + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Driver.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Driver.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Driver.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Driver.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,6 +12,7 @@ namespace Symfony\Bridge\Doctrine\Middleware\Debug; use Doctrine\DBAL\Driver as DriverInterface; +use Doctrine\DBAL\Driver\Connection as ConnectionInterface; use Doctrine\DBAL\Driver\Middleware\AbstractDriverMiddleware; use Symfony\Component\Stopwatch\Stopwatch; @@ -35,10 +36,21 @@ $this->connectionName = $connectionName; } - public function connect(array $params): Connection + public function connect(array $params): ConnectionInterface { + $connection = parent::connect($params); + + if ('void' !== (string) (new \ReflectionMethod(DriverInterface\Connection::class, 'commit'))->getReturnType()) { + return new DBAL3\Connection( + $connection, + $this->debugDataHolder, + $this->stopwatch, + $this->connectionName + ); + } + return new Connection( - parent::connect($params), + $connection, $this->debugDataHolder, $this->stopwatch, $this->connectionName diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Query.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Query.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Query.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Query.php 2026-05-20 08:22:01.000000000 +0000 @@ -46,10 +46,11 @@ } /** - * @param string|int $param - * @param string|int|float|bool|null $variable + * @param string|int $param + * @param mixed $variable + * @param int|ParameterType $type */ - public function setParam($param, &$variable, int $type): void + public function setParam($param, &$variable, $type): void { // Numeric indexes start at 0 in profiler $idx = \is_int($param) ? $param - 1 : $param; @@ -59,10 +60,11 @@ } /** - * @param string|int $param - * @param mixed $value + * @param string|int $param + * @param mixed $value + * @param int|ParameterType $type */ - public function setValue($param, $value, int $type): void + public function setValue($param, $value, $type): void { // Numeric indexes start at 0 in profiler $idx = \is_int($param) ? $param - 1 : $param; @@ -95,7 +97,7 @@ } /** - * @return array + * @return array */ public function getTypes(): array { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Statement.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Statement.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Statement.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Middleware/Debug/Statement.php 2026-05-20 08:22:01.000000000 +0000 @@ -19,65 +19,46 @@ /** * @author Laurent VOULLEMIER + * @author Alexander M. Turek * * @internal */ final class Statement extends AbstractStatementMiddleware { - private $debugDataHolder; - private $connectionName; - private $query; - private $stopwatch; + private Query $query; - public function __construct(StatementInterface $statement, DebugDataHolder $debugDataHolder, string $connectionName, string $sql, Stopwatch $stopwatch = null) - { + public function __construct( + StatementInterface $statement, + private DebugDataHolder $debugDataHolder, + private string $connectionName, + string $sql, + private ?Stopwatch $stopwatch = null, + ) { parent::__construct($statement); - $this->debugDataHolder = $debugDataHolder; - $this->connectionName = $connectionName; $this->query = new Query($sql); - $this->stopwatch = $stopwatch; - } - - public function bindParam($param, &$variable, $type = ParameterType::STRING, $length = null): bool - { - $this->query->setParam($param, $variable, $type); - - return parent::bindParam($param, $variable, $type, ...\array_slice(\func_get_args(), 3)); } - public function bindValue($param, $value, $type = ParameterType::STRING): bool + public function bindValue(int|string $param, mixed $value, ParameterType $type): void { $this->query->setValue($param, $value, $type); - return parent::bindValue($param, $value, $type); + parent::bindValue($param, $value, $type); } - public function execute($params = null): ResultInterface + public function execute(): ResultInterface { - if (null !== $params) { - $this->query->setValues($params); - } - // clone to prevent variables by reference to change $this->debugDataHolder->addQuery($this->connectionName, $query = clone $this->query); - if ($this->stopwatch) { - $this->stopwatch->start('doctrine', 'doctrine'); - } - + $this->stopwatch?->start('doctrine', 'doctrine'); $query->start(); try { - $result = parent::execute($params); + return parent::execute(); } finally { $query->stop(); - - if ($this->stopwatch) { - $this->stopwatch->stop('doctrine'); - } + $this->stopwatch?->stop('doctrine'); } - - return $result; } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,11 +12,14 @@ namespace Symfony\Bridge\Doctrine\PropertyInfo; use Doctrine\Common\Collections\Collection; +use Doctrine\DBAL\Types\BigIntType; use Doctrine\DBAL\Types\Types; use Doctrine\ORM\EntityManagerInterface; +use Doctrine\ORM\Mapping\AssociationMapping; use Doctrine\ORM\Mapping\ClassMetadata; -use Doctrine\ORM\Mapping\ClassMetadataInfo; -use Doctrine\ORM\Mapping\Embedded; +use Doctrine\ORM\Mapping\EmbeddedClassMapping; +use Doctrine\ORM\Mapping\FieldMapping; +use Doctrine\ORM\Mapping\JoinColumnMapping; use Doctrine\ORM\Mapping\MappingException as OrmMappingException; use Doctrine\Persistence\Mapping\MappingException; use Symfony\Component\PropertyInfo\PropertyAccessExtractorInterface; @@ -49,7 +52,7 @@ $properties = array_merge($metadata->getFieldNames(), $metadata->getAssociationNames()); - if ($metadata instanceof ClassMetadataInfo && class_exists(Embedded::class) && $metadata->embeddedClasses) { + if ($metadata instanceof ClassMetadata && $metadata->embeddedClasses) { $properties = array_filter($properties, function ($property) { return !str_contains($property, '.'); }); @@ -73,7 +76,7 @@ $class = $metadata->getAssociationTargetClass($property); if ($metadata->isSingleValuedAssociation($property)) { - if ($metadata instanceof ClassMetadataInfo) { + if ($metadata instanceof ClassMetadata) { $associationMapping = $metadata->getAssociationMapping($property); $nullable = $this->isAssociationNullable($associationMapping); @@ -86,25 +89,23 @@ $collectionKeyType = Type::BUILTIN_TYPE_INT; - if ($metadata instanceof ClassMetadataInfo) { + if ($metadata instanceof ClassMetadata) { $associationMapping = $metadata->getAssociationMapping($property); - if (isset($associationMapping['indexBy'])) { - /** @var ClassMetadataInfo $subMetadata */ - $subMetadata = $this->entityManager->getClassMetadata($associationMapping['targetEntity']); + if (self::getMappingValue($associationMapping, 'indexBy')) { + $subMetadata = $this->entityManager->getClassMetadata(self::getMappingValue($associationMapping, 'targetEntity')); // Check if indexBy value is a property - $fieldName = $associationMapping['indexBy']; + $fieldName = self::getMappingValue($associationMapping, 'indexBy'); if (null === ($typeOfField = $subMetadata->getTypeOfField($fieldName))) { - $fieldName = $subMetadata->getFieldForColumn($associationMapping['indexBy']); + $fieldName = $subMetadata->getFieldForColumn(self::getMappingValue($associationMapping, 'indexBy')); // Not a property, maybe a column name? if (null === ($typeOfField = $subMetadata->getTypeOfField($fieldName))) { // Maybe the column name is the association join column? $associationMapping = $subMetadata->getAssociationMapping($fieldName); - /** @var ClassMetadataInfo $subMetadata */ $indexProperty = $subMetadata->getSingleAssociationReferencedJoinColumnName($fieldName); - $subMetadata = $this->entityManager->getClassMetadata($associationMapping['targetEntity']); + $subMetadata = $this->entityManager->getClassMetadata(self::getMappingValue($associationMapping, 'targetEntity')); // Not a property, maybe a column name? if (null === ($typeOfField = $subMetadata->getTypeOfField($indexProperty))) { @@ -130,8 +131,8 @@ )]; } - if ($metadata instanceof ClassMetadataInfo && class_exists(Embedded::class) && isset($metadata->embeddedClasses[$property])) { - return [new Type(Type::BUILTIN_TYPE_OBJECT, false, $metadata->embeddedClasses[$property]['class'])]; + if ($metadata instanceof ClassMetadata && isset($metadata->embeddedClasses[$property])) { + return [new Type(Type::BUILTIN_TYPE_OBJECT, false, self::getMappingValue($metadata->embeddedClasses[$property], 'class'))]; } if ($metadata->hasField($property)) { @@ -141,9 +142,18 @@ return null; } - $nullable = $metadata instanceof ClassMetadataInfo && $metadata->isNullable($property); + $nullable = $metadata instanceof ClassMetadata && $metadata->isNullable($property); + + // DBAL 4 has a special fallback strategy for BINGINT (int -> string) + if (Types::BIGINT === $typeOfField && !method_exists(BigIntType::class, 'getName')) { + return [ + new Type(Type::BUILTIN_TYPE_INT, $nullable), + new Type(Type::BUILTIN_TYPE_STRING, $nullable), + ]; + } + $enumType = null; - if (null !== $enumClass = $metadata->getFieldMapping($property)['enumType'] ?? null) { + if (null !== $enumClass = self::getMappingValue($metadata->getFieldMapping($property), 'enumType') ?? null) { $enumType = new Type(Type::BUILTIN_TYPE_OBJECT, $nullable, $enumClass); } @@ -170,8 +180,8 @@ break; case Type::BUILTIN_TYPE_ARRAY: switch ($typeOfField) { - case Types::ARRAY: - case 'json_array': + case 'array': // DBAL < 4 + case 'json_array': // DBAL < 3 // return null if $enumType is set, because we can't determine if collectionKeyType is string or int if ($enumType) { return null; @@ -233,21 +243,23 @@ /** * Determines whether an association is nullable. * + * @param array|AssociationMapping $associationMapping + * * @see https://github.com/doctrine/doctrine2/blob/v2.5.4/lib/Doctrine/ORM/Tools/EntityGenerator.php#L1221-L1246 */ - private function isAssociationNullable(array $associationMapping): bool + private function isAssociationNullable($associationMapping): bool { - if (isset($associationMapping['id']) && $associationMapping['id']) { + if (self::getMappingValue($associationMapping, 'id')) { return false; } - if (!isset($associationMapping['joinColumns'])) { + if (!self::getMappingValue($associationMapping, 'joinColumns')) { return true; } - $joinColumns = $associationMapping['joinColumns']; + $joinColumns = self::getMappingValue($associationMapping, 'joinColumns'); foreach ($joinColumns as $joinColumn) { - if (isset($joinColumn['nullable']) && !$joinColumn['nullable']) { + if (false === self::getMappingValue($joinColumn, 'nullable')) { return false; } } @@ -282,7 +294,7 @@ case Types::BINARY: return Type::BUILTIN_TYPE_RESOURCE; - case Types::OBJECT: + case 'object': // DBAL < 4 case Types::DATE_MUTABLE: case Types::DATETIME_MUTABLE: case Types::DATETIMETZ_MUTABLE: @@ -295,12 +307,26 @@ case Types::DATEINTERVAL: return Type::BUILTIN_TYPE_OBJECT; - case Types::ARRAY: + case 'array': // DBAL < 4 case Types::SIMPLE_ARRAY: - case 'json_array': + case 'json_array': // DBAL < 3 return Type::BUILTIN_TYPE_ARRAY; } return null; } + + /** + * @param array|AssociationMapping|EmbeddedClassMapping|FieldMapping|JoinColumnMapping $mapping + * + * @return mixed + */ + private static function getMappingValue($mapping, string $key) + { + if ($mapping instanceof AssociationMapping || $mapping instanceof EmbeddedClassMapping || $mapping instanceof FieldMapping || $mapping instanceof JoinColumnMapping) { + return $mapping->$key ?? null; + } + + return $mapping[$key] ?? null; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Security/RememberMe/DoctrineTokenProvider.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Security/RememberMe/DoctrineTokenProvider.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Security/RememberMe/DoctrineTokenProvider.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Security/RememberMe/DoctrineTokenProvider.php 2026-05-20 08:22:01.000000000 +0000 @@ -55,15 +55,17 @@ */ public function loadTokenBySeries(string $series) { - // the alias for lastUsed works around case insensitivity in PostgreSQL - $sql = 'SELECT class, username, value, lastUsed AS last_used FROM rememberme_token WHERE series=:series'; + $sql = 'SELECT class, username, value, lastUsed FROM rememberme_token WHERE series=:series'; $paramValues = ['series' => $series]; $paramTypes = ['series' => ParameterType::STRING]; $stmt = $this->conn->executeQuery($sql, $paramValues, $paramTypes); - $row = $stmt instanceof Result || $stmt instanceof DriverResult ? $stmt->fetchAssociative() : $stmt->fetch(\PDO::FETCH_ASSOC); + + // fetching numeric because column name casing depends on platform, eg. Oracle converts all not quoted names to uppercase + $row = $stmt instanceof Result || $stmt instanceof DriverResult ? $stmt->fetchNumeric() : $stmt->fetch(\PDO::FETCH_NUM); if ($row) { - return new PersistentToken($row['class'], $row['username'], $series, $row['value'], new \DateTime($row['last_used'])); + [$class, $username, $value, $last_used] = $row; + return new PersistentToken($class, $username, $series, $value, new \DateTime($last_used)); } throw new TokenNotFoundException('No token found.'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,6 +15,7 @@ use Doctrine\Persistence\Mapping\ClassMetadata; use Doctrine\Persistence\ObjectManager; use Doctrine\Persistence\ObjectRepository; +use Doctrine\Persistence\Proxy; use Symfony\Component\Security\Core\Exception\UnsupportedUserException; use Symfony\Component\Security\Core\Exception\UserNotFoundException; use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface; @@ -38,7 +39,7 @@ private $class; private $property; - public function __construct(ManagerRegistry $registry, string $classOrAlias, string $property = null, string $managerName = null) + public function __construct(ManagerRegistry $registry, string $classOrAlias, ?string $property = null, ?string $managerName = null) { $this->registry = $registry; $this->managerName = $managerName; @@ -117,6 +118,10 @@ } } + if ($refreshedUser instanceof Proxy && !$refreshedUser->__isInitialized()) { + $refreshedUser->__load(); + } + return $refreshedUser; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Test/DoctrineTestHelper.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Test/DoctrineTestHelper.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Test/DoctrineTestHelper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Test/DoctrineTestHelper.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,13 +12,19 @@ namespace Symfony\Bridge\Doctrine\Test; use Doctrine\Common\Annotations\AnnotationReader; +use Doctrine\Common\EventManager; +use Doctrine\DBAL\DriverManager; +use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory; use Doctrine\ORM\Configuration; use Doctrine\ORM\EntityManager; use Doctrine\ORM\Mapping\Driver\AnnotationDriver; +use Doctrine\ORM\Mapping\Driver\AttributeDriver; use Doctrine\ORM\Mapping\Driver\XmlDriver; +use Doctrine\ORM\ORMSetup; use Doctrine\Persistence\Mapping\Driver\MappingDriverChain; use Doctrine\Persistence\Mapping\Driver\SymfonyFileLocator; use PHPUnit\Framework\TestCase; +use Symfony\Component\VarExporter\LazyGhostTrait; /** * Provides utility functions needed in tests. @@ -34,7 +40,7 @@ * * @return EntityManager */ - public static function createTestEntityManager(Configuration $config = null) + public static function createTestEntityManager(?Configuration $config = null) { if (!\extension_loaded('pdo_sqlite')) { TestCase::markTestSkipped('Extension pdo_sqlite is required.'); @@ -53,7 +59,13 @@ 'memory' => true, ]; - return EntityManager::create($params, $config); + if (!(new \ReflectionMethod(EntityManager::class, '__construct'))->isPublic()) { + return EntityManager::create($params, $config); + } + + $eventManager = new EventManager(); + + return new EntityManager(DriverManager::getConnection($params, $config, $eventManager), $config, $eventManager); } /** @@ -65,12 +77,23 @@ trigger_deprecation('symfony/doctrine-bridge', '5.3', '"%s" is deprecated and will be removed in 6.0.', __CLASS__); } - $config = new Configuration(); + $config = class_exists(ORMSetup::class) ? ORMSetup::createConfiguration(true) : new Configuration(); $config->setEntityNamespaces(['SymfonyTestsDoctrine' => 'Symfony\Bridge\Doctrine\Tests\Fixtures']); $config->setAutoGenerateProxyClasses(true); $config->setProxyDir(sys_get_temp_dir()); $config->setProxyNamespace('SymfonyTests\Doctrine'); - $config->setMetadataDriverImpl(new AnnotationDriver(new AnnotationReader())); + if (\PHP_VERSION_ID >= 80000 && class_exists(AttributeDriver::class)) { + $config->setMetadataDriverImpl(new AttributeDriver([__DIR__.'/../Tests/Fixtures' => 'Symfony\Bridge\Doctrine\Tests\Fixtures'], true)); + } else { + $config->setMetadataDriverImpl(new AnnotationDriver(new AnnotationReader(), null, true)); + } + if (class_exists(DefaultSchemaManagerFactory::class)) { + $config->setSchemaManagerFactory(new DefaultSchemaManagerFactory()); + } + + if (\PHP_VERSION_ID >= 80100 && method_exists(Configuration::class, 'setLazyGhostObjectEnabled') && trait_exists(LazyGhostTrait::class)) { + $config->setLazyGhostObjectEnabled(true); + } return $config; } @@ -91,7 +114,9 @@ new XmlDriver( new SymfonyFileLocator( [__DIR__.'/../Tests/Resources/orm' => 'Symfony\\Bridge\\Doctrine\\Tests\\Fixtures'], '.orm.xml' - ) + ), + '.orm.xml', + true ), 'Symfony\\Bridge\\Doctrine\\Tests\\Fixtures' ); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Test/TestRepositoryFactory.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Test/TestRepositoryFactory.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Test/TestRepositoryFactory.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Test/TestRepositoryFactory.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,10 +12,36 @@ namespace Symfony\Bridge\Doctrine\Test; use Doctrine\ORM\EntityManagerInterface; +use Doctrine\ORM\EntityRepository; use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Repository\RepositoryFactory; use Doctrine\Persistence\ObjectRepository; +if ((new \ReflectionMethod(RepositoryFactory::class, 'getRepository'))->hasReturnType()) { + /** @internal */ + trait GetRepositoryTrait + { + public function getRepository(EntityManagerInterface $entityManager, string $entityName): EntityRepository + { + return $this->doGetRepository($entityManager, $entityName); + } + } +} else { + /** @internal */ + trait GetRepositoryTrait + { + /** + * {@inheritdoc} + * + * @return ObjectRepository + */ + public function getRepository(EntityManagerInterface $entityManager, $entityName) + { + return $this->doGetRepository($entityManager, $entityName); + } + } +} + /** * @author Andreas Braun * @@ -23,17 +49,14 @@ */ class TestRepositoryFactory implements RepositoryFactory { + use GetRepositoryTrait; + /** * @var ObjectRepository[] */ private $repositoryList = []; - /** - * {@inheritdoc} - * - * @return ObjectRepository - */ - public function getRepository(EntityManagerInterface $entityManager, $entityName) + private function doGetRepository(EntityManagerInterface $entityManager, string $entityName): ObjectRepository { if (__CLASS__ === static::class) { trigger_deprecation('symfony/doctrine-bridge', '5.3', '"%s" is deprecated and will be removed in 6.0.', __CLASS__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -202,6 +202,21 @@ $this->assertSame([], $this->evm->getListeners('foo')); } + public function testRemoveAllEventListener() + { + $this->container->set('lazy', new MyListener()); + $this->evm->addEventListener('foo', 'lazy'); + $this->evm->addEventListener('foo', new MyListener()); + + foreach ($this->evm->getAllListeners() as $event => $listeners) { + foreach ($listeners as $listener) { + $this->evm->removeEventListener($event, $listener); + } + } + + $this->assertSame([], $this->evm->getListeners('foo')); + } + public function testRemoveEventListenerAfterDispatchEvent() { $this->container->set('lazy', $listener1 = new MyListener()); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorWithDebugStackTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorWithDebugStackTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorWithDebugStackTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorWithDebugStackTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,6 +32,13 @@ { use DoctrineDataCollectorTestTrait; + public static function setUpBeforeClass(): void + { + if (!class_exists(DebugStack::class)) { + self::markTestSkipped('This test requires DBAL < 4.'); + } + } + public function testReset() { $queries = [ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/DoctrineExtensionTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/DoctrineExtensionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/DoctrineExtensionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/DoctrineExtensionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -190,14 +190,14 @@ // The ordinary fixtures contain annotation $mappingType = $method->invoke($this->extension, __DIR__.'/../Fixtures', $container); - $this->assertSame($mappingType, 'annotation'); + $this->assertSame($mappingType, \PHP_VERSION_ID < 80000 ? 'annotation' : 'attribute'); // In the attribute folder, attributes are used $mappingType = $method->invoke($this->extension, __DIR__.'/../Fixtures/Attribute', $container); $this->assertSame($mappingType, \PHP_VERSION_ID < 80000 ? 'annotation' : 'attribute'); } - public static function providerBasicDrivers() + public static function providerBasicDrivers(): array { return [ ['doctrine.orm.cache.apc.class', ['type' => 'apc']], @@ -276,11 +276,11 @@ $this->invokeLoadCacheDriver($objectManager, $container, $cacheName); } - public static function providerBundles() + public static function providerBundles(): iterable { - yield ['AnnotationsBundle', 'annotation', '/Entity']; - yield ['AnnotationsOneLineBundle', 'annotation', '/Entity']; - yield ['FullEmbeddableAnnotationsBundle', 'annotation', '/Entity']; + yield ['AnnotationsBundle', \PHP_VERSION_ID < 80000 ? 'annotation' : 'attribute', '/Entity']; + yield ['AnnotationsOneLineBundle', \PHP_VERSION_ID < 80000 ? 'annotation' : 'attribute', '/Entity']; + yield ['FullEmbeddableAnnotationsBundle', \PHP_VERSION_ID < 80000 ? 'annotation' : 'attribute', '/Entity']; if (\PHP_VERSION_ID >= 80000) { yield ['AttributesBundle', 'attribute', '/Entity']; yield ['FullEmbeddableAttributesBundle', 'attribute', '/Entity']; @@ -291,7 +291,7 @@ yield ['SrcXmlBundle', 'xml', '/Resources/config/doctrine']; - yield ['NewAnnotationsBundle', 'annotation', \DIRECTORY_SEPARATOR.'src/Entity']; + yield ['NewAnnotationsBundle', \PHP_VERSION_ID < 80000 ? 'annotation' : 'attribute', \DIRECTORY_SEPARATOR.'src/Entity']; yield ['NewXmlBundle', 'xml', '/config/doctrine']; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/AssociationEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/AssociationEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/AssociationEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/AssociationEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,6 +16,7 @@ /** * @ORM\Entity */ +#[ORM\Entity] class AssociationEntity { /** @@ -23,6 +24,7 @@ * @ORM\Id @ORM\GeneratedValue * @ORM\Column(type="integer") */ + #[ORM\Id, ORM\GeneratedValue, ORM\Column(type: 'integer')] private $id; /** @@ -30,6 +32,7 @@ * * @var \Symfony\Bridge\Doctrine\Tests\Fixtures\SingleIntIdEntity */ + #[ORM\ManyToOne(targetEntity: SingleIntIdEntity::class)] public $single; /** @@ -41,5 +44,8 @@ * * @var \Symfony\Bridge\Doctrine\Tests\Fixtures\CompositeIntIdEntity */ + #[ORM\ManyToOne(targetEntity: CompositeIntIdEntity::class)] + #[ORM\JoinColumn(name: 'composite_id1', referencedColumnName: 'id1')] + #[ORM\JoinColumn(name: 'composite_id2', referencedColumnName: 'id2')] public $composite; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/AssociationEntity2.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/AssociationEntity2.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/AssociationEntity2.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/AssociationEntity2.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,6 +16,7 @@ /** * @ORM\Entity */ +#[ORM\Entity] class AssociationEntity2 { /** @@ -23,6 +24,7 @@ * @ORM\Id @ORM\GeneratedValue * @ORM\Column(type="integer") */ + #[ORM\Id, ORM\GeneratedValue, ORM\Column(type: 'integer')] private $id; /** @@ -30,6 +32,7 @@ * * @var \Symfony\Bridge\Doctrine\Tests\Fixtures\SingleIntIdNoToStringEntity */ + #[ORM\ManyToOne(targetEntity: SingleIntIdNoToStringEntity::class)] public $single; /** @@ -41,5 +44,8 @@ * * @var \Symfony\Bridge\Doctrine\Tests\Fixtures\CompositeIntIdEntity */ + #[ORM\ManyToOne(targetEntity: CompositeIntIdEntity::class)] + #[ORM\JoinColumn(name: 'composite_id1', referencedColumnName: 'id1')] + #[ORM\JoinColumn(name: 'composite_id2', referencedColumnName: 'id2')] public $composite; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AnnotationsBundle/Entity/Person.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AnnotationsBundle/Entity/Person.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AnnotationsBundle/Entity/Person.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AnnotationsBundle/Entity/Person.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,12 +18,15 @@ /** * @Entity */ +#[Entity] class Person { /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id; /** @Column(type="string") */ + #[Column(type: 'string')] public $name; public function __construct($id, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AnnotationsOneLineBundle/Entity/Person.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AnnotationsOneLineBundle/Entity/Person.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AnnotationsOneLineBundle/Entity/Person.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AnnotationsOneLineBundle/Entity/Person.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,12 +16,15 @@ use Doctrine\ORM\Mapping\Id; /** @Entity */ +#[Entity] class Person { /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id; /** @Column(type="string") */ + #[Column(type: 'string')] public $name; public function __construct($id, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AttributesBundle/AnnotatedEntity/Person.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AttributesBundle/AnnotatedEntity/Person.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AttributesBundle/AnnotatedEntity/Person.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/AttributesBundle/AnnotatedEntity/Person.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,12 +18,15 @@ /** * @Entity */ +#[Entity] class Person { /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id; /** @Column(type="string") */ + #[Column(type: 'string')] public $name; public function __construct($id, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/FullEmbeddableAnnotationsBundle/Entity/Address.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/FullEmbeddableAnnotationsBundle/Entity/Address.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/FullEmbeddableAnnotationsBundle/Entity/Address.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/FullEmbeddableAnnotationsBundle/Entity/Address.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,21 +13,24 @@ use Doctrine\ORM\Mapping\Column; use Doctrine\ORM\Mapping\Embeddable; -use Doctrine\ORM\Mapping\Id; /** * @Embeddable */ +#[Embeddable] class Address { /** @Column(type="string") */ + #[Column(type: 'string')] public $street; /** @Column(type="string") */ + #[Column(type: 'string')] public $zipCode; /** @Column(type="string") */ + #[Column(type: 'string')] public $city; public function __construct($street, $zipCode, $city) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/FullEmbeddableAttributesBundle/Entity/Address.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/FullEmbeddableAttributesBundle/Entity/Address.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/FullEmbeddableAttributesBundle/Entity/Address.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/FullEmbeddableAttributesBundle/Entity/Address.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,7 +13,6 @@ use Doctrine\ORM\Mapping\Column; use Doctrine\ORM\Mapping\Embeddable; -use Doctrine\ORM\Mapping\Id; #[Embeddable] class Address diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/NewAnnotationsBundle/src/Entity/Person.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/NewAnnotationsBundle/src/Entity/Person.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/NewAnnotationsBundle/src/Entity/Person.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Bundles/NewAnnotationsBundle/src/Entity/Person.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,12 +18,15 @@ /** * @Entity */ +#[Entity] class Person { /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id; /** @Column(type="string") */ + #[Column(type: 'string')] public $name; public function __construct($id, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeIntIdEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeIntIdEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeIntIdEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeIntIdEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,15 +16,19 @@ use Doctrine\ORM\Mapping\Id; /** @Entity */ +#[Entity] class CompositeIntIdEntity { /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id1; /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id2; /** @Column(type="string") */ + #[Column(type: 'string')] public $name; public function __construct($id1, $id2, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeObjectNoToStringIdEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeObjectNoToStringIdEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeObjectNoToStringIdEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeObjectNoToStringIdEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -9,6 +9,7 @@ * * @ORM\Entity */ +#[ORM\Entity] class CompositeObjectNoToStringIdEntity { /** @@ -18,6 +19,9 @@ * @ORM\ManyToOne(targetEntity="SingleIntIdNoToStringEntity", cascade={"persist"}) * @ORM\JoinColumn(name="object_one_id") */ + #[ORM\Id] + #[ORM\ManyToOne(targetEntity: SingleIntIdNoToStringEntity::class, cascade: ['persist'])] + #[ORM\JoinColumn(name: 'object_one_id')] protected $objectOne; /** @@ -27,6 +31,9 @@ * @ORM\ManyToOne(targetEntity="SingleIntIdNoToStringEntity", cascade={"persist"}) * @ORM\JoinColumn(name="object_two_id") */ + #[ORM\Id] + #[ORM\ManyToOne(targetEntity: SingleIntIdNoToStringEntity::class, cascade: ['persist'])] + #[ORM\JoinColumn(name: 'object_two_id')] protected $objectTwo; public function __construct(SingleIntIdNoToStringEntity $objectOne, SingleIntIdNoToStringEntity $objectTwo) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeStringIdEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeStringIdEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeStringIdEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeStringIdEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,15 +16,19 @@ use Doctrine\ORM\Mapping\Id; /** @Entity */ +#[Entity] class CompositeStringIdEntity { /** @Id @Column(type="string") */ + #[Id, Column(type: 'string')] protected $id1; /** @Id @Column(type="string") */ + #[Id, Column(type: 'string')] protected $id2; /** @Column(type="string") */ + #[Column(type: 'string')] public $name; public function __construct($id1, $id2, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/ContainerAwareFixture.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/ContainerAwareFixture.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/ContainerAwareFixture.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/ContainerAwareFixture.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,12 +20,12 @@ { public $container; - public function setContainer(ContainerInterface $container = null) + public function setContainer(?ContainerInterface $container = null) { $this->container = $container; } - public function load(ObjectManager $manager) + public function load(ObjectManager $manager): void { } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEmbed.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEmbed.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEmbed.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEmbed.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,15 +16,18 @@ /** * @ORM\Embeddable */ +#[ORM\Embeddable] class DoctrineLoaderEmbed { /** * @ORM\Column(length=25) */ + #[ORM\Column(length: 25)] public $embeddedMaxLength; /** * @ORM\Embedded(class=DoctrineLoaderNestedEmbed::class) */ + #[ORM\Embedded(class: DoctrineLoaderNestedEmbed::class)] public $nestedEmbedded; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,58 +21,70 @@ * * @author Kévin Dunglas */ +#[ORM\Entity, UniqueEntity(fields: ["alreadyMappedUnique"])] class DoctrineLoaderEntity extends DoctrineLoaderParentEntity { /** * @ORM\Id * @ORM\Column */ + #[ORM\Id, ORM\Column] public $id; /** * @ORM\Column(length=20) */ + #[ORM\Column(length: 20)] public $maxLength; /** * @ORM\Column(length=20) * @Assert\Length(min=5) */ + #[ORM\Column(length: 20), Assert\Length(min: 5)] public $mergedMaxLength; /** * @ORM\Column(length=20) * @Assert\Length(min=1, max=10) */ + #[ORM\Column(length: 20), Assert\Length(min: 1, max: 10)] public $alreadyMappedMaxLength; /** * @ORM\Column(unique=true) */ + #[ORM\Column(unique: true)] public $unique; /** * @ORM\Column(unique=true) */ + #[ORM\Column(unique: true)] public $alreadyMappedUnique; /** * @ORM\Embedded(class=DoctrineLoaderEmbed::class) */ + #[ORM\Embedded(class: DoctrineLoaderEmbed::class)] public $embedded; /** @ORM\Column(type="text", nullable=true, length=1000) */ + #[ORM\Column(type: 'text', nullable: true, length: 1000)] public $textField; /** @ORM\Id @ORM\Column(type="guid", length=50) */ + #[ORM\Id, ORM\Column(type: 'guid', length: 50)] protected $guidField; /** @ORM\Column(type="simple_array", length=100) */ + #[ORM\Column(type: 'simple_array', length: 100)] public $simpleArrayField = []; /** * @ORM\Column(length=10) * @Assert\DisableAutoMapping */ + #[ORM\Column(length: 10), Assert\DisableAutoMapping] public $noAutoMapping; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEnum.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEnum.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEnum.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderEnum.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,25 +12,31 @@ namespace Symfony\Bridge\Doctrine\Tests\Fixtures; use Doctrine\ORM\Mapping as ORM; +use Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\EnumInt; +use Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\EnumString; /** * @ORM\Entity */ +#[ORM\Entity] class DoctrineLoaderEnum { /** * @ORM\Id * @ORM\Column */ + #[ORM\Id, ORM\Column] public $id; /** * @ORM\Column(type="string", enumType="Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\EnumString", length=1) */ + #[ORM\Column(type: 'string', enumType: EnumString::class, length: 1)] public $enumString; /** * @ORM\Column(type="integer", enumType="Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\EnumInt") */ + #[ORM\Column(type: 'integer', enumType: EnumInt::class)] public $enumInt; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderNestedEmbed.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderNestedEmbed.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderNestedEmbed.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderNestedEmbed.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,10 +16,12 @@ /** * @ORM\Embeddable() */ +#[ORM\Embeddable] class DoctrineLoaderNestedEmbed { /** * @ORM\Column(length=27) */ + #[ORM\Column(length: 27)] public $nestedEmbeddedMaxLength; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderNoAutoMappingEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderNoAutoMappingEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderNoAutoMappingEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderNoAutoMappingEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,22 +20,26 @@ * * @author Kévin Dunglas */ +#[ORM\Entity, Assert\DisableAutoMapping] class DoctrineLoaderNoAutoMappingEntity { /** * @ORM\Id * @ORM\Column */ + #[ORM\Id, ORM\Column] public $id; /** * @ORM\Column(length=20, unique=true) */ + #[ORM\Column(length: 20, unique: true)] public $maxLength; /** * @Assert\EnableAutoMapping * @ORM\Column(length=20) */ + #[Assert\EnableAutoMapping, ORM\Column(length: 20)] public $autoMappingExplicitlyEnabled; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderParentEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderParentEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderParentEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoctrineLoaderParentEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,16 +16,19 @@ /** * @ORM\MappedSuperclass */ +#[ORM\MappedSuperclass] class DoctrineLoaderParentEntity { /** * @ORM\Column(length=35) */ + #[ORM\Column(length: 35)] public $publicParentMaxLength; /** * @ORM\Column(length=30) */ + #[ORM\Column(length: 30)] private $privateParentMaxLength; public function getPrivateParentMaxLength() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoubleNameEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoubleNameEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoubleNameEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoubleNameEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,15 +16,19 @@ use Doctrine\ORM\Mapping\Id; /** @Entity */ +#[Entity] class DoubleNameEntity { /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id; /** @Column(type="string") */ + #[Column(type: 'string')] public $name; /** @Column(type="string", nullable=true) */ + #[Column(type: 'string', nullable: true)] public $name2; public function __construct($id, $name, $name2) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoubleNullableNameEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoubleNullableNameEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoubleNullableNameEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoubleNullableNameEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,15 +16,19 @@ use Doctrine\ORM\Mapping\Id; /** @Entity */ +#[Entity] class DoubleNullableNameEntity { /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id; /** @Column(type="string", nullable=true) */ + #[Column(type: 'string', nullable: true)] public $name; /** @Column(type="string", nullable=true) */ + #[Column(type: 'string', nullable: true)] public $name2; public function __construct($id, $name, $name2) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DummyManager.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DummyManager.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DummyManager.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DummyManager.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,69 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bridge\Doctrine\Tests\Fixtures; + +use Doctrine\DBAL\Result; +use Doctrine\ORM\AbstractQuery; + +class LegacyQueryMock extends AbstractQuery +{ + public function __construct() + { + } + + /** + * @return array|string + */ + public function getSQL() + { + } + + /** + * @return Result|int + */ + protected function _doExecute() + { + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/MockableRepository.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/MockableRepository.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/MockableRepository.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/MockableRepository.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,21 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bridge\Doctrine\Tests\Fixtures; + +use Doctrine\ORM\EntityRepository; + +class MockableRepository extends EntityRepository +{ + public function findByCustom() + { + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Person.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Person.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Person.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Person.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,12 +24,15 @@ * @DiscriminatorColumn(name="discr", type="string") * @DiscriminatorMap({"person" = "Person", "employee" = "Employee"}) */ +#[Entity, InheritanceType('SINGLE_TABLE'), DiscriminatorColumn(name: 'discr', type: 'string'), DiscriminatorMap(['person' => 'Person', 'employee' => 'Employee'])] class Person { /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id; /** @Column(type="string") */ + #[Column(type: 'string')] public $name; public function __construct($id, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleAssociationToIntIdEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleAssociationToIntIdEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleAssociationToIntIdEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleAssociationToIntIdEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -17,12 +17,15 @@ use Doctrine\ORM\Mapping\OneToOne; /** @Entity */ +#[Entity] class SingleAssociationToIntIdEntity { /** @Id @OneToOne(targetEntity="SingleIntIdNoToStringEntity", cascade={"ALL"}) */ + #[Id, OneToOne(targetEntity: SingleIntIdNoToStringEntity::class, cascade: ['ALL'])] protected $entity; /** @Column(type="string", nullable=true) */ + #[Column(type: 'string', nullable: true)] public $name; public function __construct(SingleIntIdNoToStringEntity $entity, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,20 +11,25 @@ namespace Symfony\Bridge\Doctrine\Tests\Fixtures; +use Doctrine\DBAL\Types\Types; use Doctrine\ORM\Mapping\Column; use Doctrine\ORM\Mapping\Entity; use Doctrine\ORM\Mapping\Id; /** @Entity */ +#[Entity] class SingleIntIdEntity { /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id; /** @Column(type="string", nullable=true) */ + #[Column(type: 'string', nullable: true)] public $name; - /** @Column(type="array", nullable=true) */ + /** @Column(type="json", nullable=true) */ + #[Column(type: Types::JSON, nullable: true)] public $phoneNumbers = []; public function __construct($id, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdNoToStringEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdNoToStringEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdNoToStringEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdNoToStringEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,12 +16,15 @@ use Doctrine\ORM\Mapping\Id; /** @Entity */ +#[Entity] class SingleIntIdNoToStringEntity { /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id; /** @Column(type="string", nullable=true) */ + #[Column(type: 'string', nullable: true)] public $name; public function __construct($id, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdStringWrapperNameEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdStringWrapperNameEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdStringWrapperNameEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleIntIdStringWrapperNameEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -14,15 +14,17 @@ use Doctrine\ORM\Mapping\Column; use Doctrine\ORM\Mapping\Entity; use Doctrine\ORM\Mapping\Id; -use Symfony\Bridge\Doctrine\Tests\Fixtures\Type\StringWrapper; /** @Entity */ +#[Entity] class SingleIntIdStringWrapperNameEntity { /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id; /** @Column(type="string_wrapper", nullable=true) */ + #[Column(type: 'string_wrapper', nullable: true)] public $name; public function __construct($id, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleStringCastableIdEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleStringCastableIdEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleStringCastableIdEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleStringCastableIdEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -17,6 +17,7 @@ use Doctrine\ORM\Mapping\Id; /** @Entity */ +#[Entity] class SingleStringCastableIdEntity { /** @@ -24,9 +25,11 @@ * @Column(type="string") * @GeneratedValue(strategy="NONE") */ + #[Id, Column(type: 'string'), GeneratedValue(strategy: 'NONE')] protected $id; /** @Column(type="string", nullable=true) */ + #[Column(type: 'string', nullable: true)] public $name; public function __construct($id, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleStringIdEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleStringIdEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleStringIdEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/SingleStringIdEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,12 +16,15 @@ use Doctrine\ORM\Mapping\Id; /** @Entity */ +#[Entity] class SingleStringIdEntity { /** @Id @Column(type="string") */ + #[Id, Column(type: 'string')] protected $id; /** @Column(type="string") */ + #[Column(type: 'string')] public $name; public function __construct($id, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Type/StringWrapper.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Type/StringWrapper.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Type/StringWrapper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Type/StringWrapper.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,7 +15,7 @@ { private $string; - public function __construct(string $string = null) + public function __construct(?string $string = null) { $this->string = $string; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Type/StringWrapperType.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Type/StringWrapperType.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Type/StringWrapperType.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/Type/StringWrapperType.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,20 +18,16 @@ { /** * {@inheritdoc} - * - * @return mixed */ - public function convertToDatabaseValue($value, AbstractPlatform $platform) + public function convertToDatabaseValue($value, AbstractPlatform $platform): ?string { return $value instanceof StringWrapper ? $value->getString() : null; } /** * {@inheritdoc} - * - * @return mixed */ - public function convertToPHPValue($value, AbstractPlatform $platform) + public function convertToPHPValue($value, AbstractPlatform $platform): StringWrapper { return new StringWrapper($value); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/UlidIdEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/UlidIdEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/UlidIdEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/UlidIdEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,9 +16,11 @@ use Doctrine\ORM\Mapping\Id; /** @Entity */ +#[Entity] class UlidIdEntity { /** @Id @Column(type="ulid") */ + #[Id, Column(type: 'ulid')] protected $id; public function __construct($id) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/User.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/User.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/User.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/User.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,15 +18,19 @@ use Symfony\Component\Security\Core\User\UserInterface; /** @Entity */ +#[Entity] class User implements UserInterface, PasswordAuthenticatedUserInterface { /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id1; /** @Id @Column(type="integer") */ + #[Id, Column(type: 'integer')] protected $id2; /** @Column(type="string") */ + #[Column(type: 'string')] public $name; public function __construct($id1, $id2, $name) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/UuidIdEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/UuidIdEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/UuidIdEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Fixtures/UuidIdEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,9 +16,11 @@ use Doctrine\ORM\Mapping\Id; /** @Entity */ +#[Entity] class UuidIdEntity { /** @Id @Column(type="uuid") */ + #[Id, Column(type: 'uuid')] protected $id; public function __construct($id) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -426,7 +426,7 @@ public function testPassingIdReaderWithoutSingleIdEntity() { $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage('The second argument `$idReader` of "Symfony\\Bridge\\Doctrine\\Form\\ChoiceList\\DoctrineChoiceLoader::__construct" must be null when the query cannot be optimized because of composite id fields.'); + $this->expectExceptionMessage('The `$idReader` argument of "Symfony\\Bridge\\Doctrine\\Form\\ChoiceList\\DoctrineChoiceLoader::__construct" must be null when the query cannot be optimized because of composite id fields.'); $idReader = $this->createMock(IdReader::class); $idReader->expects($this->once()) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/ORMQueryBuilderLoaderTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/ORMQueryBuilderLoaderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/ORMQueryBuilderLoaderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/ORMQueryBuilderLoaderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,15 +11,21 @@ namespace Symfony\Bridge\Doctrine\Tests\Form\ChoiceList; +use Doctrine\DBAL\ArrayParameterType; use Doctrine\DBAL\Connection; -use Doctrine\DBAL\Result; use Doctrine\DBAL\Types\GuidType; use Doctrine\DBAL\Types\Type; use Doctrine\ORM\AbstractQuery; -use Doctrine\ORM\Version; +use Doctrine\ORM\Query; +use Doctrine\ORM\QueryBuilder; +use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Symfony\Bridge\Doctrine\Form\ChoiceList\ORMQueryBuilderLoader; use Symfony\Bridge\Doctrine\Tests\DoctrineTestHelper; +use Symfony\Bridge\Doctrine\Tests\Fixtures\EmbeddedIdentifierEntity; +use Symfony\Bridge\Doctrine\Tests\Fixtures\LegacyQueryMock; +use Symfony\Bridge\Doctrine\Tests\Fixtures\SingleIntIdEntity; +use Symfony\Bridge\Doctrine\Tests\Fixtures\SingleStringIdEntity; use Symfony\Bridge\Doctrine\Types\UlidType; use Symfony\Bridge\Doctrine\Types\UuidType; use Symfony\Component\Form\Exception\TransformationFailedException; @@ -36,21 +42,19 @@ public function testIdentifierTypeIsStringArray() { - $this->checkIdentifierType('Symfony\Bridge\Doctrine\Tests\Fixtures\SingleStringIdEntity', Connection::PARAM_STR_ARRAY); + $this->checkIdentifierType(SingleStringIdEntity::class, class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY); } public function testIdentifierTypeIsIntegerArray() { - $this->checkIdentifierType('Symfony\Bridge\Doctrine\Tests\Fixtures\SingleIntIdEntity', Connection::PARAM_INT_ARRAY); + $this->checkIdentifierType(SingleIntIdEntity::class, class_exists(ArrayParameterType::class) ? ArrayParameterType::INTEGER : Connection::PARAM_INT_ARRAY); } - protected function checkIdentifierType($classname, $expectedType) + protected function checkIdentifierType(string $classname, $expectedType) { $em = DoctrineTestHelper::createTestEntityManager(); - $query = $this->getMockBuilder(QueryMock::class) - ->onlyMethods(['setParameter', 'getResult', 'getSql', '_doExecute']) - ->getMock(); + $query = $this->getQueryMock(); $query ->method('getResult') @@ -61,7 +65,7 @@ ->with('ORMQueryBuilderLoader_getEntitiesByIds_id', [1, 2], $expectedType) ->willReturn($query); - $qb = $this->getMockBuilder(\Doctrine\ORM\QueryBuilder::class) + $qb = $this->getMockBuilder(QueryBuilder::class) ->setConstructorArgs([$em]) ->onlyMethods(['getQuery']) ->getMock(); @@ -81,9 +85,7 @@ { $em = DoctrineTestHelper::createTestEntityManager(); - $query = $this->getMockBuilder(QueryMock::class) - ->onlyMethods(['setParameter', 'getResult', 'getSql', '_doExecute']) - ->getMock(); + $query = $this->getQueryMock(); $query ->method('getResult') @@ -91,10 +93,10 @@ $query->expects($this->once()) ->method('setParameter') - ->with('ORMQueryBuilderLoader_getEntitiesByIds_id', [1, 2, 3, '9223372036854775808'], Connection::PARAM_INT_ARRAY) + ->with('ORMQueryBuilderLoader_getEntitiesByIds_id', [1, 2, 3, '9223372036854775808'], class_exists(ArrayParameterType::class) ? ArrayParameterType::INTEGER : Connection::PARAM_INT_ARRAY) ->willReturn($query); - $qb = $this->getMockBuilder(\Doctrine\ORM\QueryBuilder::class) + $qb = $this->getMockBuilder(QueryBuilder::class) ->setConstructorArgs([$em]) ->onlyMethods(['getQuery']) ->getMock(); @@ -117,9 +119,7 @@ { $em = DoctrineTestHelper::createTestEntityManager(); - $query = $this->getMockBuilder(QueryMock::class) - ->onlyMethods(['setParameter', 'getResult', 'getSql', '_doExecute']) - ->getMock(); + $query = $this->getQueryMock(); $query ->method('getResult') @@ -127,10 +127,10 @@ $query->expects($this->once()) ->method('setParameter') - ->with('ORMQueryBuilderLoader_getEntitiesByIds_id', ['71c5fd46-3f16-4abb-bad7-90ac1e654a2d', 'b98e8e11-2897-44df-ad24-d2627eb7f499'], Connection::PARAM_STR_ARRAY) + ->with('ORMQueryBuilderLoader_getEntitiesByIds_id', ['71c5fd46-3f16-4abb-bad7-90ac1e654a2d', 'b98e8e11-2897-44df-ad24-d2627eb7f499'], class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY) ->willReturn($query); - $qb = $this->getMockBuilder(\Doctrine\ORM\QueryBuilder::class) + $qb = $this->getMockBuilder(QueryBuilder::class) ->setConstructorArgs([$em]) ->onlyMethods(['getQuery']) ->getMock(); @@ -162,9 +162,7 @@ $em = DoctrineTestHelper::createTestEntityManager(); - $query = $this->getMockBuilder(QueryMock::class) - ->onlyMethods(['setParameter', 'getResult', 'getSql', '_doExecute']) - ->getMock(); + $query = $this->getQueryMock(); $query ->method('getResult') @@ -172,10 +170,10 @@ $query->expects($this->once()) ->method('setParameter') - ->with('ORMQueryBuilderLoader_getEntitiesByIds_id', [Uuid::fromString('71c5fd46-3f16-4abb-bad7-90ac1e654a2d')->toBinary(), Uuid::fromString('b98e8e11-2897-44df-ad24-d2627eb7f499')->toBinary()], Connection::PARAM_STR_ARRAY) + ->with('ORMQueryBuilderLoader_getEntitiesByIds_id', [Uuid::fromString('71c5fd46-3f16-4abb-bad7-90ac1e654a2d')->toBinary(), Uuid::fromString('b98e8e11-2897-44df-ad24-d2627eb7f499')->toBinary()], class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY) ->willReturn($query); - $qb = $this->getMockBuilder(\Doctrine\ORM\QueryBuilder::class) + $qb = $this->getMockBuilder(QueryBuilder::class) ->setConstructorArgs([$em]) ->onlyMethods(['getQuery']) ->getMock(); @@ -207,7 +205,7 @@ $em = DoctrineTestHelper::createTestEntityManager(); - $qb = $this->getMockBuilder(\Doctrine\ORM\QueryBuilder::class) + $qb = $this->getMockBuilder(QueryBuilder::class) ->setConstructorArgs([$em]) ->onlyMethods(['getQuery']) ->getMock(); @@ -228,17 +226,9 @@ public function testEmbeddedIdentifierName() { - if (Version::compare('2.5.0') > 0) { - $this->markTestSkipped('Applicable only for Doctrine >= 2.5.0'); - - return; - } - $em = DoctrineTestHelper::createTestEntityManager(); - $query = $this->getMockBuilder(QueryMock::class) - ->onlyMethods(['setParameter', 'getResult', 'getSql', '_doExecute']) - ->getMock(); + $query = $this->getQueryMock(); $query ->method('getResult') @@ -246,10 +236,10 @@ $query->expects($this->once()) ->method('setParameter') - ->with('ORMQueryBuilderLoader_getEntitiesByIds_id_value', [1, 2, 3], Connection::PARAM_INT_ARRAY) + ->with('ORMQueryBuilderLoader_getEntitiesByIds_id_value', [1, 2, 3], class_exists(ArrayParameterType::class) ? ArrayParameterType::INTEGER : Connection::PARAM_INT_ARRAY) ->willReturn($query); - $qb = $this->getMockBuilder(\Doctrine\ORM\QueryBuilder::class) + $qb = $this->getMockBuilder(QueryBuilder::class) ->setConstructorArgs([$em]) ->onlyMethods(['getQuery']) ->getMock(); @@ -258,13 +248,13 @@ ->willReturn($query); $qb->select('e') - ->from('Symfony\Bridge\Doctrine\Tests\Fixtures\EmbeddedIdentifierEntity', 'e'); + ->from(EmbeddedIdentifierEntity::class, 'e'); $loader = new ORMQueryBuilderLoader($qb); $loader->getEntitiesByIds('id.value', [1, '', 2, 3, 'foo']); } - public static function provideGuidEntityClasses() + public static function provideGuidEntityClasses(): array { return [ ['Symfony\Bridge\Doctrine\Tests\Fixtures\GuidIdEntity'], @@ -272,32 +262,21 @@ ]; } - public static function provideUidEntityClasses() + public static function provideUidEntityClasses(): array { return [ ['Symfony\Bridge\Doctrine\Tests\Fixtures\UuidIdEntity'], ['Symfony\Bridge\Doctrine\Tests\Fixtures\UlidIdEntity'], ]; } -} - -class QueryMock extends AbstractQuery -{ - public function __construct() - { - } /** - * @return array|string + * @return (LegacyQueryMock&MockObject)|(Query&MockObject) */ - public function getSQL() + private function getQueryMock(): AbstractQuery { - } + $class = ((new \ReflectionClass(Query::class))->isFinal()) ? LegacyQueryMock::class : Query::class; - /** - * @return Result|int - */ - protected function _doExecute() - { + return $this->createMock($class); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/DoctrineOrmTypeGuesserTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/DoctrineOrmTypeGuesserTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/DoctrineOrmTypeGuesserTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/DoctrineOrmTypeGuesserTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,6 +13,8 @@ use Doctrine\DBAL\Types\Types; use Doctrine\ORM\Mapping\ClassMetadata; +use Doctrine\ORM\Mapping\JoinColumnMapping; +use Doctrine\ORM\Mapping\ManyToOneAssociationMapping; use Doctrine\Persistence\ManagerRegistry; use Doctrine\Persistence\ObjectManager; use PHPUnit\Framework\TestCase; @@ -69,33 +71,49 @@ public function testRequiredGuesserOneToOneNullable() { - $classMetadata = $this->createMock(ClassMetadata::class); - $classMetadata->expects($this->once())->method('isAssociationWithSingleJoinColumn')->with('field')->willReturn(true); + $classMetadata = new ClassMetadata('Acme\Entity\Foo'); - $mapping = ['joinColumns' => [[]]]; - $classMetadata->expects($this->once())->method('getAssociationMapping')->with('field')->willReturn($mapping); + if (class_exists(ManyToOneAssociationMapping::class)) { + $associationMapping = new ManyToOneAssociationMapping('field', 'Acme\Entity\Foo', 'Acme\Entity\Bar'); + $associationMapping->joinColumns[] = new JoinColumnMapping('field', 'field'); + } else { + $associationMapping = ['joinColumns' => [[]]]; + } + $classMetadata->associationMappings['field'] = $associationMapping; $this->assertEquals(new ValueGuess(false, Guess::HIGH_CONFIDENCE), $this->getGuesser($classMetadata)->guessRequired('TestEntity', 'field')); } public function testRequiredGuesserOneToOneExplicitNullable() { - $classMetadata = $this->createMock(ClassMetadata::class); - $classMetadata->expects($this->once())->method('isAssociationWithSingleJoinColumn')->with('field')->willReturn(true); + $classMetadata = new ClassMetadata('Acme\Entity\Foo'); - $mapping = ['joinColumns' => [['nullable' => true]]]; - $classMetadata->expects($this->once())->method('getAssociationMapping')->with('field')->willReturn($mapping); + if (class_exists(ManyToOneAssociationMapping::class)) { + $associationMapping = new ManyToOneAssociationMapping('field', 'Acme\Entity\Foo', 'Acme\Entity\Bar'); + $joinColumnMapping = new JoinColumnMapping('field', 'field'); + $joinColumnMapping->nullable = true; + $associationMapping->joinColumns[] = $joinColumnMapping; + } else { + $associationMapping = ['joinColumns' => [['nullable' => true]]]; + } + $classMetadata->associationMappings['field'] = $associationMapping; $this->assertEquals(new ValueGuess(false, Guess::HIGH_CONFIDENCE), $this->getGuesser($classMetadata)->guessRequired('TestEntity', 'field')); } public function testRequiredGuesserOneToOneNotNullable() { - $classMetadata = $this->createMock(ClassMetadata::class); - $classMetadata->expects($this->once())->method('isAssociationWithSingleJoinColumn')->with('field')->willReturn(true); + $classMetadata = new ClassMetadata('Acme\Entity\Foo'); - $mapping = ['joinColumns' => [['nullable' => false]]]; - $classMetadata->expects($this->once())->method('getAssociationMapping')->with('field')->willReturn($mapping); + if (class_exists(ManyToOneAssociationMapping::class)) { + $associationMapping = new ManyToOneAssociationMapping('field', 'Acme\Entity\Foo', 'Acme\Entity\Bar'); + $joinColumnMapping = new JoinColumnMapping('field', 'field'); + $joinColumnMapping->nullable = false; + $associationMapping->joinColumns[] = $joinColumnMapping; + } else { + $associationMapping = ['joinColumns' => [['nullable' => false]]]; + } + $classMetadata->associationMappings['field'] = $associationMapping; $this->assertEquals(new ValueGuess(true, Guess::HIGH_CONFIDENCE), $this->getGuesser($classMetadata)->guessRequired('TestEntity', 'field')); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypePerformanceTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypePerformanceTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypePerformanceTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypePerformanceTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,7 +24,7 @@ */ class EntityTypePerformanceTest extends FormPerformanceTestCase { - private const ENTITY_CLASS = 'Symfony\Bridge\Doctrine\Tests\Fixtures\SingleIntIdEntity'; + private const ENTITY_CLASS = SingleIntIdEntity::class; /** * @var \Doctrine\ORM\EntityManager diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -158,7 +158,7 @@ } } - public static function choiceTranslationDomainProvider() + public static function choiceTranslationDomainProvider(): array { return [ [false], @@ -240,8 +240,6 @@ return new \stdClass(); }, ]); - - $field->submit('2'); } public function testConfigureQueryBuilderWithClosureReturningNullUseDefault() @@ -785,7 +783,7 @@ 'em' => 'default', 'class' => self::ITEM_GROUP_CLASS, 'choice_label' => 'name', - 'choice_value' => function (GroupableEntity $entity = null) { + 'choice_value' => function (?GroupableEntity $entity = null) { if (null === $entity) { return ''; } @@ -1348,19 +1346,6 @@ $this->assertEquals('name', $view->vars['full_name']); } - public function testStripLeadingUnderscoresAndDigitsFromId() - { - $view = $this->factory->createNamed('_09name', static::TESTED_TYPE, null, [ - 'em' => 'default', - 'class' => self::SINGLE_IDENT_CLASS, - ]) - ->createView(); - - $this->assertEquals('name', $view->vars['id']); - $this->assertEquals('_09name', $view->vars['name']); - $this->assertEquals('_09name', $view->vars['full_name']); - } - public function testPassIdAndNameToViewWithParent() { $view = $this->factory->createNamedBuilder('parent', FormTypeTest::TESTED_TYPE) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,6 +11,7 @@ namespace Symfony\Bridge\Doctrine\Tests\Logger; +use Doctrine\DBAL\Logging\SQLLogger; use PHPUnit\Framework\TestCase; use Psr\Log\LoggerInterface; use Symfony\Bridge\Doctrine\Logger\DbalLogger; @@ -20,6 +21,13 @@ */ class DbalLoggerTest extends TestCase { + public static function setUpBeforeClass(): void + { + if (!class_exists(SQLLogger::class)) { + self::markTestSkipped('This test requires DBAL < 4.'); + } + } + /** * @dataProvider getLogFixtures */ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,8 +15,8 @@ use ProxyManager\Proxy\LazyLoadingInterface; use ProxyManager\Proxy\ValueHolderInterface; use Symfony\Bridge\Doctrine\ManagerRegistry; +use Symfony\Bridge\Doctrine\Tests\Fixtures\DummyManager; use Symfony\Bridge\ProxyManager\LazyProxy\PhpDumper\ProxyDumper; -use Symfony\Bridge\ProxyManager\Tests\LazyProxy\Dumper\PhpDumperTest; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\Dumper\PhpDumper; @@ -26,13 +26,20 @@ { public static function setUpBeforeClass(): void { - $test = new PhpDumperTest(); - $test->testDumpContainerWithProxyServiceWillShareProxies(); + $container = new ContainerBuilder(); + + $container->register('foo', DummyManager::class)->setPublic(true); + $container->getDefinition('foo')->setLazy(true); + $container->compile(); + + $dumper = new PhpDumper($container); + $dumper->setProxyDumper(new ProxyDumper()); + eval('?>'.$dumper->dump(['class' => 'LazyServiceDoctrineBridgeContainer'])); } public function testResetService() { - $container = new \LazyServiceProjectServiceContainer(); + $container = new \LazyServiceDoctrineBridgeContainer(); $registry = new TestManagerRegistry('name', [], ['defaultManager' => 'foo'], 'defaultConnection', 'defaultManager', 'proxyInterfaceName'); $registry->setTestContainer($container); @@ -44,8 +51,8 @@ $registry->resetManager(); $this->assertSame($foo, $container->get('foo')); - $this->assertInstanceOf(\stdClass::class, $foo); - $this->assertFalse(property_exists($foo, 'bar')); + $this->assertInstanceOf(DummyManager::class, $foo); + $this->assertFalse(isset($foo->bar)); } /** @@ -77,7 +84,7 @@ $service = $container->get('foo'); - self::assertInstanceOf(\stdClass::class, $service); + self::assertInstanceOf(DummyManager::class, $service); self::assertInstanceOf(LazyLoadingInterface::class, $service); self::assertInstanceOf(ValueHolderInterface::class, $service); self::assertFalse($service->isProxyInitialized()); @@ -91,7 +98,7 @@ $service->initializeProxy(); $wrappedValue = $service->getWrappedValueHolderValue(); - self::assertInstanceOf(\stdClass::class, $wrappedValue); + self::assertInstanceOf(DummyManager::class, $wrappedValue); self::assertNotInstanceOf(LazyLoadingInterface::class, $wrappedValue); self::assertNotInstanceOf(ValueHolderInterface::class, $wrappedValue); } @@ -104,7 +111,7 @@ $container = new ContainerBuilder(); - $container->register('foo', \stdClass::class) + $container->register('foo', DummyManager::class) ->setPublic(true) ->setLazy(true); $container->compile(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineCloseConnectionMiddlewareTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineCloseConnectionMiddlewareTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineCloseConnectionMiddlewareTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineCloseConnectionMiddlewareTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -62,7 +62,7 @@ $managerRegistry ->method('getManager') ->with('unknown_manager') - ->will($this->throwException(new \InvalidArgumentException())); + ->willThrowException(new \InvalidArgumentException()); $middleware = new DoctrineCloseConnectionMiddleware($managerRegistry, 'unknown_manager'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineOpenTransactionLoggerMiddlewareTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineOpenTransactionLoggerMiddlewareTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineOpenTransactionLoggerMiddlewareTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineOpenTransactionLoggerMiddlewareTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -50,9 +50,9 @@ public function testMiddlewareWrapsInTransactionAndFlushes() { - $this->connection->expects($this->exactly(1)) - ->method('isTransactionActive') - ->will($this->onConsecutiveCalls(true, true, false)) + $this->connection->expects($this->exactly(2)) + ->method('getTransactionNestingLevel') + ->willReturn(0, 1) ; $this->middleware->handle(new Envelope(new \stdClass()), $this->getStackMock()); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrinePingConnectionMiddlewareTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrinePingConnectionMiddlewareTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrinePingConnectionMiddlewareTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrinePingConnectionMiddlewareTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,8 +13,11 @@ use Doctrine\DBAL\Connection; use Doctrine\DBAL\Exception as DBALException; +use Doctrine\DBAL\Platforms\AbstractPlatform; +use Doctrine\DBAL\Result; use Doctrine\ORM\EntityManagerInterface; use Doctrine\Persistence\ManagerRegistry; +use PHPUnit\Framework\MockObject\MockObject; use Symfony\Bridge\Doctrine\Messenger\DoctrinePingConnectionMiddleware; use Symfony\Component\Messenger\Envelope; use Symfony\Component\Messenger\Exception\UnrecoverableMessageHandlingException; @@ -47,16 +50,24 @@ public function testMiddlewarePingOk() { - $this->connection->expects($this->once()) - ->method('getDatabasePlatform') - ->will($this->throwException(new DBALException())); + $this->connection->method('getDatabasePlatform') + ->willReturn($this->mockPlatform()); + + $this->connection->expects($this->exactly(2)) + ->method('executeQuery') + ->willReturnCallback(function () { + static $counter = 0; + + if (1 === ++$counter) { + throw $this->createMock(DBALException::class); + } + + return $this->createMock(Result::class); + }); $this->connection->expects($this->once()) ->method('close') ; - $this->connection->expects($this->once()) - ->method('connect') - ; $envelope = new Envelope(new \stdClass(), [ new ConsumedByWorkerStamp(), @@ -66,9 +77,8 @@ public function testMiddlewarePingResetEntityManager() { - $this->connection->expects($this->once()) - ->method('getDatabasePlatform') - ->will($this->throwException(new DBALException())); + $this->connection->method('getDatabasePlatform') + ->willReturn($this->mockPlatform()); $this->entityManager->expects($this->once()) ->method('isOpen') @@ -91,7 +101,7 @@ $managerRegistry ->method('getManager') ->with('unknown_manager') - ->will($this->throwException(new \InvalidArgumentException())); + ->willThrowException(new \InvalidArgumentException()); $middleware = new DoctrinePingConnectionMiddleware($managerRegistry, 'unknown_manager'); @@ -112,11 +122,17 @@ $this->connection->expects($this->never()) ->method('close') ; - $this->connection->expects($this->never()) - ->method('connect') - ; $envelope = new Envelope(new \stdClass()); $this->middleware->handle($envelope, $this->getStackMock()); } + + /** @return AbstractPlatform&MockObject */ + private function mockPlatform(): AbstractPlatform + { + $platform = $this->createMock(AbstractPlatform::class); + $platform->method('getDummySelectSQL')->willReturn('SELECT 1'); + + return $platform; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineTransactionMiddlewareTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineTransactionMiddlewareTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineTransactionMiddlewareTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Messenger/DoctrineTransactionMiddlewareTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -73,7 +73,7 @@ $managerRegistry ->method('getManager') ->with('unknown_manager') - ->will($this->throwException(new \InvalidArgumentException())); + ->willThrowException(new \InvalidArgumentException()); $middleware = new DoctrineTransactionMiddleware($managerRegistry, 'unknown_manager'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Middleware/Debug/MiddlewareTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Middleware/Debug/MiddlewareTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Middleware/Debug/MiddlewareTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Middleware/Debug/MiddlewareTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,8 +16,11 @@ use Doctrine\DBAL\Driver\Middleware as MiddlewareInterface; use Doctrine\DBAL\DriverManager; use Doctrine\DBAL\ParameterType; +use Doctrine\DBAL\Query\QueryBuilder; use Doctrine\DBAL\Result; +use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory; use Doctrine\DBAL\Types\Types; +use Doctrine\ORM\ORMSetup; use PHPUnit\Framework\TestCase; use Symfony\Bridge\Doctrine\Middleware\Debug\DebugDataHolder; use Symfony\Bridge\Doctrine\Middleware\Debug\Middleware; @@ -48,14 +51,17 @@ { $this->stopwatch = $withStopwatch ? new Stopwatch() : null; - $configuration = new Configuration(); + $config = class_exists(ORMSetup::class) ? ORMSetup::createConfiguration(true) : new Configuration(); + if (class_exists(DefaultSchemaManagerFactory::class)) { + $config->setSchemaManagerFactory(new DefaultSchemaManagerFactory()); + } $this->debugDataHolder = new DebugDataHolder(); - $configuration->setMiddlewares([new Middleware($this->debugDataHolder, $this->stopwatch)]); + $config->setMiddlewares([new Middleware($this->debugDataHolder, $this->stopwatch)]); $this->conn = DriverManager::getConnection([ 'driver' => 'pdo_sqlite', 'memory' => true, - ], $configuration); + ], $config); $this->conn->executeQuery(<<init(); $product = 'product1'; - $price = 12.5; + $price = '12.5'; $stock = 5; $stmt = $this->conn->prepare('INSERT INTO products(name, price, stock) VALUES (?, ?, ?)'); - $stmt->bindParam(1, $product); - $stmt->bindParam(2, $price); - $stmt->bindParam(3, $stock, ParameterType::INTEGER); + $stmt->bindValue(1, $product); + $stmt->bindValue(2, $price); + $stmt->bindValue(3, $stock, ParameterType::INTEGER); $executeMethod($stmt); @@ -173,13 +179,13 @@ { return [ 'commit' => [ - static function (Connection $conn): bool { + static function (Connection $conn): ?bool { return $conn->commit(); }, '"COMMIT"', ], 'rollback' => [ - static function (Connection $conn): bool { + static function (Connection $conn): ?bool { return $conn->rollBack(); }, '"ROLLBACK"', @@ -194,6 +200,7 @@ { $this->init(); + $this->conn->setNestTransactionsWithSavepoints(true); $this->conn->beginTransaction(); $this->conn->beginTransaction(); $this->conn->executeStatement('INSERT INTO products(name, price, stock) VALUES ("product1", 12.5, 5)'); @@ -204,19 +211,23 @@ $endTransactionMethod($this->conn); $debug = $this->debugDataHolder->getData()['default'] ?? []; - $this->assertCount(7, $debug); + $this->assertCount(9, $debug); $this->assertSame('"START TRANSACTION"', $debug[1]['sql']); $this->assertGreaterThan(0, $debug[1]['executionMS']); - $this->assertSame('INSERT INTO products(name, price, stock) VALUES ("product1", 12.5, 5)', $debug[2]['sql']); + $this->assertSame(method_exists(QueryBuilder::class, 'resetOrderBy') ? 'SAVEPOINT DOCTRINE_2' : 'SAVEPOINT DOCTRINE2_SAVEPOINT_2', $debug[2]['sql']); $this->assertGreaterThan(0, $debug[2]['executionMS']); - $this->assertSame($expectedEndTransactionDebug, $debug[3]['sql']); + $this->assertSame('INSERT INTO products(name, price, stock) VALUES ("product1", 12.5, 5)', $debug[3]['sql']); $this->assertGreaterThan(0, $debug[3]['executionMS']); - $this->assertSame('"START TRANSACTION"', $debug[4]['sql']); + $this->assertSame(('"ROLLBACK"' === $expectedEndTransactionDebug ? 'ROLLBACK TO' : 'RELEASE').' '.(method_exists(QueryBuilder::class, 'resetOrderBy') ? 'SAVEPOINT DOCTRINE_2' : 'SAVEPOINT DOCTRINE2_SAVEPOINT_2'), $debug[4]['sql']); $this->assertGreaterThan(0, $debug[4]['executionMS']); - $this->assertSame('INSERT INTO products(name, price, stock) VALUES ("product2", 15.5, 12)', $debug[5]['sql']); + $this->assertSame($expectedEndTransactionDebug, $debug[5]['sql']); $this->assertGreaterThan(0, $debug[5]['executionMS']); - $this->assertSame($expectedEndTransactionDebug, $debug[6]['sql']); + $this->assertSame('"START TRANSACTION"', $debug[6]['sql']); $this->assertGreaterThan(0, $debug[6]['executionMS']); + $this->assertSame('INSERT INTO products(name, price, stock) VALUES ("product2", 15.5, 12)', $debug[7]['sql']); + $this->assertGreaterThan(0, $debug[7]['executionMS']); + $this->assertSame($expectedEndTransactionDebug, $debug[8]['sql']); + $this->assertGreaterThan(0, $debug[8]['executionMS']); } public static function provideExecuteAndEndTransactionMethods(): array @@ -226,7 +237,7 @@ static function (Connection $conn, string $sql) { return $conn->executeStatement($sql); }, - static function (Connection $conn): bool { + static function (Connection $conn): ?bool { return $conn->commit(); }, ], @@ -234,7 +245,7 @@ static function (Connection $conn, string $sql): Result { return $conn->executeQuery($sql); }, - static function (Connection $conn): bool { + static function (Connection $conn): ?bool { return $conn->rollBack(); }, ], @@ -242,7 +253,7 @@ static function (Connection $conn, string $sql): Result { return $conn->prepare($sql)->executeQuery(); }, - static function (Connection $conn): bool { + static function (Connection $conn): ?bool { return $conn->commit(); }, ], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,18 +11,27 @@ namespace Symfony\Bridge\Doctrine\Tests\PropertyInfo; +use Doctrine\Common\Annotations\AnnotationReader; use Doctrine\Common\Collections\Collection; +use Doctrine\Common\EventManager; +use Doctrine\DBAL\DriverManager; +use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory; +use Doctrine\DBAL\Types\BigIntType; use Doctrine\DBAL\Types\Type as DBALType; use Doctrine\ORM\EntityManager; use Doctrine\ORM\Mapping\Column; +use Doctrine\ORM\Mapping\Driver\AnnotationDriver; +use Doctrine\ORM\Mapping\Driver\AttributeDriver; use Doctrine\ORM\ORMSetup; use Doctrine\ORM\Tools\Setup; use PHPUnit\Framework\TestCase; use Symfony\Bridge\Doctrine\PropertyInfo\DoctrineExtractor; use Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\DoctrineDummy; +use Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\DoctrineEmbeddable; use Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\DoctrineEnum; use Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\DoctrineGeneratedValue; use Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\DoctrineRelation; +use Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\DoctrineWithEmbedded; use Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\EnumInt; use Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\EnumString; use Symfony\Component\PropertyInfo\Type; @@ -32,12 +41,26 @@ */ class DoctrineExtractorTest extends TestCase { - private function createExtractor() + private function createExtractor(): DoctrineExtractor { $config = class_exists(ORMSetup::class) - ? ORMSetup::createAnnotationMetadataConfiguration([__DIR__.\DIRECTORY_SEPARATOR.'Fixtures'], true) + ? ORMSetup::createConfiguration(true) : Setup::createAnnotationMetadataConfiguration([__DIR__.\DIRECTORY_SEPARATOR.'Fixtures'], true); - $entityManager = EntityManager::create(['driver' => 'pdo_sqlite'], $config); + if (\PHP_VERSION_ID >= 80000 && class_exists(AttributeDriver::class)) { + $config->setMetadataDriverImpl(new AttributeDriver([__DIR__.'/../Tests/Fixtures' => 'Symfony\Bridge\Doctrine\Tests\Fixtures'], true)); + } else { + $config->setMetadataDriverImpl(new AnnotationDriver(new AnnotationReader(), null, true)); + } + if (class_exists(DefaultSchemaManagerFactory::class)) { + $config->setSchemaManagerFactory(new DefaultSchemaManagerFactory()); + } + + if (!(new \ReflectionMethod(EntityManager::class, '__construct'))->isPublic()) { + $entityManager = EntityManager::create(['driver' => 'pdo_sqlite'], $config); + } else { + $eventManager = new EventManager(); + $entityManager = new EntityManager(DriverManager::getConnection(['driver' => 'pdo_sqlite'], $config, $eventManager), $config, $eventManager); + } if (!DBALType::hasType('foo')) { DBALType::addType('foo', 'Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\DoctrineFooType'); @@ -89,10 +112,6 @@ public function testTestGetPropertiesWithEmbedded() { - if (!class_exists(\Doctrine\ORM\Mapping\Embedded::class)) { - $this->markTestSkipped('@Embedded is not available in Doctrine ORM lower than 2.5.'); - } - $this->assertEquals( [ 'id', @@ -105,25 +124,21 @@ /** * @dataProvider typesProvider */ - public function testExtract($property, array $type = null) + public function testExtract(string $property, ?array $type = null) { $this->assertEquals($type, $this->createExtractor()->getTypes(DoctrineDummy::class, $property, [])); } public function testExtractWithEmbedded() { - if (!class_exists(\Doctrine\ORM\Mapping\Embedded::class)) { - $this->markTestSkipped('@Embedded is not available in Doctrine ORM lower than 2.5.'); - } - $expectedTypes = [new Type( Type::BUILTIN_TYPE_OBJECT, false, - 'Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\DoctrineEmbeddable' + DoctrineEmbeddable::class )]; $actualTypes = $this->createExtractor()->getTypes( - 'Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\DoctrineWithEmbedded', + DoctrineWithEmbedded::class, 'embedded', [] ); @@ -146,12 +161,19 @@ $this->assertNull($this->createExtractor()->getTypes(DoctrineEnum::class, 'enumCustom', [])); } - public static function typesProvider() + public static function typesProvider(): array { - $provider = [ + // DBAL 4 has a special fallback strategy for BINGINT (int -> string) + if (!method_exists(BigIntType::class, 'getName')) { + $expectedBingIntType = [new Type(Type::BUILTIN_TYPE_INT), new Type(Type::BUILTIN_TYPE_STRING)]; + } else { + $expectedBingIntType = [new Type(Type::BUILTIN_TYPE_STRING)]; + } + + return [ ['id', [new Type(Type::BUILTIN_TYPE_INT)]], ['guid', [new Type(Type::BUILTIN_TYPE_STRING)]], - ['bigint', [new Type(Type::BUILTIN_TYPE_STRING)]], + ['bigint', $expectedBingIntType], ['time', [new Type(Type::BUILTIN_TYPE_OBJECT, false, 'DateTime')]], ['timeImmutable', [new Type(Type::BUILTIN_TYPE_OBJECT, false, 'DateTimeImmutable')]], ['dateInterval', [new Type(Type::BUILTIN_TYPE_OBJECT, false, 'DateInterval')]], @@ -231,8 +253,6 @@ )]], ['json', null], ]; - - return $provider; } public function testGetPropertiesCatchException() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineDummy.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineDummy.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineDummy.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineDummy.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,102 +23,122 @@ * * @author Kévin Dunglas */ +#[Entity] class DoctrineDummy { /** * @Id * @Column(type="smallint") */ + #[Id, Column(type: 'smallint')] public $id; /** * @ManyToOne(targetEntity="DoctrineRelation") */ + #[ManyToOne(targetEntity: DoctrineRelation::class)] public $foo; /** * @ManyToMany(targetEntity="DoctrineRelation") */ + #[ManyToMany(targetEntity: DoctrineRelation::class)] public $bar; /** * @ManyToMany(targetEntity="DoctrineRelation", indexBy="rguid") */ + #[ManyToMany(targetEntity: DoctrineRelation::class, indexBy: 'rguid')] protected $indexedRguid; /** * @ManyToMany(targetEntity="DoctrineRelation", indexBy="rguid_column") */ + #[ManyToMany(targetEntity: DoctrineRelation::class, indexBy: 'rguid_column')] protected $indexedBar; /** * @OneToMany(targetEntity="DoctrineRelation", mappedBy="foo", indexBy="foo") */ + #[OneToMany(targetEntity: DoctrineRelation::class, mappedBy: 'foo', indexBy: 'foo')] protected $indexedFoo; /** * @OneToMany(targetEntity="DoctrineRelation", mappedBy="baz", indexBy="baz_id") */ + #[OneToMany(targetEntity: DoctrineRelation::class, mappedBy: 'baz', indexBy: 'baz_id')] protected $indexedBaz; /** * @Column(type="guid") */ + #[Column(type: 'guid')] protected $guid; /** * @Column(type="time") */ + #[Column(type: 'time')] private $time; /** * @Column(type="time_immutable") */ + #[Column(type: 'time_immutable')] private $timeImmutable; /** * @Column(type="dateinterval") */ + #[Column(type: 'dateinterval')] private $dateInterval; /** * @Column(type="json_array") */ + #[Column(type: 'json_array')] private $jsonArray; /** * @Column(type="simple_array") */ + #[Column(type: 'simple_array')] private $simpleArray; /** * @Column(type="float") */ + #[Column(type: 'float')] private $float; /** * @Column(type="decimal", precision=10, scale=2) */ + #[Column(type: 'decimal', precision: 10, scale: 2)] private $decimal; /** * @Column(type="boolean") */ + #[Column(type: 'boolean')] private $bool; /** * @Column(type="binary") */ + #[Column(type: 'binary')] private $binary; /** * @Column(type="custom_foo") */ + #[Column(type: 'custom_foo')] private $customFoo; /** * @Column(type="bigint") */ + #[Column(type: 'bigint')] private $bigint; public $notMapped; @@ -126,25 +146,30 @@ /** * @OneToMany(targetEntity="DoctrineRelation", mappedBy="dt", indexBy="dt") */ + #[OneToMany(targetEntity: DoctrineRelation::class, mappedBy: 'dt', indexBy: 'dt')] protected $indexedByDt; /** * @OneToMany(targetEntity="DoctrineRelation", mappedBy="customType", indexBy="customType") */ + #[OneToMany(targetEntity: DoctrineRelation::class, mappedBy: 'customType', indexBy: 'customType')] private $indexedByCustomType; /** * @OneToMany(targetEntity="DoctrineRelation", mappedBy="buzField", indexBy="buzField") */ + #[OneToMany(targetEntity: DoctrineRelation::class, mappedBy: 'buzField', indexBy: 'buzField')] protected $indexedBuz; /** * @Column(type="json", nullable=true) */ + #[Column(type: 'json', nullable: true)] private $json; /** * @OneToMany(targetEntity="DoctrineRelation", mappedBy="dummyRelation", indexBy="gen_value_col_id", orphanRemoval=true) */ + #[OneToMany(targetEntity: DoctrineRelation::class, mappedBy: 'dummyRelation', indexBy: 'gen_value_col_id', orphanRemoval: true)] protected $dummyGeneratedValueList; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineEmbeddable.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineEmbeddable.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineEmbeddable.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineEmbeddable.php 2026-05-20 08:22:01.000000000 +0000 @@ -19,10 +19,12 @@ * * @author Udaltsov Valentin */ +#[Embeddable] class DoctrineEmbeddable { /** * @Column(type="string") */ + #[Column(type: 'string')] protected $field; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineEnum.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineEnum.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineEnum.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineEnum.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,36 +18,43 @@ /** * @Entity */ +#[Entity] class DoctrineEnum { /** * @Id * @Column(type="smallint") */ + #[Id, Column(type: 'smallint')] public $id; /** * @Column(type="string", enumType="Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\EnumString") */ + #[Column(type: 'string', enumType: EnumString::class)] protected $enumString; /** * @Column(type="integer", enumType="Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\EnumInt") */ + #[Column(type: 'integer', enumType: EnumInt::class)] protected $enumInt; /** * @Column(type="array", enumType="Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\EnumString") */ + #[Column(type: 'array', enumType: EnumString::class)] protected $enumStringArray; /** * @Column(type="simple_array", enumType="Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\EnumInt") */ + #[Column(type: 'simple_array', enumType: EnumInt::class)] protected $enumIntArray; /** * @Column(type="custom_foo", enumType="Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\EnumInt") */ + #[Column(type: 'custom_foo', enumType: EnumInt::class)] protected $enumCustom; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineFooType.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineFooType.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineFooType.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineFooType.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,10 +43,8 @@ /** * {@inheritdoc} - * - * @return mixed */ - public function convertToDatabaseValue($value, AbstractPlatform $platform) + public function convertToDatabaseValue($value, AbstractPlatform $platform): ?string { if (null === $value) { return null; @@ -60,10 +58,8 @@ /** * {@inheritdoc} - * - * @return mixed */ - public function convertToPHPValue($value, AbstractPlatform $platform) + public function convertToPHPValue($value, AbstractPlatform $platform): ?Foo { if (null === $value) { return null; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineGeneratedValue.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineGeneratedValue.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineGeneratedValue.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineGeneratedValue.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,6 +22,7 @@ * * @Entity */ +#[Entity] class DoctrineGeneratedValue { /** @@ -29,21 +30,25 @@ * @GeneratedValue(strategy="AUTO") * @Column(type="integer") */ + #[Id, GeneratedValue(strategy: 'AUTO'), Column(type: 'integer')] public $id; /** * @Column */ + #[Column] public $foo; /** * @var int * @Column(type="integer", name="gen_value_col_id") */ + #[Column(type: 'integer', name: 'gen_value_col_id')] public $valueId; /** * @OneToMany(targetEntity="DoctrineRelation", mappedBy="generatedValueRelation", indexBy="rguid_column", orphanRemoval=true) */ + #[OneToMany(targetEntity: DoctrineRelation::class, mappedBy: 'generatedValueRelation', indexBy: 'rguid_column', orphanRemoval: true)] protected $relationList; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineRelation.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineRelation.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineRelation.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineRelation.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,54 +22,67 @@ * * @author Kévin Dunglas */ +#[Entity] class DoctrineRelation { /** * @Id * @Column(type="smallint") */ + #[Id, Column(type: 'smallint')] public $id; /** * @Column(type="guid", name="rguid_column") */ + #[Column(type: 'guid', name: 'rguid_column')] protected $rguid; /** * @Column(type="guid") * @ManyToOne(targetEntity="DoctrineDummy", inversedBy="indexedFoo") */ + #[Column(type: 'guid')] + #[ManyToOne(targetEntity: DoctrineDummy::class, inversedBy: 'indexedFoo')] protected $foo; /** * @ManyToOne(targetEntity="DoctrineDummy") */ + #[ManyToOne(targetEntity: DoctrineDummy::class)] protected $baz; /** * @Column(type="datetime") */ + #[Column(type: 'datetime')] private $dt; /** * @Column(type="foo") */ + #[Column(type: 'foo')] private $customType; /** * @Column(type="guid", name="different_than_field") * @ManyToOne(targetEntity="DoctrineDummy", inversedBy="indexedBuz") */ + #[Column(type: 'guid', name: 'different_than_field')] + #[ManyToOne(targetEntity: DoctrineDummy::class, inversedBy: 'indexedBuz')] protected $buzField; /** * @ManyToOne(targetEntity="DoctrineDummy", inversedBy="dummyGeneratedValueList") */ + #[ManyToOne(targetEntity: DoctrineDummy::class, inversedBy: 'dummyGeneratedValueList')] private $dummyRelation; /** * @ManyToOne(targetEntity="DoctrineGeneratedValue", inversedBy="relationList") * @JoinColumn(name="gen_value_col_id", referencedColumnName="gen_value_col_id") */ + #[ManyToOne(targetEntity: DoctrineGeneratedValue::class, inversedBy: 'relationList')] + #[JoinColumn(name: 'gen_value_col_id', referencedColumnName: 'gen_value_col_id')] private $generatedValueRelation; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineWithEmbedded.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineWithEmbedded.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineWithEmbedded.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineWithEmbedded.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,16 +21,19 @@ * * @author Udaltsov Valentin */ +#[Entity] class DoctrineWithEmbedded { /** * @Id * @Column(type="smallint") */ + #[Id, Column(type: 'smallint')] public $id; /** * @Embedded(class="DoctrineEmbeddable") */ + #[Embedded(class: DoctrineEmbeddable::class)] protected $embedded; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/SchemaListener/MessengerTransportDoctrineSchemaSubscriberTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/SchemaListener/MessengerTransportDoctrineSchemaSubscriberTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/SchemaListener/MessengerTransportDoctrineSchemaSubscriberTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/SchemaListener/MessengerTransportDoctrineSchemaSubscriberTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -49,6 +49,10 @@ public function testOnSchemaCreateTable() { + if (!class_exists(SchemaCreateTableEventArgs::class)) { + self::markTestSkipped('This test requires DBAL < 4.'); + } + $platform = $this->createMock(AbstractPlatform::class); $table = new Table('queue_table'); $event = new SchemaCreateTableEventArgs($table, [], [], $platform); @@ -80,6 +84,10 @@ public function testOnSchemaCreateTableNoExtraSql() { + if (!class_exists(SchemaCreateTableEventArgs::class)) { + self::markTestSkipped('This test requires DBAL < 4.'); + } + $platform = $this->createMock(AbstractPlatform::class); $table = new Table('queue_table'); $event = new SchemaCreateTableEventArgs($table, [], [], $platform); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderPostgresTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderPostgresTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderPostgresTest.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderPostgresTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,55 @@ +setSchemaManagerFactory(new DefaultSchemaManagerFactory()); + } + + $connection = DriverManager::getConnection([ + 'driver' => 'pdo_pgsql', + 'host' => getenv('POSTGRES_HOST'), + 'user' => 'postgres', + 'password' => 'password', + ], $config); + $connection->{method_exists($connection, 'executeStatement') ? 'executeStatement' : 'executeUpdate'}(<<<'SQL' + DROP TABLE IF EXISTS rememberme_token; +SQL + ); + + $connection->{method_exists($connection, 'executeStatement') ? 'executeStatement' : 'executeUpdate'}(<<<'SQL' + CREATE TABLE rememberme_token ( + series CHAR(88) UNIQUE PRIMARY KEY NOT NULL, + value VARCHAR(88) NOT NULL, -- CHAR(88) adds spaces at the end + lastUsed TIMESTAMP NOT NULL, + class VARCHAR(100) NOT NULL, + username VARCHAR(200) NOT NULL + ); +SQL + ); + + return new DoctrineTokenProvider($connection); + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -9,9 +9,12 @@ * file that was distributed with this source code. */ -namespace Security\RememberMe; +namespace Symfony\Bridge\Doctrine\Tests\Security\RememberMe; +use Doctrine\DBAL\Configuration; use Doctrine\DBAL\DriverManager; +use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory; +use Doctrine\ORM\ORMSetup; use PHPUnit\Framework\TestCase; use Symfony\Bridge\Doctrine\Security\RememberMe\DoctrineTokenProvider; use Symfony\Component\Security\Core\Authentication\RememberMe\PersistentToken; @@ -118,12 +121,17 @@ /** * @return DoctrineTokenProvider */ - private function bootstrapProvider() + protected function bootstrapProvider() { + $config = class_exists(ORMSetup::class) ? ORMSetup::createConfiguration(true) : new Configuration(); + if (class_exists(DefaultSchemaManagerFactory::class)) { + $config->setSchemaManagerFactory(new DefaultSchemaManagerFactory()); + } + $connection = DriverManager::getConnection([ 'driver' => 'pdo_sqlite', - 'url' => 'sqlite:///:memory:', - ]); + 'memory' => true, + ], $config); $connection->{method_exists($connection, 'executeStatement') ? 'executeStatement' : 'executeUpdate'}(<<< 'SQL' CREATE TABLE rememberme_token ( series char(88) UNIQUE PRIMARY KEY NOT NULL, diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/User/EntityUserProviderTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/User/EntityUserProviderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/User/EntityUserProviderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Security/User/EntityUserProviderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,10 +12,12 @@ namespace Symfony\Bridge\Doctrine\Tests\Security\User; use Doctrine\ORM\EntityManager; +use Doctrine\ORM\EntityRepository; use Doctrine\ORM\Tools\SchemaTool; use Doctrine\Persistence\ManagerRegistry; use Doctrine\Persistence\ObjectManager; use Doctrine\Persistence\ObjectRepository; +use Doctrine\Persistence\Proxy; use PHPUnit\Framework\TestCase; use Symfony\Bridge\Doctrine\Security\User\EntityUserProvider; use Symfony\Bridge\Doctrine\Security\User\UserLoaderInterface; @@ -197,6 +199,27 @@ $provider->upgradePassword($user, 'foobar'); } + public function testRefreshedUserProxyIsLoaded() + { + $em = DoctrineTestHelper::createTestEntityManager(); + $this->createSchema($em); + + $user = new User(1, 1, 'user1'); + + $em->persist($user); + $em->flush(); + $em->clear(); + + // store a proxy in the identity map + $em->getReference(User::class, ['id1' => 1, 'id2' => 1]); + + $provider = new EntityUserProvider($this->getManager($em), User::class); + $refreshedUser = $provider->refreshUser($user); + + $this->assertInstanceOf(Proxy::class, $refreshedUser); + $this->assertTrue($refreshedUser->__isInitialized()); + } + private function getManager($em, $name = null) { $manager = $this->createMock(ManagerRegistry::class); @@ -210,14 +233,11 @@ private function getObjectManager($repository) { - $em = $this->getMockBuilder(ObjectManager::class) - ->onlyMethods(['getClassMetadata', 'getRepository']) - ->getMockForAbstractClass(); - $em->expects($this->any()) - ->method('getRepository') + $objectManager = $this->createMock(ObjectManager::class); + $objectManager->method('getRepository') ->willReturn($repository); - return $em; + return $objectManager; } private function createSchema($em) @@ -229,12 +249,12 @@ } } -abstract class UserLoaderRepository implements ObjectRepository, UserLoaderInterface +abstract class UserLoaderRepository extends EntityRepository implements UserLoaderInterface { abstract public function loadUserByIdentifier(string $identifier): ?UserInterface; } -abstract class PasswordUpgraderRepository implements ObjectRepository, PasswordUpgraderInterface +abstract class PasswordUpgraderRepository extends EntityRepository implements PasswordUpgraderInterface { abstract public function upgradePassword(PasswordAuthenticatedUserInterface $user, string $newHashedPassword): void; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Types/UlidTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Types/UlidTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Types/UlidTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Types/UlidTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,9 +12,10 @@ namespace Symfony\Bridge\Doctrine\Tests\Types; use Doctrine\DBAL\Platforms\AbstractPlatform; +use Doctrine\DBAL\Platforms\MariaDBPlatform; use Doctrine\DBAL\Platforms\MySQLPlatform; use Doctrine\DBAL\Platforms\PostgreSQLPlatform; -use Doctrine\DBAL\Platforms\SqlitePlatform; +use Doctrine\DBAL\Platforms\SQLitePlatform; use Doctrine\DBAL\Types\ConversionException; use Doctrine\DBAL\Types\Type; use PHPUnit\Framework\TestCase; @@ -25,6 +26,9 @@ // DBAL 2 compatibility class_exists('Doctrine\DBAL\Platforms\PostgreSqlPlatform'); +// DBAL 3 compatibility +class_exists('Doctrine\DBAL\Platforms\SqlitePlatform'); + final class UlidTypeTest extends TestCase { private const DUMMY_ULID = '01EEDQEK6ZAZE93J8KG5B4MBJC'; @@ -84,25 +88,25 @@ { $this->expectException(ConversionException::class); - $this->type->convertToDatabaseValue(new \stdClass(), new SqlitePlatform()); + $this->type->convertToDatabaseValue(new \stdClass(), new SQLitePlatform()); } public function testNullConversionForDatabaseValue() { - $this->assertNull($this->type->convertToDatabaseValue(null, new SqlitePlatform())); + $this->assertNull($this->type->convertToDatabaseValue(null, new SQLitePlatform())); } public function testUlidInterfaceConvertsToPHPValue() { $ulid = $this->createMock(AbstractUid::class); - $actual = $this->type->convertToPHPValue($ulid, new SqlitePlatform()); + $actual = $this->type->convertToPHPValue($ulid, new SQLitePlatform()); $this->assertSame($ulid, $actual); } public function testUlidConvertsToPHPValue() { - $ulid = $this->type->convertToPHPValue(self::DUMMY_ULID, new SqlitePlatform()); + $ulid = $this->type->convertToPHPValue(self::DUMMY_ULID, new SQLitePlatform()); $this->assertInstanceOf(Ulid::class, $ulid); $this->assertEquals(self::DUMMY_ULID, $ulid->__toString()); @@ -112,19 +116,19 @@ { $this->expectException(ConversionException::class); - $this->type->convertToPHPValue('abcdefg', new SqlitePlatform()); + $this->type->convertToPHPValue('abcdefg', new SQLitePlatform()); } public function testNullConversionForPHPValue() { - $this->assertNull($this->type->convertToPHPValue(null, new SqlitePlatform())); + $this->assertNull($this->type->convertToPHPValue(null, new SQLitePlatform())); } public function testReturnValueIfUlidForPHPValue() { $ulid = new Ulid(); - $this->assertSame($ulid, $this->type->convertToPHPValue($ulid, new SqlitePlatform())); + $this->assertSame($ulid, $this->type->convertToPHPValue($ulid, new SQLitePlatform())); } public function testGetName() @@ -140,17 +144,19 @@ $this->assertEquals($expectedDeclaration, $this->type->getSqlDeclaration(['length' => 36], $platform)); } - public static function provideSqlDeclarations(): array + public static function provideSqlDeclarations(): \Generator { - return [ - [new PostgreSQLPlatform(), 'UUID'], - [new SqlitePlatform(), 'BLOB'], - [new MySQLPlatform(), 'BINARY(16)'], - ]; + yield [new PostgreSQLPlatform(), 'UUID']; + yield [new SQLitePlatform(), 'BLOB']; + yield [new MySQLPlatform(), 'BINARY(16)']; + + if (class_exists(MariaDBPlatform::class)) { + yield [new MariaDBPlatform(), 'BINARY(16)']; + } } public function testRequiresSQLCommentHint() { - $this->assertTrue($this->type->requiresSQLCommentHint(new SqlitePlatform())); + $this->assertTrue($this->type->requiresSQLCommentHint(new SQLitePlatform())); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Types/UuidTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Types/UuidTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Types/UuidTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Types/UuidTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,6 +12,7 @@ namespace Symfony\Bridge\Doctrine\Tests\Types; use Doctrine\DBAL\Platforms\AbstractPlatform; +use Doctrine\DBAL\Platforms\MariaDBPlatform; use Doctrine\DBAL\Platforms\MySQLPlatform; use Doctrine\DBAL\Platforms\PostgreSQLPlatform; use Doctrine\DBAL\Platforms\SqlitePlatform; @@ -152,13 +153,15 @@ $this->assertEquals($expectedDeclaration, $this->type->getSqlDeclaration(['length' => 36], $platform)); } - public static function provideSqlDeclarations(): array + public static function provideSqlDeclarations(): \Generator { - return [ - [new PostgreSQLPlatform(), 'UUID'], - [new SqlitePlatform(), 'BLOB'], - [new MySQLPlatform(), 'BINARY(16)'], - ]; + yield [new PostgreSQLPlatform(), 'UUID']; + yield [new SqlitePlatform(), 'BLOB']; + yield [new MySQLPlatform(), 'BINARY(16)']; + + if (class_exists(MariaDBPlatform::class)) { + yield [new MariaDBPlatform(), 'BINARY(16)']; + } } public function testRequiresSQLCommentHint() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -63,6 +63,13 @@ self::assertSame('some attached data', $constraint->payload); self::assertSame(['some_group'], $constraint->groups); } + + public function testValueOptionConfiguresFields() + { + $constraint = new UniqueEntity(['value' => 'email']); + + $this->assertSame('email', $constraint->fields); + } } #[UniqueEntity(['email'], message: 'myMessage')] diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,11 +13,13 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\DBAL\Types\Type; +use Doctrine\ORM\EntityRepository; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\ClassMetadataInfo; use Doctrine\ORM\Tools\SchemaTool; use Doctrine\Persistence\ManagerRegistry; use Doctrine\Persistence\ObjectManager; -use Doctrine\Persistence\ObjectRepository; +use PHPUnit\Framework\MockObject\MockObject; use Symfony\Bridge\Doctrine\Tests\DoctrineTestHelper; use Symfony\Bridge\Doctrine\Tests\Fixtures\AssociationEntity; use Symfony\Bridge\Doctrine\Tests\Fixtures\AssociationEntity2; @@ -26,6 +28,7 @@ use Symfony\Bridge\Doctrine\Tests\Fixtures\DoubleNameEntity; use Symfony\Bridge\Doctrine\Tests\Fixtures\DoubleNullableNameEntity; use Symfony\Bridge\Doctrine\Tests\Fixtures\Employee; +use Symfony\Bridge\Doctrine\Tests\Fixtures\MockableRepository; use Symfony\Bridge\Doctrine\Tests\Fixtures\Person; use Symfony\Bridge\Doctrine\Tests\Fixtures\SingleIntIdEntity; use Symfony\Bridge\Doctrine\Tests\Fixtures\SingleIntIdNoToStringEntity; @@ -58,7 +61,7 @@ protected $registry; /** - * @var ObjectRepository + * @var MockObject&EntityRepository */ protected $repository; @@ -95,13 +98,10 @@ protected function createRepositoryMock() { - $repository = $this->getMockBuilder(ObjectRepository::class) - ->onlyMethods(['find', 'findAll', 'findOneBy', 'findBy', 'getClassName']) - ->addMethods(['findByCustom']) - ->getMock() - ; - - return $repository; + return $this->getMockBuilder(MockableRepository::class) + ->disableOriginalConstructor() + ->onlyMethods(['find', 'findAll', 'findOneBy', 'findBy', 'getClassName', 'findByCustom']) + ->getMock(); } protected function createEntityManagerMock($repositoryMock) @@ -112,7 +112,9 @@ ->willReturn($repositoryMock) ; - $classMetadata = $this->createMock(ClassMetadataInfo::class); + $classMetadata = $this->createMock( + class_exists(ClassMetadataInfo::class) ? ClassMetadataInfo::class : ClassMetadata::class + ); $classMetadata ->expects($this->any()) ->method('hasField') @@ -474,7 +476,7 @@ $this->assertNoViolation(); } - public static function resultTypesProvider() + public static function resultTypesProvider(): array { $entity = new SingleIntIdEntity(1, 'foo'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/DoctrineLoaderTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/DoctrineLoaderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/DoctrineLoaderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Tests/Validator/DoctrineLoaderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,6 +12,7 @@ namespace Symfony\Bridge\Doctrine\Tests\Validator; use Doctrine\ORM\Mapping\Column; +use Doctrine\ORM\Mapping\Driver\AnnotationDriver; use PHPUnit\Framework\TestCase; use Symfony\Bridge\Doctrine\Tests\DoctrineTestHelper; use Symfony\Bridge\Doctrine\Tests\Fixtures\BaseUser; @@ -47,9 +48,12 @@ public function testLoadClassMetadata() { - $validator = Validation::createValidatorBuilder() - ->enableAnnotationMapping(true) - ->addDefaultDoctrineAnnotationReader() + $validatorBuilder = Validation::createValidatorBuilder()->enableAnnotationMapping(true); + if (class_exists(AnnotationDriver::class) && method_exists($validatorBuilder, 'addDefaultDoctrineAnnotationReader')) { + $validatorBuilder->addDefaultDoctrineAnnotationReader(); + } + + $validator = $validatorBuilder ->addLoader(new DoctrineLoader(DoctrineTestHelper::createTestEntityManager(), '{^Symfony\\\\Bridge\\\\Doctrine\\\\Tests\\\\Fixtures\\\\DoctrineLoader}')) ->getValidator() ; @@ -100,9 +104,6 @@ $parentClassMetadata = $validator->getMetadataFor(new DoctrineLoaderParentEntity()); - $publicParentMaxLengthMetadata = $parentClassMetadata->getPropertyMetadata('publicParentMaxLength'); - $this->assertCount(0, $publicParentMaxLengthMetadata); - $privateParentMaxLengthMetadata = $parentClassMetadata->getPropertyMetadata('privateParentMaxLength'); $this->assertCount(1, $privateParentMaxLengthMetadata); $privateParentMaxLengthConstraints = $privateParentMaxLengthMetadata[0]->getConstraints(); @@ -160,10 +161,15 @@ $this->markTestSkipped('The "enumType" requires doctrine/orm 2.11.'); } - $validator = Validation::createValidatorBuilder() + $validatorBuilder = Validation::createValidatorBuilder() ->addMethodMapping('loadValidatorMetadata') - ->enableAnnotationMapping(true) - ->addDefaultDoctrineAnnotationReader() + ->enableAnnotationMapping(true); + + if (class_exists(AnnotationDriver::class) && method_exists($validatorBuilder, 'addDefaultDoctrineAnnotationReader')) { + $validatorBuilder->addDefaultDoctrineAnnotationReader(); + } + + $validator = $validatorBuilder ->addLoader(new DoctrineLoader(DoctrineTestHelper::createTestEntityManager(), '{^Symfony\\\\Bridge\\\\Doctrine\\\\Tests\\\\Fixtures\\\\DoctrineLoader}')) ->getValidator() ; @@ -179,9 +185,13 @@ public function testFieldMappingsConfiguration() { - $validator = Validation::createValidatorBuilder() - ->enableAnnotationMapping(true) - ->addDefaultDoctrineAnnotationReader() + $validatorBuilder = Validation::createValidatorBuilder()->enableAnnotationMapping(true); + + if (class_exists(AnnotationDriver::class) && method_exists($validatorBuilder, 'addDefaultDoctrineAnnotationReader')) { + $validatorBuilder->addDefaultDoctrineAnnotationReader(); + } + + $validator = $validatorBuilder ->addXmlMappings([__DIR__.'/../Resources/validator/BaseUser.xml']) ->addLoader( new DoctrineLoader( @@ -201,7 +211,7 @@ /** * @dataProvider regexpProvider */ - public function testClassValidator(bool $expected, string $classValidatorRegexp = null) + public function testClassValidator(bool $expected, ?string $classValidatorRegexp = null) { $doctrineLoader = new DoctrineLoader(DoctrineTestHelper::createTestEntityManager(), $classValidatorRegexp, false); @@ -209,7 +219,7 @@ $this->assertSame($expected, $doctrineLoader->loadClassMetadata($classMetadata)); } - public static function regexpProvider() + public static function regexpProvider(): array { return [ [false, null], @@ -221,9 +231,13 @@ public function testClassNoAutoMapping() { - $validator = Validation::createValidatorBuilder() - ->enableAnnotationMapping(true) - ->addDefaultDoctrineAnnotationReader() + $validatorBuilder = Validation::createValidatorBuilder()->enableAnnotationMapping(true); + + if (class_exists(AnnotationDriver::class) && method_exists($validatorBuilder, 'addDefaultDoctrineAnnotationReader')) { + $validatorBuilder->addDefaultDoctrineAnnotationReader(); + } + + $validator = $validatorBuilder ->addLoader(new DoctrineLoader(DoctrineTestHelper::createTestEntityManager(), '{.*}')) ->getValidator(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Types/AbstractUidType.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Types/AbstractUidType.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Types/AbstractUidType.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Types/AbstractUidType.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,6 +13,8 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Types\ConversionException; +use Doctrine\DBAL\Types\Exception\InvalidType; +use Doctrine\DBAL\Types\Exception\ValueNotConvertible; use Doctrine\DBAL\Types\Type; use Symfony\Component\Uid\AbstractUid; @@ -33,7 +35,7 @@ } return $platform->getBinaryTypeDeclarationSQL([ - 'length' => '16', + 'length' => 16, 'fixed' => true, ]); } @@ -50,13 +52,13 @@ } if (!\is_string($value)) { - throw ConversionException::conversionFailedInvalidType($value, $this->getName(), ['null', 'string', AbstractUid::class]); + $this->throwInvalidType($value); } try { return $this->getUidClass()::fromString($value); } catch (\InvalidArgumentException $e) { - throw ConversionException::conversionFailed($value, $this->getName(), $e); + $this->throwValueNotConvertible($value, $e); } } @@ -78,13 +80,13 @@ } if (!\is_string($value)) { - throw ConversionException::conversionFailedInvalidType($value, $this->getName(), ['null', 'string', AbstractUid::class]); + $this->throwInvalidType($value); } try { return $this->getUidClass()::fromString($value)->$toString(); } catch (\InvalidArgumentException $e) { - throw ConversionException::conversionFailed($value, $this->getName()); + $this->throwValueNotConvertible($value, $e); } } @@ -105,4 +107,32 @@ return $platform->getGuidTypeDeclarationSQL([]) !== $platform->$method(['fixed' => true, 'length' => 36]); } + + /** + * @param mixed $value + * + * @return never + */ + private function throwInvalidType($value): void + { + if (!class_exists(InvalidType::class)) { + throw ConversionException::conversionFailedInvalidType($value, $this->getName(), ['null', 'string', AbstractUid::class]); + } + + throw InvalidType::new($value, $this->getName(), ['null', 'string', AbstractUid::class]); + } + + /** + * @param mixed $value + * + * @return never + */ + private function throwValueNotConvertible($value, \Throwable $previous): void + { + if (!class_exists(ValueNotConvertible::class)) { + throw ConversionException::conversionFailed($value, $this->getName(), $previous); + } + + throw ValueNotConvertible::new($value, $this->getName(), null, $previous); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntity.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntity.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntity.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntity.php 2026-05-20 08:22:01.000000000 +0000 @@ -46,14 +46,14 @@ */ public function __construct( $fields, - string $message = null, - string $service = null, - string $em = null, - string $entityClass = null, - string $repositoryMethod = null, - string $errorPath = null, - bool $ignoreNull = null, - array $groups = null, + ?string $message = null, + ?string $service = null, + ?string $em = null, + ?string $entityClass = null, + ?string $repositoryMethod = null, + ?string $errorPath = null, + ?bool $ignoreNull = null, + ?array $groups = null, $payload = null, array $options = [] ) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php 2026-05-20 08:22:01.000000000 +0000 @@ -104,7 +104,7 @@ $criteria[$fieldName] = $fieldValue; - if (null !== $criteria[$fieldName] && $class->hasAssociation($fieldName)) { + if (\is_object($criteria[$fieldName]) && $class->hasAssociation($fieldName)) { /* Ensure the Proxy is initialized before using reflection to * read its identifiers. This is necessary because the wrapped * getter methods in the Proxy are being bypassed. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Validator/DoctrineLoader.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Validator/DoctrineLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/Validator/DoctrineLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/Validator/DoctrineLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,7 +12,8 @@ namespace Symfony\Bridge\Doctrine\Validator; use Doctrine\ORM\EntityManagerInterface; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata as OrmClassMetadata; +use Doctrine\ORM\Mapping\FieldMapping; use Doctrine\ORM\Mapping\MappingException as OrmMappingException; use Doctrine\Persistence\Mapping\MappingException; use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; @@ -36,7 +37,7 @@ private $entityManager; private $classValidatorRegexp; - public function __construct(EntityManagerInterface $entityManager, string $classValidatorRegexp = null) + public function __construct(EntityManagerInterface $entityManager, ?string $classValidatorRegexp = null) { $this->entityManager = $entityManager; $this->classValidatorRegexp = $classValidatorRegexp; @@ -54,7 +55,7 @@ return false; } - if (!$doctrineMetadata instanceof ClassMetadataInfo) { + if (!$doctrineMetadata instanceof OrmClassMetadata) { return false; } @@ -75,7 +76,7 @@ foreach ($doctrineMetadata->fieldMappings as $mapping) { $enabledForProperty = $enabledForClass; $lengthConstraint = null; - foreach ($metadata->getPropertyMetadata($mapping['fieldName']) as $propertyMetadata) { + foreach ($metadata->getPropertyMetadata(self::getFieldMappingValue($mapping, 'fieldName')) as $propertyMetadata) { // Enabling or disabling auto-mapping explicitly always takes precedence if (AutoMappingStrategy::DISABLED === $propertyMetadata->getAutoMappingStrategy()) { continue 2; @@ -95,26 +96,26 @@ continue; } - if (true === ($mapping['unique'] ?? false) && !isset($existingUniqueFields[$mapping['fieldName']])) { - $metadata->addConstraint(new UniqueEntity(['fields' => $mapping['fieldName']])); + if (true === (self::getFieldMappingValue($mapping, 'unique') ?? false) && !isset($existingUniqueFields[self::getFieldMappingValue($mapping, 'fieldName')])) { + $metadata->addConstraint(new UniqueEntity(['fields' => self::getFieldMappingValue($mapping, 'fieldName')])); $loaded = true; } - if (null === ($mapping['length'] ?? null) || null !== ($mapping['enumType'] ?? null) || !\in_array($mapping['type'], ['string', 'text'], true)) { + if (null === (self::getFieldMappingValue($mapping, 'length') ?? null) || null !== (self::getFieldMappingValue($mapping, 'enumType') ?? null) || !\in_array(self::getFieldMappingValue($mapping, 'type'), ['string', 'text'], true)) { continue; } if (null === $lengthConstraint) { - if (isset($mapping['originalClass']) && !str_contains($mapping['declaredField'], '.')) { - $metadata->addPropertyConstraint($mapping['declaredField'], new Valid()); + if (self::getFieldMappingValue($mapping, 'originalClass') && !str_contains(self::getFieldMappingValue($mapping, 'declaredField'), '.')) { + $metadata->addPropertyConstraint(self::getFieldMappingValue($mapping, 'declaredField'), new Valid()); $loaded = true; - } elseif (property_exists($className, $mapping['fieldName'])) { - $metadata->addPropertyConstraint($mapping['fieldName'], new Length(['max' => $mapping['length']])); + } elseif (property_exists($className, self::getFieldMappingValue($mapping, 'fieldName')) && (!$doctrineMetadata->isMappedSuperclass || $metadata->getReflectionClass()->getProperty(self::getFieldMappingValue($mapping, 'fieldName'))->isPrivate())) { + $metadata->addPropertyConstraint(self::getFieldMappingValue($mapping, 'fieldName'), new Length(['max' => self::getFieldMappingValue($mapping, 'length')])); $loaded = true; } } elseif (null === $lengthConstraint->max) { // If a Length constraint exists and no max length has been explicitly defined, set it - $lengthConstraint->max = $mapping['length']; + $lengthConstraint->max = self::getFieldMappingValue($mapping, 'length'); } } @@ -138,4 +139,18 @@ return $fields; } + + /** + * @param array|FieldMapping $mapping + * + * @return mixed + */ + private static function getFieldMappingValue($mapping, string $key) + { + if ($mapping instanceof FieldMapping) { + return $mapping->$key ?? null; + } + + return $mapping[$key] ?? null; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/composer.json symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/composer.json --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Doctrine/composer.json 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Doctrine/composer.json 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ "symfony/cache": "^5.4|^6.0", "symfony/config": "^4.4|^5.0|^6.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/form": "^5.4.21|^6.2.7", + "symfony/form": "^5.4.38|^6.4.6", "symfony/http-kernel": "^5.0|^6.0", "symfony/messenger": "^4.4|^5.0|^6.0", "symfony/doctrine-messenger": "^5.1|^6.0", @@ -40,31 +40,30 @@ "symfony/security-core": "^5.3|^6.0", "symfony/expression-language": "^4.4|^5.0|^6.0", "symfony/uid": "^5.1|^6.0", - "symfony/validator": "^5.2|^6.0", + "symfony/validator": "^5.4.25|~6.2.12|^6.3.1", "symfony/translation": "^4.4|^5.0|^6.0", "symfony/var-dumper": "^4.4|^5.0|^6.0", "doctrine/annotations": "^1.10.4|^2", "doctrine/collections": "^1.0|^2.0", - "doctrine/data-fixtures": "^1.1", - "doctrine/dbal": "^2.13.1|^3.0", - "doctrine/orm": "^2.7.4", + "doctrine/data-fixtures": "^1.1|^2", + "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/orm": "^2.7.4|^3", "psr/log": "^1|^2|^3" }, "conflict": { "doctrine/dbal": "<2.13.1", "doctrine/lexer": "<1.1", "doctrine/orm": "<2.7.4", - "phpunit/phpunit": "<5.4.3", "symfony/cache": "<5.4", "symfony/dependency-injection": "<4.4", - "symfony/form": "<5.4.21|>=6,<6.2.7", + "symfony/form": "<5.4.38|>=6,<6.4.6", "symfony/http-kernel": "<5", "symfony/messenger": "<4.4", "symfony/property-info": "<5", "symfony/proxy-manager-bridge": "<4.4.19", "symfony/security-bundle": "<5", "symfony/security-core": "<5.3", - "symfony/validator": "<5.2" + "symfony/validator": "<5.4.25|>=6,<6.2.12|>=6.3,<6.3.1" }, "suggest": { "symfony/form": "", diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,6 +22,8 @@ use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\ExpressionLanguage\ExpressionLanguage; +use Symfony\Component\VarDumper\Cloner\Data; +use Symfony\Component\VarDumper\Cloner\Stub; /** * @author Grégoire Pineau @@ -57,7 +59,7 @@ } $this - ->addOption('host', null, InputOption::VALUE_REQUIRED, 'The server host', '0.0.0.0:9911') + ->addOption('host', null, InputOption::VALUE_REQUIRED, 'The server host', '127.0.0.1:9911') ->addOption('format', null, InputOption::VALUE_REQUIRED, 'The line format', ConsoleFormatter::SIMPLE_FORMAT) ->addOption('date-format', null, InputOption::VALUE_REQUIRED, 'The date format', ConsoleFormatter::SIMPLE_DATE) ->addOption('filter', null, InputOption::VALUE_REQUIRED, 'An expression to filter log. Example: "level > 200 or channel in [\'app\', \'doctrine\']"') @@ -106,13 +108,18 @@ } foreach ($this->getLogs($socket) as $clientId => $message) { - $record = unserialize(base64_decode($message)); + $record = @unserialize(base64_decode($message), [ + 'allowed_classes' => [Data::class, Stub::class], + ]); - // Impossible to decode the message, give up. - if (false === $record) { + if (!\is_array($record)) { continue; } + if (isset($record['datetime']) && \is_string($record['datetime'])) { + $record['datetime'] = \DateTimeImmutable::createFromFormat('Y-m-d\TH:i:s.uP', $record['datetime']) ?: $record['datetime']; + } + if ($filter && !$this->el->evaluate($filter, $record)) { continue; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Formatter/ConsoleFormatter.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Formatter/ConsoleFormatter.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Formatter/ConsoleFormatter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Formatter/ConsoleFormatter.php 2026-05-20 08:22:01.000000000 +0000 @@ -182,7 +182,7 @@ return $record; } - private function dumpData($data, bool $colors = null): string + private function dumpData($data, ?bool $colors = null): string { if (null === $this->dumper) { return ''; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Formatter/VarDumperFormatter.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Formatter/VarDumperFormatter.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Formatter/VarDumperFormatter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Formatter/VarDumperFormatter.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ { private $cloner; - public function __construct(VarCloner $cloner = null) + public function __construct(?VarCloner $cloner = null) { $this->cloner = $cloner ?? new VarCloner(); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Handler/ChromePhpHandler.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Handler/ChromePhpHandler.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Handler/ChromePhpHandler.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Handler/ChromePhpHandler.php 2026-05-20 08:22:01.000000000 +0000 @@ -40,7 +40,7 @@ return; } - if (!preg_match(static::USER_AGENT_REGEX, $event->getRequest()->headers->get('User-Agent'))) { + if (!preg_match(static::USER_AGENT_REGEX, $event->getRequest()->headers->get('User-Agent', ''))) { self::$sendHeaders = false; $this->headers = []; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Handler/ConsoleHandler.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Handler/ConsoleHandler.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Handler/ConsoleHandler.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Handler/ConsoleHandler.php 2026-05-20 08:22:01.000000000 +0000 @@ -60,7 +60,7 @@ * @param array $verbosityLevelMap Array that maps the OutputInterface verbosity to a minimum logging * level (leave empty to use the default mapping) */ - public function __construct(OutputInterface $output = null, bool $bubble = true, array $verbosityLevelMap = [], array $consoleFormatterOptions = []) + public function __construct(?OutputInterface $output = null, bool $bubble = true, array $verbosityLevelMap = [], array $consoleFormatterOptions = []) { parent::__construct(Logger::DEBUG, $bubble); $this->output = $output; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Handler/ElasticsearchLogstashHandler.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Handler/ElasticsearchLogstashHandler.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Handler/ElasticsearchLogstashHandler.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Handler/ElasticsearchLogstashHandler.php 2026-05-20 08:22:01.000000000 +0000 @@ -58,7 +58,7 @@ /** * @param string|int $level The minimum logging level at which this handler will be triggered */ - public function __construct(string $endpoint = 'http://127.0.0.1:9200', string $index = 'monolog', HttpClientInterface $client = null, $level = Logger::DEBUG, bool $bubble = true, string $elasticsearchVersion = '1.0.0') + public function __construct(string $endpoint = 'http://127.0.0.1:9200', string $index = 'monolog', ?HttpClientInterface $client = null, $level = Logger::DEBUG, bool $bubble = true, string $elasticsearchVersion = '1.0.0') { if (!interface_exists(HttpClientInterface::class)) { throw new \LogicException(sprintf('The "%s" handler needs an HTTP client. Try running "composer require symfony/http-client".', __CLASS__)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Handler/ServerLogHandler.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Handler/ServerLogHandler.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Handler/ServerLogHandler.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Handler/ServerLogHandler.php 2026-05-20 08:22:01.000000000 +0000 @@ -145,6 +145,10 @@ } } + if (isset($recordFormatted['datetime']) && $recordFormatted['datetime'] instanceof \DateTimeInterface) { + $recordFormatted['datetime'] = $recordFormatted['datetime']->format('Y-m-d\TH:i:s.uP'); + } + return base64_encode(serialize($recordFormatted))."\n"; } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Logger.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Logger.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Logger.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Logger.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ /** * {@inheritdoc} */ - public function getLogs(Request $request = null) + public function getLogs(?Request $request = null) { if ($logger = $this->getDebugLogger()) { return $logger->getLogs($request); @@ -37,7 +37,7 @@ /** * {@inheritdoc} */ - public function countErrors(Request $request = null) + public function countErrors(?Request $request = null) { if ($logger = $this->getDebugLogger()) { return $logger->countErrors($request); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Processor/DebugProcessor.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Processor/DebugProcessor.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Processor/DebugProcessor.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Processor/DebugProcessor.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ private $errorCount = []; private $requestStack; - public function __construct(RequestStack $requestStack = null) + public function __construct(?RequestStack $requestStack = null) { $this->requestStack = $requestStack; } @@ -68,7 +68,7 @@ /** * {@inheritdoc} */ - public function getLogs(Request $request = null) + public function getLogs(?Request $request = null) { if (null !== $request) { return $this->records[spl_object_hash($request)] ?? []; @@ -84,7 +84,7 @@ /** * {@inheritdoc} */ - public function countErrors(Request $request = null) + public function countErrors(?Request $request = null) { if (null !== $request) { return $this->errorCount[spl_object_hash($request)] ?? 0; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Processor/WebProcessor.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Processor/WebProcessor.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Processor/WebProcessor.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Processor/WebProcessor.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ */ class WebProcessor extends BaseWebProcessor implements EventSubscriberInterface { - public function __construct(array $extraFields = null) + public function __construct(?array $extraFields = null) { // Pass an empty array as the default null value would access $_SERVER parent::__construct([], $extraFields); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Tests/ClassThatInheritLogger.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/ClassThatInheritLogger.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Tests/ClassThatInheritLogger.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/ClassThatInheritLogger.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,12 +16,12 @@ class ClassThatInheritLogger extends Logger { - public function getLogs(Request $request = null): array + public function getLogs(?Request $request = null): array { return parent::getLogs($request); } - public function countErrors(Request $request = null): int + public function countErrors(?Request $request = null): int { return parent::countErrors($request); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Tests/Formatter/ConsoleFormatterTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Formatter/ConsoleFormatterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Tests/Formatter/ConsoleFormatterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Formatter/ConsoleFormatterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -14,6 +14,7 @@ use Monolog\Logger; use PHPUnit\Framework\TestCase; use Symfony\Bridge\Monolog\Formatter\ConsoleFormatter; +use Symfony\Component\VarDumper\Cloner\VarCloner; class ConsoleFormatterTest extends TestCase { @@ -60,4 +61,22 @@ ], ]; } + + public function testPlaceholderInMessageWithDataContext() + { + $context = (new VarCloner())->cloneVar(['user' => 'alice']); + $formatter = new ConsoleFormatter(['colors' => false]); + + $output = $formatter->format([ + 'message' => 'Hello {user}', + 'context' => $context, + 'level' => Logger::WARNING, + 'level_name' => Logger::getLevelName(Logger::WARNING), + 'channel' => 'test', + 'datetime' => '2019-01-01T00:42:00+00:00', + 'extra' => [], + ]); + + self::assertStringContainsString('Hello alice', $output); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ChromePhpHandlerTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ChromePhpHandlerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ChromePhpHandlerTest.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ChromePhpHandlerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,36 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bridge\Monolog\Tests\Handler; + +use PHPUnit\Framework\TestCase; +use Symfony\Bridge\Monolog\Handler\ChromePhpHandler; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\HttpKernel\Event\ResponseEvent; +use Symfony\Component\HttpKernel\HttpKernelInterface; + +class ChromePhpHandlerTest extends TestCase +{ + public function testOnKernelResponseShouldNotTriggerDeprecation() + { + $this->expectNotToPerformAssertions(); + + $request = Request::create('/'); + $request->headers->remove('User-Agent'); + + $response = new Response('foo'); + $event = new ResponseEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST, $response); + + $listener = new ChromePhpHandler(); + $listener->onKernelResponse($event); + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ConsoleHandlerTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ConsoleHandlerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ConsoleHandlerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ConsoleHandlerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -89,7 +89,7 @@ $this->assertFalse($handler->handle($infoRecord), 'The handler finished handling the log.'); } - public static function provideVerbosityMappingTests() + public static function provideVerbosityMappingTests(): array { return [ [OutputInterface::VERBOSITY_QUIET, Logger::ERROR, true], @@ -117,10 +117,7 @@ $output ->expects($this->exactly(2)) ->method('getVerbosity') - ->willReturnOnConsecutiveCalls( - OutputInterface::VERBOSITY_QUIET, - OutputInterface::VERBOSITY_DEBUG - ) + ->willReturn(OutputInterface::VERBOSITY_QUIET, OutputInterface::VERBOSITY_DEBUG) ; $handler = new ConsoleHandler($output); $this->assertFalse($handler->isHandling(['level' => Logger::NOTICE]), diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ServerLogHandlerTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ServerLogHandlerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ServerLogHandlerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Handler/ServerLogHandlerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,6 +18,7 @@ use Symfony\Bridge\Monolog\Formatter\VarDumperFormatter; use Symfony\Bridge\Monolog\Handler\ServerLogHandler; use Symfony\Component\VarDumper\Cloner\Data; +use Symfony\Component\VarDumper\Cloner\Stub; /** * Tests the ServerLogHandler. @@ -87,12 +88,20 @@ $message = fgets($stream); fclose($stream); - $record = unserialize(base64_decode($message)); + $record = unserialize(base64_decode($message), [ + 'allowed_classes' => [Data::class, Stub::class], + ]); $this->assertIsArray($record); $this->assertArrayHasKey('message', $record); $this->assertEquals('My info message', $record['message']); + $this->assertArrayHasKey('datetime', $record); + $this->assertIsString($record['datetime']); + $datetime = \DateTimeImmutable::createFromFormat('Y-m-d\TH:i:s.uP', $record['datetime']); + $this->assertInstanceOf(\DateTimeImmutable::class, $datetime); + $this->assertSame('2013-05-29 16:21:54', $datetime->format('Y-m-d H:i:s')); + $this->assertArrayHasKey('extra', $record); $this->assertInstanceOf(Data::class, $record['extra']); $extra = $record['extra']->getValue(true); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Tests/Processor/ClassThatInheritDebugProcessor.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Processor/ClassThatInheritDebugProcessor.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Monolog/Tests/Processor/ClassThatInheritDebugProcessor.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Monolog/Tests/Processor/ClassThatInheritDebugProcessor.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,12 +16,12 @@ class ClassThatInheritDebugProcessor extends DebugProcessor { - public function getLogs(Request $request = null): array + public function getLogs(?Request $request = null): array { return parent::getLogs($request); } - public function countErrors(Request $request = null): int + public function countErrors(?Request $request = null): int { return parent::countErrors($request); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/CoverageListener.php symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/CoverageListener.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/CoverageListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/CoverageListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ private $sutFqcnResolver; private $warningOnSutNotFound; - public function __construct(callable $sutFqcnResolver = null, bool $warningOnSutNotFound = false) + public function __construct(?callable $sutFqcnResolver = null, bool $warningOnSutNotFound = false) { $this->sutFqcnResolver = $sutFqcnResolver ?? static function (Test $test): ?string { $class = \get_class($test); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Configuration.php symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Configuration.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Configuration.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Configuration.php 2026-05-20 08:22:01.000000000 +0000 @@ -200,7 +200,9 @@ return false; } - if ($deprecation->originatesFromAnObject()) { + if ($deprecation->originatesFromDebugClassLoader()) { + $location = $deprecation->triggeringClass(); + } elseif ($deprecation->originatesFromAnObject()) { $location = $deprecation->originatingClass().'::'.$deprecation->originatingMethod(); } else { $location = 'procedural code'; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php 2026-05-20 08:22:01.000000000 +0000 @@ -41,6 +41,7 @@ private $originClass; private $originMethod; private $triggeringFile; + private $triggeringClass; /** @var string[] Absolute paths to vendor directories */ private static $vendors; @@ -61,6 +62,10 @@ */ public function __construct($message, array $trace, $file, $languageDeprecation = false) { + if (isset($trace[2]['class']) && \in_array($trace[2]['class'], [DebugClassLoader::class, LegacyDebugClassLoader::class], true)) { + $this->triggeringClass = $trace[2]['args'][0]; + } + if (isset($trace[2]['function']) && 'trigger_deprecation' === $trace[2]['function']) { $file = $trace[2]['file']; array_splice($trace, 1, 1); @@ -159,6 +164,26 @@ } /** + * @return bool + */ + public function originatesFromDebugClassLoader() + { + return isset($this->triggeringClass); + } + + /** + * @return string + */ + public function triggeringClass() + { + if (null === $this->triggeringClass) { + throw new \LogicException('Check with originatesFromDebugClassLoader() before calling this method.'); + } + + return $this->triggeringClass; + } + + /** * @return bool */ public function originatesFromAnObject() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,6 +11,7 @@ namespace Symfony\Bridge\PhpUnit; +use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestResult; use PHPUnit\Runner\ErrorHandler; use PHPUnit\Util\Error\Handler; @@ -371,13 +372,23 @@ } foreach (debug_backtrace(\DEBUG_BACKTRACE_PROVIDE_OBJECT | \DEBUG_BACKTRACE_IGNORE_ARGS) as $frame) { - if (isset($frame['object']) && $frame['object'] instanceof TestResult) { + if (!isset($frame['object'])) { + continue; + } + + if ($frame['object'] instanceof TestResult) { return new $eh( $frame['object']->getConvertDeprecationsToExceptions(), $frame['object']->getConvertErrorsToExceptions(), $frame['object']->getConvertNoticesToExceptions(), $frame['object']->getConvertWarningsToExceptions() ); + } elseif (ErrorHandler::class === $eh && $frame['object'] instanceof TestCase) { + return function (int $errorNumber, string $errorString, string $errorFile, int $errorLine) { + ErrorHandler::instance()($errorNumber, $errorString, $errorFile, $errorLine); + + return true; + }; } } @@ -399,31 +410,59 @@ } // Follow https://no-color.org/ - if (isset($_SERVER['NO_COLOR']) || false !== getenv('NO_COLOR')) { + if ('' !== (($_SERVER['NO_COLOR'] ?? getenv('NO_COLOR'))[0] ?? '')) { + return false; + } + + if (!self::isTty()) { return false; } - if ('Hyper' === getenv('TERM_PROGRAM')) { + if ('\\' === \DIRECTORY_SEPARATOR && \function_exists('sapi_windows_vt100_support') && @sapi_windows_vt100_support(\STDOUT)) { return true; } - if (\DIRECTORY_SEPARATOR === '\\') { - return (\function_exists('sapi_windows_vt100_support') - && sapi_windows_vt100_support(\STDOUT)) - || false !== getenv('ANSICON') - || 'ON' === getenv('ConEmuANSI') - || 'xterm' === getenv('TERM'); + if ('Hyper' === getenv('TERM_PROGRAM') + || false !== getenv('COLORTERM') + || false !== getenv('ANSICON') + || 'ON' === getenv('ConEmuANSI') + ) { + return true; + } + + if ('dumb' === $term = (string) getenv('TERM')) { + return false; + } + + // See https://github.com/chalk/supports-color/blob/d4f413efaf8da045c5ab440ed418ef02dbb28bf1/index.js#L157 + return preg_match('/^((screen|xterm|vt100|vt220|putty|rxvt|ansi|cygwin|linux).*)|(.*-256(color)?(-bce)?)$/', $term); + } + + /** + * Checks if the stream is a TTY, i.e; whether the output stream is connected to a terminal. + * + * Reference: Composer\Util\Platform::isTty + * https://github.com/composer/composer + */ + private static function isTty(): bool + { + // Detect msysgit/mingw and assume this is a tty because detection + // does not work correctly, see https://github.com/composer/composer/issues/9690 + if (\in_array(strtoupper((string) getenv('MSYSTEM')), ['MINGW32', 'MINGW64'], true)) { + return true; } + // Modern cross-platform function, includes the fstat fallback so if it is present we trust it if (\function_exists('stream_isatty')) { return @stream_isatty(\STDOUT); } - if (\function_exists('posix_isatty')) { - return @posix_isatty(\STDOUT); + // Only trusting this if it is positive, otherwise prefer fstat fallback. + if (\function_exists('posix_isatty') && @posix_isatty(\STDOUT)) { + return true; } - $stat = fstat(\STDOUT); + $stat = @fstat(\STDOUT); // Check if formatted mode is S_IFCHR return $stat ? 0020000 === ($stat['mode'] & 0170000) : false; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/Legacy/SymfonyTestsListenerTrait.php symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/Legacy/SymfonyTestsListenerTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/Legacy/SymfonyTestsListenerTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/Legacy/SymfonyTestsListenerTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,6 +13,7 @@ use Doctrine\Common\Annotations\AnnotationRegistry; use PHPUnit\Framework\AssertionFailedError; +use PHPUnit\Framework\DataProviderTestSuite; use PHPUnit\Framework\RiskyTestError; use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestSuite; @@ -196,7 +197,13 @@ public function addSkippedTest($test, \Exception $e, $time) { if (0 < $this->state) { - $this->isSkipped[\get_class($test)][$test->getName()] = 1; + if ($test instanceof DataProviderTestSuite) { + foreach ($test->tests() as $testWithDataProvider) { + $this->isSkipped[\get_class($testWithDataProvider)][$testWithDataProvider->getName()] = 1; + } + } else { + $this->isSkipped[\get_class($test)][$test->getName()] = 1; + } } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/ConfigurationTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/ConfigurationTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/ConfigurationTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/ConfigurationTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,6 +15,7 @@ use Symfony\Bridge\PhpUnit\DeprecationErrorHandler\Configuration; use Symfony\Bridge\PhpUnit\DeprecationErrorHandler\Deprecation; use Symfony\Bridge\PhpUnit\DeprecationErrorHandler\DeprecationGroup; +use Symfony\Component\ErrorHandler\DebugClassLoader; class ConfigurationTest extends TestCase { @@ -248,8 +249,8 @@ } } - public static function provideDataForToleratesForGroup() { - + public static function provideDataForToleratesForGroup(): iterable + { yield 'total threshold not reached' => ['max[total]=1', [ 'unsilenced' => 0, 'self' => 0, @@ -356,7 +357,7 @@ $this->assertTrue($configuration->isBaselineDeprecation(new Deprecation('Test message 1', $trace, ''))); $configuration->writeBaseline(); $this->assertEquals($filename, $configuration->getBaselineFile()); - $expected_baseline = [ + $expected = [ [ 'location' => 'Symfony\Bridge\PhpUnit\Tests\DeprecationErrorHandler\ConfigurationTest::runTest', 'message' => 'Test message 1', @@ -368,7 +369,7 @@ 'count' => 1, ], ]; - $this->assertEquals(json_encode($expected_baseline, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES), file_get_contents($filename)); + $this->assertEquals(json_encode($expected, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES), file_get_contents($filename)); } public function testBaselineGenerationNoFile() @@ -383,7 +384,7 @@ $this->assertTrue($configuration->isBaselineDeprecation(new Deprecation('Test message 1', $trace, ''))); $configuration->writeBaseline(); $this->assertEquals($filename, $configuration->getBaselineFile()); - $expected_baseline = [ + $expected = [ [ 'location' => 'Symfony\Bridge\PhpUnit\Tests\DeprecationErrorHandler\ConfigurationTest::runTest', 'message' => 'Test message 1', @@ -395,7 +396,7 @@ 'count' => 2, ], ]; - $this->assertEquals(json_encode($expected_baseline, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES), file_get_contents($filename)); + $this->assertEquals(json_encode($expected, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES), file_get_contents($filename)); } public function testExistingBaseline() @@ -447,7 +448,7 @@ $this->assertTrue($configuration->isBaselineDeprecation(new Deprecation('Test message 3', $trace, ''))); $configuration->writeBaseline(); $this->assertEquals($filename, $configuration->getBaselineFile()); - $expected_baseline = [ + $expected = [ [ 'location' => 'Symfony\Bridge\PhpUnit\Tests\DeprecationErrorHandler\ConfigurationTest::runTest', 'message' => 'Test message 2', @@ -459,7 +460,44 @@ 'count' => 1, ], ]; - $this->assertEquals(json_encode($expected_baseline, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES), file_get_contents($filename)); + $this->assertEquals(json_encode($expected, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES), file_get_contents($filename)); + } + + public function testBaselineGenerationWithDeprecationTriggeredByDebugClassLoader() + { + $filename = $this->createFile(); + $configuration = Configuration::fromUrlEncodedString('generateBaseline=true&baselineFile='.urlencode($filename)); + + $trace = debug_backtrace(); + $this->assertTrue($configuration->isBaselineDeprecation(new Deprecation('Regular deprecation', $trace, ''))); + + $trace[2] = [ + 'class' => DebugClassLoader::class, + 'function' => 'testBaselineGenerationWithDeprecationTriggeredByDebugClassLoader', + 'args' => [self::class] + ]; + + $deprecation = new Deprecation('Deprecation by debug class loader', $trace, ''); + + $this->assertTrue($deprecation->originatesFromDebugClassLoader()); + + $this->assertTrue($configuration->isBaselineDeprecation($deprecation)); + + $configuration->writeBaseline(); + $this->assertEquals($filename, $configuration->getBaselineFile()); + $expected = [ + [ + 'location' => 'Symfony\Bridge\PhpUnit\Tests\DeprecationErrorHandler\ConfigurationTest::runTest', + 'message' => 'Regular deprecation', + 'count' => 1, + ], + [ + 'location' => self::class, + 'message' => 'Deprecation by debug class loader', + 'count' => 1, + ], + ]; + $this->assertEquals(json_encode($expected, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES), file_get_contents($filename)); } public function testBaselineArgumentException() @@ -487,7 +525,7 @@ $this->expectException(\ErrorException::class); $this->expectExceptionMessageMatches('/[Ff]ailed to open stream: Permission denied/'); - set_error_handler(static function (int $errno, string $errstr, string $errfile = null, int $errline = null): bool { + set_error_handler(static function (int $errno, string $errstr, ?string $errfile = null, ?int $errline = null): bool { if ($errno & (E_WARNING | E_WARNING)) { throw new \ErrorException($errstr, 0, $errno, $errfile, $errline); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/DeprecationTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/DeprecationTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/DeprecationTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/DeprecationTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -97,7 +97,7 @@ $this->assertSame($muted, $deprecation->isMuted()); } - public static function mutedProvider() + public static function mutedProvider(): iterable { yield 'not from phpunit, and not a whitelisted message' => [ false, @@ -147,7 +147,7 @@ $this->assertTrue($deprecation->isMuted()); } - public static function providerGetTypeDetectsSelf() + public static function providerGetTypeDetectsSelf(): array { return [ 'not_from_vendors_file' => [Deprecation::TYPE_SELF, '', 'MyClass1', __FILE__], @@ -182,7 +182,7 @@ $this->assertSame($expectedType, $deprecation->getType()); } - public static function providerGetTypeUsesRightTrace() + public static function providerGetTypeUsesRightTrace(): array { $vendorDir = self::getVendorDir(); $fakeTrace = [ @@ -265,7 +265,7 @@ rmdir($dir); } - public static function setupBeforeClass(): void + public static function setUpBeforeClass(): void { foreach (get_declared_classes() as $class) { if ('C' === $class[0] && 0 === strpos($class, 'ComposerAutoloaderInit')) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/log_file.phpt symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/log_file.phpt --- symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/log_file.phpt 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/log_file.phpt 2026-05-20 08:22:01.000000000 +0000 @@ -2,7 +2,7 @@ Test DeprecationErrorHandler with log file --FILE-- 60) { + echo "\033[41mTimeout\033[0m $component\n\n"; + + if ('\\' === \DIRECTORY_SEPARATOR) { + exec(sprintf('taskkill /F /T /PID %d 2>&1', $procStatus['pid']), $output, $exitCode); + } else { + proc_terminate(current($runningProcs)); + } + } + } + foreach ($terminatedProcs as $component => $procStatus) { foreach (['out', 'err'] as $file) { $file = "$component/phpunit.std$file"; @@ -435,7 +458,7 @@ { } } - array_splice($argv, 1, 0, ['--colors=always']); + array_splice($argv, 1, 0, ['--colors='.('' === $getEnvVar('NO_COLOR', '') ? 'always' : 'never')]); $_SERVER['argv'] = $argv; $_SERVER['argc'] = ++$argc; include "$PHPUNIT_DIR/$PHPUNIT_VERSION_DIR/phpunit"; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/composer.json symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/composer.json --- symfony-5.4.23+dfsg/src/Symfony/Bridge/PhpUnit/composer.json 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/PhpUnit/composer.json 2026-05-20 08:22:01.000000000 +0000 @@ -34,7 +34,8 @@ "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Bridge\\PhpUnit\\": "" }, "exclude-from-classmap": [ - "/Tests/" + "/Tests/", + "/bin/" ] }, "bin": [ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/ProxyManager/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Bridge/ProxyManager/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Bridge/ProxyManager/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/ProxyManager/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/ProxyManager/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Bridge/ProxyManager/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Bridge/ProxyManager/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/ProxyManager/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/ProxyManager/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Bridge/ProxyManager/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Bridge/ProxyManager/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/ProxyManager/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/PhpDumper/Fixtures/proxy-implem.php symfony-5.4.52+dfsg/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/PhpDumper/Fixtures/proxy-implem.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/PhpDumper/Fixtures/proxy-implem.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/PhpDumper/Fixtures/proxy-implem.php 2026-05-20 08:22:01.000000000 +0000 @@ -200,7 +200,7 @@ { } - public function setProxyInitializer(\Closure $initializer = null)%S + public function setProxyInitializer(%S\Closure $initializer = null)%S { $this->initializer%s = $initializer; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Command/DebugCommand.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Command/DebugCommand.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Command/DebugCommand.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Command/DebugCommand.php 2026-05-20 08:22:01.000000000 +0000 @@ -44,7 +44,7 @@ private $filesystemLoaders; private $fileLinkFormatter; - public function __construct(Environment $twig, string $projectDir = null, array $bundlesMetadata = [], string $twigDefaultPath = null, FileLinkFormatter $fileLinkFormatter = null) + public function __construct(Environment $twig, ?string $projectDir = null, array $bundlesMetadata = [], ?string $twigDefaultPath = null, ?FileLinkFormatter $fileLinkFormatter = null) { parent::__construct(); @@ -218,7 +218,7 @@ $io->writeln(json_encode($data)); } - private function displayGeneralText(SymfonyStyle $io, string $filter = null) + private function displayGeneralText(SymfonyStyle $io, ?string $filter = null) { $decorated = $io->isDecorated(); $types = ['functions', 'filters', 'tests', 'globals']; @@ -280,7 +280,7 @@ $io->writeln($decorated ? OutputFormatter::escape($data) : $data); } - private function getLoaderPaths(string $name = null): array + private function getLoaderPaths(?string $name = null): array { $loaderPaths = []; foreach ($this->getFilesystemLoaders() as $loader) { @@ -562,7 +562,7 @@ private function isAbsolutePath(string $file): bool { - return strspn($file, '/\\', 0, 1) || (\strlen($file) > 3 && ctype_alpha($file[0]) && ':' === $file[1] && strspn($file, '/\\', 2, 1)) || null !== parse_url($file, \PHP_URL_SCHEME); + return strspn($file, '/\\', 0, 1) || (\strlen($file) > 3 && ctype_alpha($file[0]) && ':' === $file[1] && strspn($file, '/\\', 2, 1)) || parse_url($file, \PHP_URL_SCHEME); } /** diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Command/LintCommand.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Command/LintCommand.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Command/LintCommand.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Command/LintCommand.php 2026-05-20 08:22:01.000000000 +0000 @@ -236,7 +236,7 @@ return min($errors, 1); } - private function renderException(SymfonyStyle $output, string $template, Error $exception, string $file = null, GithubActionReporter $githubReporter = null) + private function renderException(SymfonyStyle $output, string $template, Error $exception, ?string $file = null, ?GithubActionReporter $githubReporter = null) { $line = $exception->getTemplateLine(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/DataCollector/TwigDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/DataCollector/TwigDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/DataCollector/TwigDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/DataCollector/TwigDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ private $twig; private $computed; - public function __construct(Profile $profile, Environment $twig = null) + public function __construct(Profile $profile, ?Environment $twig = null) { $this->profile = $profile; $this->twig = $twig; @@ -41,7 +41,7 @@ /** * {@inheritdoc} */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/ErrorRenderer/TwigErrorRenderer.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/ErrorRenderer/TwigErrorRenderer.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/ErrorRenderer/TwigErrorRenderer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/ErrorRenderer/TwigErrorRenderer.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ /** * @param bool|callable $debug The debugging mode as a boolean or a callable that should return it */ - public function __construct(Environment $twig, HtmlErrorRenderer $fallbackErrorRenderer = null, $debug = false) + public function __construct(Environment $twig, ?HtmlErrorRenderer $fallbackErrorRenderer = null, $debug = false) { if (!\is_bool($debug) && !\is_callable($debug)) { throw new \TypeError(sprintf('Argument 3 passed to "%s()" must be a boolean or a callable, "%s" given.', __METHOD__, get_debug_type($debug))); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/AssetExtension.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/AssetExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/AssetExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/AssetExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -46,7 +46,7 @@ * If the package used to generate the path is an instance of * UrlPackage, you will always get a URL and not a path. */ - public function getAssetUrl(string $path, string $packageName = null): string + public function getAssetUrl(string $path, ?string $packageName = null): string { return $this->packages->getUrl($path, $packageName); } @@ -54,7 +54,7 @@ /** * Returns the version of an asset. */ - public function getAssetVersion(string $path, string $packageName = null): string + public function getAssetVersion(string $path, ?string $packageName = null): string { return $this->packages->getVersion($path, $packageName); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/CodeExtension.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/CodeExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/CodeExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/CodeExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -42,8 +42,8 @@ public function getFilters(): array { return [ - new TwigFilter('abbr_class', [$this, 'abbrClass'], ['is_safe' => ['html']]), - new TwigFilter('abbr_method', [$this, 'abbrMethod'], ['is_safe' => ['html']]), + new TwigFilter('abbr_class', [$this, 'abbrClass'], ['is_safe' => ['html'], 'pre_escape' => 'html']), + new TwigFilter('abbr_method', [$this, 'abbrMethod'], ['is_safe' => ['html'], 'pre_escape' => 'html']), new TwigFilter('format_args', [$this, 'formatArgs'], ['is_safe' => ['html']]), new TwigFilter('format_args_as_text', [$this, 'formatArgsAsText']), new TwigFilter('file_excerpt', [$this, 'fileExcerpt'], ['is_safe' => ['html']]), @@ -85,22 +85,25 @@ $result = []; foreach ($args as $key => $item) { if ('object' === $item[0]) { + $item[1] = htmlspecialchars($item[1], \ENT_COMPAT | \ENT_SUBSTITUTE, $this->charset); $parts = explode('\\', $item[1]); $short = array_pop($parts); $formattedValue = sprintf('object(%s)', $item[1], $short); } elseif ('array' === $item[0]) { - $formattedValue = sprintf('array(%s)', \is_array($item[1]) ? $this->formatArgs($item[1]) : $item[1]); + $formattedValue = sprintf('array(%s)', \is_array($item[1]) ? $this->formatArgs($item[1]) : htmlspecialchars(var_export($item[1], true), \ENT_COMPAT | \ENT_SUBSTITUTE, $this->charset)); } elseif ('null' === $item[0]) { $formattedValue = 'null'; } elseif ('boolean' === $item[0]) { - $formattedValue = ''.strtolower(var_export($item[1], true)).''; + $formattedValue = ''.strtolower(htmlspecialchars(var_export($item[1], true), \ENT_COMPAT | \ENT_SUBSTITUTE, $this->charset)).''; } elseif ('resource' === $item[0]) { $formattedValue = 'resource'; + } elseif (preg_match('/[^\x07-\x0D\x1B\x20-\xFF]/', $item[1])) { + $formattedValue = 'binary string'; } else { $formattedValue = str_replace("\n", '', htmlspecialchars(var_export($item[1], true), \ENT_COMPAT | \ENT_SUBSTITUTE, $this->charset)); } - $result[] = \is_int($key) ? $formattedValue : sprintf("'%s' => %s", $key, $formattedValue); + $result[] = \is_int($key) ? $formattedValue : sprintf("'%s' => %s", htmlspecialchars($key, \ENT_COMPAT | \ENT_SUBSTITUTE, $this->charset), $formattedValue); } return implode(', ', $result); @@ -123,13 +126,23 @@ // highlight_file could throw warnings // see https://bugs.php.net/25725 $code = @highlight_file($file, true); - // remove main code/span tags - $code = preg_replace('#^\s*(.*)\s*#s', '\\1', $code); - // split multiline spans - $code = preg_replace_callback('#]++)>((?:[^<]*+
)++[^<]*+)
#', function ($m) { - return "".str_replace('
', "

", $m[2]).''; - }, $code); - $content = explode('
', $code); + if (\PHP_VERSION_ID >= 80300) { + // remove main pre/code tags + $code = preg_replace('#^\s*(.*)\s*#s', '\\1', $code); + // split multiline span tags + $code = preg_replace_callback('#]++)>((?:[^<\\n]*+\\n)++[^<]*+)#', function ($m) { + return "".str_replace("\n", "\n", $m[2]).''; + }, $code); + $content = explode("\n", $code); + } else { + // remove main code/span tags + $code = preg_replace('#^\s*(.*)\s*#s', '\\1', $code); + // split multiline spans + $code = preg_replace_callback('#]++)>((?:[^<]*+
)++[^<]*+)
#', function ($m) { + return "".str_replace('
', "

", $m[2]).''; + }, $code); + $content = explode('
', $code); + } $lines = []; if (0 > $srcContext) { @@ -149,16 +162,19 @@ /** * Formats a file path. */ - public function formatFile(string $file, int $line, string $text = null): string + public function formatFile(string $file, int $line, ?string $text = null): string { $file = trim($file); if (null === $text) { - $text = $file; - if (null !== $rel = $this->getFileRelative($text)) { - $rel = explode('/', $rel, 2); - $text = sprintf('%s%s', $this->projectDir, $rel[0], '/'.($rel[1] ?? '')); + if (null !== $rel = $this->getFileRelative($file)) { + $rel = explode('/', htmlspecialchars($rel, \ENT_COMPAT | \ENT_SUBSTITUTE, $this->charset), 2); + $text = sprintf('%s%s', htmlspecialchars($this->projectDir, \ENT_COMPAT | \ENT_SUBSTITUTE, $this->charset), $rel[0], '/'.($rel[1] ?? '')); + } else { + $text = htmlspecialchars($file, \ENT_COMPAT | \ENT_SUBSTITUTE, $this->charset); } + } else { + $text = htmlspecialchars($text, \ENT_COMPAT | \ENT_SUBSTITUTE, $this->charset); } if (0 < $line) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/DumpExtension.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/DumpExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/DumpExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/DumpExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ private $cloner; private $dumper; - public function __construct(ClonerInterface $cloner, HtmlDumper $dumper = null) + public function __construct(ClonerInterface $cloner, ?HtmlDumper $dumper = null) { $this->cloner = $cloner; $this->dumper = $dumper; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/FormExtension.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/FormExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/FormExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/FormExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ { private $translator; - public function __construct(TranslatorInterface $translator = null) + public function __construct(?TranslatorInterface $translator = null) { $this->translator = $translator; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ private $handler; private $fragmentUriGenerator; - public function __construct(FragmentHandler $handler, FragmentUriGeneratorInterface $fragmentUriGenerator = null) + public function __construct(FragmentHandler $handler, ?FragmentUriGeneratorInterface $fragmentUriGenerator = null) { $this->handler = $handler; $this->fragmentUriGenerator = $fragmentUriGenerator; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -45,7 +45,7 @@ * * @param string|null $key The firewall key or null to use the current firewall key */ - public function getLogoutPath(string $key = null): string + public function getLogoutPath(?string $key = null): string { return $this->generator->getLogoutPath($key); } @@ -55,7 +55,7 @@ * * @param string|null $key The firewall key or null to use the current firewall key */ - public function getLogoutUrl(string $key = null): string + public function getLogoutUrl(?string $key = null): string { return $this->generator->getLogoutUrl($key); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ */ private $events; - public function __construct(Profile $profile, Stopwatch $stopwatch = null) + public function __construct(Profile $profile, ?Stopwatch $stopwatch = null) { parent::__construct($profile); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ private $impersonateUrlGenerator; - public function __construct(AuthorizationCheckerInterface $securityChecker = null, ImpersonateUrlGenerator $impersonateUrlGenerator = null) + public function __construct(?AuthorizationCheckerInterface $securityChecker = null, ?ImpersonateUrlGenerator $impersonateUrlGenerator = null) { $this->securityChecker = $securityChecker; $this->impersonateUrlGenerator = $impersonateUrlGenerator; @@ -38,7 +38,7 @@ /** * @param mixed $object */ - public function isGranted($role, $object = null, string $field = null): bool + public function isGranted($role, $object = null, ?string $field = null): bool { if (null === $this->securityChecker) { return false; @@ -55,7 +55,7 @@ } } - public function getImpersonateExitUrl(string $exitTo = null): string + public function getImpersonateExitUrl(?string $exitTo = null): string { if (null === $this->impersonateUrlGenerator) { return ''; @@ -64,7 +64,7 @@ return $this->impersonateUrlGenerator->generateExitUrl($exitTo); } - public function getImpersonateExitPath(string $exitTo = null): string + public function getImpersonateExitPath(?string $exitTo = null): string { if (null === $this->impersonateUrlGenerator) { return ''; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ private $stopwatch; private $enabled; - public function __construct(Stopwatch $stopwatch = null, bool $enabled = true) + public function __construct(?Stopwatch $stopwatch = null, bool $enabled = true) { $this->stopwatch = $stopwatch; $this->enabled = $enabled; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -37,7 +37,7 @@ private $translator; private $translationNodeVisitor; - public function __construct(TranslatorInterface $translator = null, TranslationNodeVisitor $translationNodeVisitor = null) + public function __construct(?TranslatorInterface $translator = null, ?TranslationNodeVisitor $translationNodeVisitor = null) { $this->translator = $translator; $this->translationNodeVisitor = $translationNodeVisitor; @@ -109,7 +109,7 @@ * @param string|\Stringable|TranslatableInterface|null $message * @param array|string $arguments Can be the locale as a string when $message is a TranslatableInterface */ - public function trans($message, $arguments = [], string $domain = null, string $locale = null, int $count = null): string + public function trans($message, $arguments = [], ?string $domain = null, ?string $locale = null, ?int $count = null): string { if ($message instanceof TranslatableInterface) { if ([] !== $arguments && !\is_string($arguments)) { @@ -138,7 +138,7 @@ return $this->getTranslator()->trans($message, $arguments, $domain, $locale); } - public function createTranslatable(string $message, array $parameters = [], string $domain = null): TranslatableMessage + public function createTranslatable(string $message, array $parameters = [], ?string $domain = null): TranslatableMessage { if (!class_exists(TranslatableMessage::class)) { throw new \LogicException(sprintf('You cannot use the "%s" as the Translation Component is not installed. Try running "composer require symfony/translation".', __CLASS__)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -51,7 +51,7 @@ /** * Returns true if the transition is enabled. */ - public function canTransition(object $subject, string $transitionName, string $name = null): bool + public function canTransition(object $subject, string $transitionName, ?string $name = null): bool { return $this->workflowRegistry->get($subject, $name)->can($subject, $transitionName); } @@ -61,12 +61,12 @@ * * @return Transition[] */ - public function getEnabledTransitions(object $subject, string $name = null): array + public function getEnabledTransitions(object $subject, ?string $name = null): array { return $this->workflowRegistry->get($subject, $name)->getEnabledTransitions($subject); } - public function getEnabledTransition(object $subject, string $transition, string $name = null): ?Transition + public function getEnabledTransition(object $subject, string $transition, ?string $name = null): ?Transition { return $this->workflowRegistry->get($subject, $name)->getEnabledTransition($subject, $transition); } @@ -74,7 +74,7 @@ /** * Returns true if the place is marked. */ - public function hasMarkedPlace(object $subject, string $placeName, string $name = null): bool + public function hasMarkedPlace(object $subject, string $placeName, ?string $name = null): bool { return $this->workflowRegistry->get($subject, $name)->getMarking($subject)->has($placeName); } @@ -84,7 +84,7 @@ * * @return string[]|int[] */ - public function getMarkedPlaces(object $subject, bool $placesNameOnly = true, string $name = null): array + public function getMarkedPlaces(object $subject, bool $placesNameOnly = true, ?string $name = null): array { $places = $this->workflowRegistry->get($subject, $name)->getMarking($subject)->getPlaces(); @@ -102,7 +102,7 @@ * Use a string (the place name) to get place metadata * Use a Transition instance to get transition metadata */ - public function getMetadata(object $subject, string $key, $metadataSubject = null, string $name = null) + public function getMetadata(object $subject, string $key, $metadataSubject = null, ?string $name = null) { return $this ->workflowRegistry @@ -112,7 +112,7 @@ ; } - public function buildTransitionBlockerList(object $subject, string $transitionName, string $name = null): TransitionBlockerList + public function buildTransitionBlockerList(object $subject, string $transitionName, ?string $name = null): TransitionBlockerList { $workflow = $this->workflowRegistry->get($subject, $name); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Form/TwigRendererEngine.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Form/TwigRendererEngine.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Form/TwigRendererEngine.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Form/TwigRendererEngine.php 2026-05-20 08:22:01.000000000 +0000 @@ -44,7 +44,7 @@ { $cacheKey = $view->vars[self::CACHE_KEY_VAR]; - $context = $this->environment->mergeGlobals($variables); + $context = $variables + $this->environment->getGlobals(); ob_start(); @@ -164,7 +164,7 @@ // theme is a reference and we don't want to change it. $currentTheme = $theme; - $context = $this->environment->mergeGlobals([]); + $context = $this->environment->getGlobals(); // The do loop takes care of template inheritance. // Add blocks from all templates in the inheritance tree, but avoid diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Mime/NotificationEmail.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Mime/NotificationEmail.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Mime/NotificationEmail.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Mime/NotificationEmail.php 2026-05-20 08:22:01.000000000 +0000 @@ -40,7 +40,7 @@ 'footer_text' => 'Notification e-mail sent by Symfony', ]; - public function __construct(Headers $headers = null, AbstractPart $body = null) + public function __construct(?Headers $headers = null, ?AbstractPart $body = null) { $missingPackages = []; if (!class_exists(CssInlinerExtension::class)) { @@ -61,7 +61,7 @@ /** * Creates a NotificationEmail instance that is appropriate to send to normal (non-admin) users. */ - public static function asPublicEmail(Headers $headers = null, AbstractPart $body = null): self + public static function asPublicEmail(?Headers $headers = null, ?AbstractPart $body = null): self { $email = new static($headers, $body); $email->markAsPublic(); @@ -178,6 +178,26 @@ return '@email/'.$this->theme.'/notification/body.html.twig'; } + /** + * @return $this + */ + public function context(array $context) + { + $parentContext = []; + + foreach ($context as $key => $value) { + if (\array_key_exists($key, $this->context)) { + $this->context[$key] = $value; + } else { + $parentContext[$key] = $value; + } + } + + parent::context($parentContext); + + return $this; + } + public function getContext(): array { return array_merge($this->context, parent::getContext()); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Mime/WrappedTemplatedEmail.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Mime/WrappedTemplatedEmail.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Mime/WrappedTemplatedEmail.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Mime/WrappedTemplatedEmail.php 2026-05-20 08:22:01.000000000 +0000 @@ -41,7 +41,7 @@ * @param string|null $contentType The media type (i.e. MIME type) of the image file (e.g. 'image/png'). * Some email clients require this to display embedded images. */ - public function image(string $image, string $contentType = null): string + public function image(string $image, ?string $contentType = null): string { $file = $this->twig->getLoader()->getSourceContext($image); if ($path = $file->getPath()) { @@ -60,7 +60,7 @@ * @param string|null $contentType The media type (i.e. MIME type) of the file (e.g. 'application/pdf'). * Some email clients require this to display attached files. */ - public function attach(string $file, string $name = null, string $contentType = null): void + public function attach(string $file, ?string $name = null, ?string $contentType = null): void { $file = $this->twig->getLoader()->getSourceContext($file); if ($path = $file->getPath()) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Node/DumpNode.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/DumpNode.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Node/DumpNode.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/DumpNode.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,29 +11,54 @@ namespace Symfony\Bridge\Twig\Node; +use Twig\Attribute\FirstClassTwigCallableReady; +use Twig\Attribute\YieldReady; use Twig\Compiler; +use Twig\Node\Expression\Variable\LocalVariable; use Twig\Node\Node; /** * @author Julien Galenski */ +#[YieldReady] final class DumpNode extends Node { + /** + * @var LocalVariable|string + */ private $varPrefix; - public function __construct(string $varPrefix, ?Node $values, int $lineno, string $tag = null) + /** + * @param LocalVariable|string $varPrefix + */ + public function __construct($varPrefix, ?Node $values, int $lineno, ?string $tag = null) { + if (!\is_string($varPrefix) && !$varPrefix instanceof LocalVariable) { + throw new \TypeError(sprintf('Expected a string or an instance of "%s", but got "%s".', LocalVariable::class, get_debug_type($varPrefix))); + } + $nodes = []; if (null !== $values) { $nodes['values'] = $values; } - parent::__construct($nodes, [], $lineno, $tag); + if (class_exists(FirstClassTwigCallableReady::class)) { + parent::__construct($nodes, [], $lineno); + } else { + parent::__construct($nodes, [], $lineno, $tag); + } + $this->varPrefix = $varPrefix; } public function compile(Compiler $compiler): void { + if ($this->varPrefix instanceof LocalVariable) { + $varPrefix = $this->varPrefix->getAttribute('name'); + } else { + $varPrefix = $this->varPrefix; + } + $compiler ->write("if (\$this->env->isDebug()) {\n") ->indent(); @@ -41,18 +66,18 @@ if (!$this->hasNode('values')) { // remove embedded templates (macros) from the context $compiler - ->write(sprintf('$%svars = [];'."\n", $this->varPrefix)) - ->write(sprintf('foreach ($context as $%1$skey => $%1$sval) {'."\n", $this->varPrefix)) + ->write(sprintf('$%svars = [];'."\n", $varPrefix)) + ->write(sprintf('foreach ($context as $%1$skey => $%1$sval) {'."\n", $varPrefix)) ->indent() - ->write(sprintf('if (!$%sval instanceof \Twig\Template) {'."\n", $this->varPrefix)) + ->write(sprintf('if (!$%sval instanceof \Twig\Template) {'."\n", $varPrefix)) ->indent() - ->write(sprintf('$%1$svars[$%1$skey] = $%1$sval;'."\n", $this->varPrefix)) + ->write(sprintf('$%1$svars[$%1$skey] = $%1$sval;'."\n", $varPrefix)) ->outdent() ->write("}\n") ->outdent() ->write("}\n") ->addDebugInfo($this) - ->write(sprintf('\Symfony\Component\VarDumper\VarDumper::dump($%svars);'."\n", $this->varPrefix)); + ->write(sprintf('\Symfony\Component\VarDumper\VarDumper::dump($%svars);'."\n", $varPrefix)); } elseif (($values = $this->getNode('values')) && 1 === $values->count()) { $compiler ->addDebugInfo($this) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Node/FormThemeNode.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/FormThemeNode.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Node/FormThemeNode.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/FormThemeNode.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,17 +12,24 @@ namespace Symfony\Bridge\Twig\Node; use Symfony\Component\Form\FormRenderer; +use Twig\Attribute\FirstClassTwigCallableReady; +use Twig\Attribute\YieldReady; use Twig\Compiler; use Twig\Node\Node; /** * @author Fabien Potencier */ +#[YieldReady] final class FormThemeNode extends Node { - public function __construct(Node $form, Node $resources, int $lineno, string $tag = null, bool $only = false) + public function __construct(Node $form, Node $resources, int $lineno, ?string $tag = null, bool $only = false) { - parent::__construct(['form' => $form, 'resources' => $resources], ['only' => $only], $lineno, $tag); + if (class_exists(FirstClassTwigCallableReady::class)) { + parent::__construct(['form' => $form, 'resources' => $resources], ['only' => $only], $lineno); + } else { + parent::__construct(['form' => $form, 'resources' => $resources], ['only' => $only], $lineno, $tag); + } } public function compile(Compiler $compiler): void diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,6 +12,7 @@ namespace Symfony\Bridge\Twig\Node; use Twig\Compiler; +use Twig\Extension\CoreExtension; use Twig\Node\Expression\ArrayExpression; use Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\FunctionExpression; @@ -50,7 +51,7 @@ $labelIsExpression = false; // Only insert the label into the array if it is not empty - if (!twig_test_empty($label->getAttribute('value'))) { + if (null !== $label->getAttribute('value') && false !== $label->getAttribute('value') && '' !== (string) $label->getAttribute('value')) { $originalVariables = $variables; $variables = new ArrayExpression([], $lineno); $labelKey = new ConstantExpression('label', $lineno); @@ -97,7 +98,12 @@ // Check at runtime whether the label is empty. // If not, add it to the array at runtime. - $compiler->raw('(twig_test_empty($_label_ = '); + if (method_exists(CoreExtension::class, 'testEmpty')) { + $compiler->raw('(CoreExtension::testEmpty($_label_ = '); + } else { + $compiler->raw('(twig_test_empty($_label_ = '); + } + $compiler->subcompile($label); $compiler->raw(') ? [] : ["label" => $_label_])'); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Node/StopwatchNode.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/StopwatchNode.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Node/StopwatchNode.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/StopwatchNode.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,8 +11,11 @@ namespace Symfony\Bridge\Twig\Node; +use Twig\Attribute\FirstClassTwigCallableReady; +use Twig\Attribute\YieldReady; use Twig\Compiler; use Twig\Node\Expression\AssignNameExpression; +use Twig\Node\Expression\Variable\LocalVariable; use Twig\Node\Node; /** @@ -20,11 +23,23 @@ * * @author Wouter J */ +#[YieldReady] final class StopwatchNode extends Node { - public function __construct(Node $name, Node $body, AssignNameExpression $var, int $lineno = 0, string $tag = null) + /** + * @param AssignNameExpression|LocalVariable $var + */ + public function __construct(Node $name, Node $body, $var, int $lineno = 0, ?string $tag = null) { - parent::__construct(['body' => $body, 'name' => $name, 'var' => $var], [], $lineno, $tag); + if (!$var instanceof AssignNameExpression && !$var instanceof LocalVariable) { + throw new \TypeError(sprintf('Expected an instance of "%s" or "%s", but got "%s".', AssignNameExpression::class, LocalVariable::class, get_debug_type($var))); + } + + if (class_exists(FirstClassTwigCallableReady::class)) { + parent::__construct(['body' => $body, 'name' => $name, 'var' => $var], [], $lineno); + } else { + parent::__construct(['body' => $body, 'name' => $name, 'var' => $var], [], $lineno, $tag); + } } public function compile(Compiler $compiler): void diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,6 +11,8 @@ namespace Symfony\Bridge\Twig\Node; +use Twig\Attribute\FirstClassTwigCallableReady; +use Twig\Attribute\YieldReady; use Twig\Compiler; use Twig\Node\Expression\AbstractExpression; use Twig\Node\Node; @@ -18,11 +20,16 @@ /** * @author Fabien Potencier */ +#[YieldReady] final class TransDefaultDomainNode extends Node { - public function __construct(AbstractExpression $expr, int $lineno = 0, string $tag = null) + public function __construct(AbstractExpression $expr, int $lineno = 0, ?string $tag = null) { - parent::__construct(['expr' => $expr], [], $lineno, $tag); + if (class_exists(FirstClassTwigCallableReady::class)) { + parent::__construct(['expr' => $expr], [], $lineno); + } else { + parent::__construct(['expr' => $expr], [], $lineno, $tag); + } } public function compile(Compiler $compiler): void diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Node/TransNode.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/TransNode.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Node/TransNode.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Node/TransNode.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,20 +11,24 @@ namespace Symfony\Bridge\Twig\Node; +use Twig\Attribute\FirstClassTwigCallableReady; +use Twig\Attribute\YieldReady; use Twig\Compiler; use Twig\Node\Expression\AbstractExpression; use Twig\Node\Expression\ArrayExpression; use Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\NameExpression; +use Twig\Node\Expression\Variable\ContextVariable; use Twig\Node\Node; use Twig\Node\TextNode; /** * @author Fabien Potencier */ +#[YieldReady] final class TransNode extends Node { - public function __construct(Node $body, Node $domain = null, AbstractExpression $count = null, AbstractExpression $vars = null, AbstractExpression $locale = null, int $lineno = 0, string $tag = null) + public function __construct(Node $body, ?Node $domain = null, ?AbstractExpression $count = null, ?AbstractExpression $vars = null, ?AbstractExpression $locale = null, int $lineno = 0, ?string $tag = null) { $nodes = ['body' => $body]; if (null !== $domain) { @@ -40,7 +44,11 @@ $nodes['locale'] = $locale; } - parent::__construct($nodes, [], $lineno, $tag); + if (class_exists(FirstClassTwigCallableReady::class)) { + parent::__construct($nodes, [], $lineno); + } else { + parent::__construct($nodes, [], $lineno, $tag); + } } public function compile(Compiler $compiler): void @@ -53,9 +61,10 @@ $vars = null; } [$msg, $defaults] = $this->compileString($this->getNode('body'), $defaults, (bool) $vars); + $display = class_exists(YieldReady::class) ? 'yield' : 'echo'; $compiler - ->write('echo $this->env->getExtension(\'Symfony\Bridge\Twig\Extension\TranslationExtension\')->trans(') + ->write($display.' $this->env->getExtension(\'Symfony\Bridge\Twig\Extension\TranslationExtension\')->trans(') ->subcompile($msg) ; @@ -118,7 +127,7 @@ if ('count' === $var && $this->hasNode('count')) { $vars->addElement($this->getNode('count'), $key); } else { - $varExpr = new NameExpression($var, $body->getTemplateLine()); + $varExpr = class_exists(ContextVariable::class) ? new ContextVariable($var, $body->getTemplateLine()) : new NameExpression($var, $body->getTemplateLine()); $varExpr->setAttribute('ignore_strict_check', $ignoreStrictCheck); $vars->addElement($varExpr, $key); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/Scope.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/Scope.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/Scope.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/Scope.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ private $data = []; private $left = false; - public function __construct(self $parent = null) + public function __construct(?self $parent = null) { $this->parent = $parent; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,20 +15,24 @@ use Symfony\Bridge\Twig\Node\TransNode; use Twig\Environment; use Twig\Node\BlockNode; +use Twig\Node\EmptyNode; use Twig\Node\Expression\ArrayExpression; use Twig\Node\Expression\AssignNameExpression; use Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\FilterExpression; use Twig\Node\Expression\NameExpression; +use Twig\Node\Expression\Variable\AssignContextVariable; +use Twig\Node\Expression\Variable\ContextVariable; use Twig\Node\ModuleNode; use Twig\Node\Node; +use Twig\Node\Nodes; use Twig\Node\SetNode; -use Twig\NodeVisitor\AbstractNodeVisitor; +use Twig\NodeVisitor\NodeVisitorInterface; /** * @author Fabien Potencier */ -final class TranslationDefaultDomainNodeVisitor extends AbstractNodeVisitor +final class TranslationDefaultDomainNodeVisitor implements NodeVisitorInterface { private $scope; @@ -37,10 +41,7 @@ $this->scope = new Scope(); } - /** - * {@inheritdoc} - */ - protected function doEnterNode(Node $node, Environment $env): Node + public function enterNode(Node $node, Environment $env): Node { if ($node instanceof BlockNode || $node instanceof ModuleNode) { $this->scope = $this->scope->enter(); @@ -53,10 +54,14 @@ return $node; } else { $var = $this->getVarName(); - $name = new AssignNameExpression($var, $node->getTemplateLine()); - $this->scope->set('domain', new NameExpression($var, $node->getTemplateLine())); + $name = class_exists(AssignContextVariable::class) ? new AssignContextVariable($var, $node->getTemplateLine()) : new AssignNameExpression($var, $node->getTemplateLine()); + $this->scope->set('domain', class_exists(ContextVariable::class) ? new ContextVariable($var, $node->getTemplateLine()) : new NameExpression($var, $node->getTemplateLine())); - return new SetNode(false, new Node([$name]), new Node([$node->getNode('expr')]), $node->getTemplateLine()); + if (class_exists(Nodes::class)) { + return new SetNode(false, new Nodes([$name]), new Nodes([$node->getNode('expr')]), $node->getTemplateLine()); + } else { + return new SetNode(false, new Node([$name]), new Node([$node->getNode('expr')]), $node->getTemplateLine()); + } } } @@ -64,8 +69,14 @@ return $node; } - if ($node instanceof FilterExpression && 'trans' === $node->getNode('filter')->getAttribute('value')) { + if ($node instanceof FilterExpression && 'trans' === ($node->hasAttribute('twig_callable') ? $node->getAttribute('twig_callable')->getName() : $node->getNode('filter')->getAttribute('value'))) { $arguments = $node->getNode('arguments'); + + if ($arguments instanceof EmptyNode) { + $arguments = new Nodes(); + $node->setNode('arguments', $arguments); + } + if ($this->isNamedArguments($arguments)) { if (!$arguments->hasNode('domain') && !$arguments->hasNode(1)) { $arguments->setNode('domain', $this->scope->get('domain')); @@ -86,10 +97,7 @@ return $node; } - /** - * {@inheritdoc} - */ - protected function doLeaveNode(Node $node, Environment $env): ?Node + public function leaveNode(Node $node, Environment $env): ?Node { if ($node instanceof TransDefaultDomainNode) { return null; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,14 +18,14 @@ use Twig\Node\Expression\FilterExpression; use Twig\Node\Expression\FunctionExpression; use Twig\Node\Node; -use Twig\NodeVisitor\AbstractNodeVisitor; +use Twig\NodeVisitor\NodeVisitorInterface; /** * TranslationNodeVisitor extracts translation messages. * * @author Fabien Potencier */ -final class TranslationNodeVisitor extends AbstractNodeVisitor +final class TranslationNodeVisitor implements NodeVisitorInterface { public const UNDEFINED_DOMAIN = '_undefined'; @@ -49,10 +49,7 @@ return $this->messages; } - /** - * {@inheritdoc} - */ - protected function doEnterNode(Node $node, Environment $env): Node + public function enterNode(Node $node, Environment $env): Node { if (!$this->enabled) { return $node; @@ -60,7 +57,7 @@ if ( $node instanceof FilterExpression && - 'trans' === $node->getNode('filter')->getAttribute('value') && + 'trans' === ($node->hasAttribute('twig_callable') ? $node->getAttribute('twig_callable')->getName() : $node->getNode('filter')->getAttribute('value')) && $node->getNode('node') instanceof ConstantExpression ) { // extract constant nodes with a trans filter @@ -88,7 +85,7 @@ ]; } elseif ( $node instanceof FilterExpression && - 'trans' === $node->getNode('filter')->getAttribute('value') && + 'trans' === ($node->hasAttribute('twig_callable') ? $node->getAttribute('twig_callable')->getName() : $node->getNode('filter')->getAttribute('value')) && $node->getNode('node') instanceof ConcatBinary && $message = $this->getConcatValueFromNode($node->getNode('node'), null) ) { @@ -101,10 +98,7 @@ return $node; } - /** - * {@inheritdoc} - */ - protected function doLeaveNode(Node $node, Environment $env): ?Node + public function leaveNode(Node $node, Environment $env): ?Node { return $node; } @@ -158,6 +152,22 @@ return $node->getAttribute('value'); } + if ( + $node instanceof FunctionExpression + && 'constant' === $node->getAttribute('name') + ) { + $nodeArguments = $node->getNode('arguments'); + if ($nodeArguments->getIterator()->current() instanceof ConstantExpression) { + $constantName = $nodeArguments->getIterator()->current()->getAttribute('value'); + if (\defined($constantName)) { + $value = \constant($constantName); + if (\is_string($value)) { + return $value; + } + } + } + } + return self::UNDEFINED_DOMAIN; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_5_layout.html.twig symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_5_layout.html.twig --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_5_layout.html.twig 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_5_layout.html.twig 2026-05-20 08:22:01.000000000 +0000 @@ -361,12 +361,12 @@ {# Help #} {%- block form_help -%} - {% set row_class = row_attr.class|default('') %} - {% set help_class = ' form-text' %} - {% if 'input-group' in row_class %} + {%- set row_class = row_attr.class|default('') -%} + {%- set help_class = ' form-text' -%} + {%- if 'input-group' in row_class -%} {#- Hack to properly display help with input group -#} - {% set help_class = ' input-group-text' %} - {% endif %} + {%- set help_class = ' input-group-text' -%} + {%- endif -%} {%- if help is not empty -%} {%- set help_attr = help_attr|merge({class: (help_attr.class|default('') ~ help_class ~ ' mb-0')|trim}) -%} {%- endif -%} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Tests/AppVariableTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/AppVariableTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Tests/AppVariableTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/AppVariableTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,7 +43,7 @@ $this->assertEquals($debugFlag, $this->appVariable->getDebug()); } - public static function debugDataProvider() + public static function debugDataProvider(): array { return [ 'debug on' => [true], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Tests/Command/DebugCommandTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Command/DebugCommandTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Tests/Command/DebugCommandTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Command/DebugCommandTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -321,7 +321,7 @@ yield 'option --format' => [['--format', ''], ['text', 'json']]; } - private function createCommandTester(array $paths = [], array $bundleMetadata = [], string $defaultPath = null, bool $useChainLoader = false, array $globals = []): CommandTester + private function createCommandTester(array $paths = [], array $bundleMetadata = [], ?string $defaultPath = null, bool $useChainLoader = false, array $globals = []): CommandTester { $projectDir = \dirname(__DIR__).\DIRECTORY_SEPARATOR.'Fixtures'; $loader = new FilesystemLoader([], $projectDir); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Tests/Command/LintCommandTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Command/LintCommandTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Tests/Command/LintCommandTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Command/LintCommandTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,6 +18,7 @@ use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Tester\CommandCompletionTester; use Symfony\Component\Console\Tester\CommandTester; +use Twig\DeprecatedCallableInfo; use Twig\Environment; use Twig\Loader\FilesystemLoader; use Twig\TwigFilter; @@ -150,7 +151,7 @@ $this->assertSame($expectedSuggestions, $tester->complete($input)); } - public static function provideCompletionSuggestions() + public static function provideCompletionSuggestions(): iterable { yield 'option' => [['--format', ''], ['txt', 'json', 'github']]; } @@ -163,9 +164,14 @@ private function createCommand(): Command { $environment = new Environment(new FilesystemLoader(\dirname(__DIR__).'/Fixtures/templates/')); + if (class_exists(DeprecatedCallableInfo::class)) { + $options = ['deprecation_info' => new DeprecatedCallableInfo('foo/bar', '1.1')]; + } else { + $options = ['deprecated' => true]; + } $environment->addFilter(new TwigFilter('deprecated_filter', function ($v) { return $v; - }, ['deprecated' => true])); + }, $options)); $command = new LintCommand($environment); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -14,6 +14,8 @@ use PHPUnit\Framework\TestCase; use Symfony\Bridge\Twig\Extension\CodeExtension; use Symfony\Component\HttpKernel\Debug\FileLinkFormatter; +use Twig\Environment; +use Twig\Loader\ArrayLoader; class CodeExtensionTest extends TestCase { @@ -28,42 +30,136 @@ $this->assertEquals('file.txt', $this->getExtension()->getFileRelative(\DIRECTORY_SEPARATOR.'project'.\DIRECTORY_SEPARATOR.'file.txt')); } - /** - * @dataProvider getClassNameProvider - */ - public function testGettingClassAbbreviation($class, $abbr) + public function testClassAbbreviationIntegration() { - $this->assertEquals($this->getExtension()->abbrClass($class), $abbr); - } + $data = [ + 'fqcn' => 'F\Q\N\Foo', + 'xss' => ' - {% endblock messages %} {% endif %} {% endblock %} {% macro render_table(messages, is_fallback) %} - +
- + {% if is_fallback %} {% endif %} - + @@ -178,7 +176,7 @@ {% for message in messages %} - + {% if is_fallback %} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/base_js.html.twig symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/base_js.html.twig --- symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/base_js.html.twig 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/base_js.html.twig 2026-05-20 08:22:01.000000000 +0000 @@ -547,7 +547,9 @@ /* Evaluate in global scope scripts embedded inside the toolbar */ var i, scripts = [].slice.call(el.querySelectorAll('script')); for (i = 0; i < scripts.length; ++i) { - eval.call({}, scripts[i].firstChild.nodeValue); + if (scripts[i].firstChild) { + eval.call({}, scripts[i].firstChild.nodeValue); + } } el.style.display = -1 !== xhr.responseText.indexOf('sf-toolbarreset') ? 'block' : 'none'; @@ -618,7 +620,7 @@ sfwdt.innerHTML = '\
\
\ - An error occurred while loading the web debug toolbar. Open the web profiler.\ + An error occurred while loading the web debug toolbar. Open the web profiler.\
\ '; sfwdt.setAttribute('class', 'sf-toolbar sf-error-toolbar'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/profiler.css.twig symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/profiler.css.twig --- symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/profiler.css.twig 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/profiler.css.twig 2026-05-20 08:22:01.000000000 +0000 @@ -963,42 +963,6 @@ display: block; } -{# Filters - ========================================================================= #} -[data-filters] { position: relative; } -[data-filtered] { cursor: pointer; } -[data-filtered]:after { content: '\00a0\25BE'; } -[data-filtered]:hover .filter-list li { display: inline-flex; } -[class*="filter-hidden-"] { display: none; } -.filter-list { position: absolute; border: var(--border); box-shadow: var(--shadow); margin: 0; padding: 0; display: flex; flex-direction: column; } -.filter-list :after { content: ''; } -.filter-list li { - background: var(--tab-disabled-background); - border-bottom: var(--border); - color: var(--tab-disabled-color); - display: none; - list-style: none; - margin: 0; - padding: 5px 10px; - text-align: left; - font-weight: normal; -} -.filter-list li.active { - background: var(--tab-background); - color: var(--tab-color); -} -.filter-list li.last-active { - background: var(--tab-active-background); - color: var(--tab-active-color); -} - -.filter-list-level li { cursor: s-resize; } -.filter-list-level li.active { cursor: n-resize; } -.filter-list-level li.last-active { cursor: default; } -.filter-list-level li.last-active:before { content: '\2714\00a0'; } -.filter-list-choice li:before { content: '\2714\00a0'; color: transparent; } -.filter-list-choice li.active:before { color: unset; } - {# Twig panel ========================================================================= #} #twig-dump pre { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar.html.twig symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar.html.twig --- symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar.html.twig 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar.html.twig 2026-05-20 08:22:01.000000000 +0000 @@ -6,7 +6,7 @@
-
+
{% for name, template in templates %} {% if block('toolbar', template) is defined %} {% with { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/ProfilerControllerTest.php symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/ProfilerControllerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/ProfilerControllerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/ProfilerControllerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -342,7 +342,7 @@ $twig = $this->createMock(Environment::class); $controller = new ProfilerController($urlGenerator, null, $twig, []); - $controller->phpinfoAction(Request::create('/_profiler/phpinfo')); + $controller->phpinfoAction(); } public function testPhpinfoAction() @@ -355,7 +355,7 @@ $this->assertStringContainsString('PHP License', $client->getResponse()->getContent()); } - public static function provideCspVariants() + public static function provideCspVariants(): array { return [ [true], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/RouterControllerTest.php symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/RouterControllerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/RouterControllerTest.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/RouterControllerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,48 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bundle\WebProfilerBundle\Tests\Controller; + +use Symfony\Bundle\FrameworkBundle\KernelBrowser; +use Symfony\Bundle\FrameworkBundle\Routing\Router; +use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; +use Symfony\Bundle\WebProfilerBundle\Tests\Functional\WebProfilerBundleKernel; +use Symfony\Component\DomCrawler\Crawler; +use Symfony\Component\Routing\Route; + +class RouterControllerTest extends WebTestCase +{ + public function testFalseNegativeTrace() + { + $path = '/foo/bar:123/baz'; + + $kernel = new WebProfilerBundleKernel(); + $client = new KernelBrowser($kernel); + $client->disableReboot(); + $client->getKernel()->boot(); + + /** @var Router $router */ + $router = $client->getContainer()->get('router'); + $router->getRouteCollection()->add('route1', new Route($path)); + + $client->request('GET', $path); + + $crawler = $client->request('GET', '/_profiler/latest?panel=router&type=request'); + + $matchedRouteCell = $crawler + ->filter('#router-logs .status-success td') + ->reduce(function (Crawler $td) use ($path): bool { + return $td->text() === $path; + }); + + $this->assertSame(1, $matchedRouteCell->count()); + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Csp/ContentSecurityPolicyHandlerTest.php symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Csp/ContentSecurityPolicyHandlerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Csp/ContentSecurityPolicyHandlerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Csp/ContentSecurityPolicyHandlerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -46,7 +46,7 @@ } } - public static function provideRequestAndResponses() + public static function provideRequestAndResponses(): array { $nonce = bin2hex(random_bytes(16)); @@ -73,7 +73,7 @@ ]; } - public static function provideRequestAndResponsesForOnKernelResponse() + public static function provideRequestAndResponsesForOnKernelResponse(): array { $nonce = bin2hex(random_bytes(16)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/DependencyInjection/WebProfilerExtensionTest.php symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/DependencyInjection/WebProfilerExtensionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/DependencyInjection/WebProfilerExtensionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/DependencyInjection/WebProfilerExtensionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,8 +22,11 @@ use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\HttpKernel\DataCollector\DumpDataCollector; use Symfony\Component\HttpKernel\KernelInterface; +use Symfony\Component\HttpKernel\Profiler\Profile; use Symfony\Component\HttpKernel\Profiler\Profiler; use Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface; +use Symfony\Component\Routing\RequestContext; +use Symfony\Component\Routing\RouteCollection; use Symfony\Component\Routing\RouterInterface; class WebProfilerExtensionTest extends TestCase @@ -58,15 +61,11 @@ $this->kernel = $this->createMock(KernelInterface::class); - $profiler = $this->createMock(Profiler::class); - $profilerStorage = $this->createMock(ProfilerStorageInterface::class); - $router = $this->createMock(RouterInterface::class); - $this->container = new ContainerBuilder(); $this->container->register('data_collector.dump', DumpDataCollector::class)->setPublic(true); $this->container->register('error_handler.error_renderer.html', HtmlErrorRenderer::class)->setPublic(true); $this->container->register('event_dispatcher', EventDispatcher::class)->setPublic(true); - $this->container->register('router', \get_class($router))->setPublic(true); + $this->container->register('router', Router::class)->setPublic(true); $this->container->register('twig', 'Twig\Environment')->setPublic(true); $this->container->register('twig_loader', 'Twig\Loader\ArrayLoader')->addArgument([])->setPublic(true); $this->container->register('twig', 'Twig\Environment')->addArgument(new Reference('twig_loader'))->setPublic(true); @@ -78,9 +77,9 @@ $this->container->setParameter('kernel.charset', 'UTF-8'); $this->container->setParameter('debug.file_link_format', null); $this->container->setParameter('profiler.class', ['Symfony\\Component\\HttpKernel\\Profiler\\Profiler']); - $this->container->register('profiler', \get_class($profiler)) + $this->container->register('profiler', Profiler::class) ->setPublic(true) - ->addArgument(new Definition(\get_class($profilerStorage))); + ->addArgument(new Definition(NullProfilerStorage::class)); $this->container->setParameter('data_collector.templates', []); $this->container->set('kernel', $this->kernel); $this->container->addCompilerPass(new RegisterListenersPass()); @@ -212,3 +211,54 @@ return $this->container; } } + +class Router implements RouterInterface +{ + private $context; + + public function setContext(RequestContext $context): void + { + $this->context = $context; + } + + public function getContext(): RequestContext + { + return $this->context; + } + + public function getRouteCollection(): RouteCollection + { + return new RouteCollection(); + } + + public function generate(string $name, array $parameters = [], int $referenceType = self::ABSOLUTE_PATH): string + { + } + + public function match(string $pathinfo): array + { + return []; + } +} + +class NullProfilerStorage implements ProfilerStorageInterface +{ + public function find(?string $ip, ?string $url, ?int $limit, ?string $method, ?int $start = null, ?int $end = null): array + { + return []; + } + + public function read(string $token): ?Profile + { + return null; + } + + public function write(Profile $profile): bool + { + return true; + } + + public function purge() + { + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/EventListener/WebDebugToolbarListenerTest.php symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/EventListener/WebDebugToolbarListenerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/EventListener/WebDebugToolbarListenerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/EventListener/WebDebugToolbarListenerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -149,7 +149,7 @@ $this->assertEquals('', $response->getContent()); } - public static function provideRedirects() + public static function provideRedirects(): array { return [ [301], @@ -344,6 +344,20 @@ $this->assertEquals("\nWDT\n", $response->getContent()); } + public function testNullContentTypeWithNoDebugEnv() + { + $response = new Response(''); + $response->headers->set('Content-Type', null); + $response->headers->set('X-Debug-Token', 'xxxxxxxx'); + + $event = new ResponseEvent($this->createMock(Kernel::class), new Request(), HttpKernelInterface::MAIN_REQUEST, $response); + + $listener = new WebDebugToolbarListener($this->getTwigMock(), false, WebDebugToolbarListener::ENABLED, null); + $listener->onKernelResponse($event); + + $this->expectNotToPerformAssertions(); + } + protected function getTwigMock($render = 'WDT') { $templating = $this->createMock(Environment::class); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Resources/IconTest.php symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Resources/IconTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Resources/IconTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Resources/IconTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ $this->assertMatchesRegularExpression('~.*~s', file_get_contents($iconFilePath), sprintf('The SVG metadata of the %s icon is different than expected (use the same as the other icons).', $iconFilePath)); } - public static function provideIconFilePaths() + public static function provideIconFilePaths(): array { return array_map(function ($filePath) { return (array) $filePath; }, glob(__DIR__.'/../../Resources/views/Icon/*.svg')); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Twig/WebProfilerExtensionTest.php symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Twig/WebProfilerExtensionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Twig/WebProfilerExtensionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Tests/Twig/WebProfilerExtensionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,8 +15,7 @@ use Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension; use Symfony\Component\VarDumper\Cloner\VarCloner; use Twig\Environment; -use Twig\Extension\CoreExtension; -use Twig\Extension\EscaperExtension; +use Twig\Loader\ArrayLoader; class WebProfilerExtensionTest extends TestCase { @@ -25,10 +24,7 @@ */ public function testDumpHeaderIsDisplayed(string $message, array $context, bool $dump1HasHeader, bool $dump2HasHeader) { - class_exists(CoreExtension::class); // Load twig_convert_encoding() - class_exists(EscaperExtension::class); // Load twig_escape_filter() - - $twigEnvironment = $this->mockTwigEnvironment(); + $twigEnvironment = new Environment(new ArrayLoader()); $varCloner = new VarCloner(); $webProfilerExtension = new WebProfilerExtension(); @@ -49,13 +45,4 @@ yield ['Some message {foo}', ['foo' => 'foo', 'bar' => 'bar'], true, false]; yield ['Some message {foo}', ['bar' => 'bar'], false, true]; } - - private function mockTwigEnvironment() - { - $twigEnvironment = $this->createMock(Environment::class); - - $twigEnvironment->expects($this->any())->method('getCharset')->willReturn('UTF-8'); - - return $twigEnvironment; - } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -14,8 +14,10 @@ use Symfony\Component\VarDumper\Cloner\Data; use Symfony\Component\VarDumper\Dumper\HtmlDumper; use Twig\Environment; +use Twig\Extension\EscaperExtension; use Twig\Extension\ProfilerExtension; use Twig\Profiler\Profile; +use Twig\Runtime\EscaperRuntime; use Twig\TwigFunction; /** @@ -42,7 +44,7 @@ */ private $stackLevel = 0; - public function __construct(HtmlDumper $dumper = null) + public function __construct(?HtmlDumper $dumper = null) { $this->dumper = $dumper ?? new HtmlDumper(); $this->dumper->setOutput($this->output = fopen('php://memory', 'r+')); @@ -60,9 +62,6 @@ } } - /** - * {@inheritdoc} - */ public function getFunctions(): array { return [ @@ -85,14 +84,14 @@ return str_replace("\n$1"', $message); $replacements = []; foreach ($context ?? [] as $k => $v) { - $k = '{'.twig_escape_filter($env, $k).'}'; + $k = '{'.self::escape($env, $k).'}'; if (str_contains($message, $k)) { $replacements[$k] = $v; } @@ -109,11 +108,24 @@ return ''.strtr($message, $replacements).''; } - /** - * {@inheritdoc} - */ public function getName() { return 'profiler'; } + + private static function escape(Environment $env, string $s): string + { + // Twig 3.10 and above + if (class_exists(EscaperRuntime::class)) { + return $env->getRuntime(EscaperRuntime::class)->escape($s); + } + + // Twig 3.9 + if (method_exists(EscaperExtension::class, 'escape')) { + return EscaperExtension::escape($env, $s); + } + + // to be removed when support for Twig 3 is dropped + return twig_escape_filter($env, $s); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/composer.json symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/composer.json --- symfony-5.4.23+dfsg/src/Symfony/Bundle/WebProfilerBundle/composer.json 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Bundle/WebProfilerBundle/composer.json 2026-05-20 08:22:01.000000000 +0000 @@ -18,7 +18,7 @@ "require": { "php": ">=7.2.5", "symfony/config": "^4.4|^5.0|^6.0", - "symfony/framework-bundle": "^5.3|^6.0", + "symfony/framework-bundle": "^5.3|^6.0,<6.4", "symfony/http-kernel": "^5.3|^6.0", "symfony/polyfill-php80": "^1.16", "symfony/routing": "^4.4|^5.0|^6.0", diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Asset/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/Asset/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/Asset/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Asset/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Asset/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/Asset/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/Asset/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Asset/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Asset/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/Asset/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/Asset/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Asset/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Asset/Exception/AssetNotFoundException.php symfony-5.4.52+dfsg/src/Symfony/Component/Asset/Exception/AssetNotFoundException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Asset/Exception/AssetNotFoundException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Asset/Exception/AssetNotFoundException.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,7 +24,7 @@ * @param int $code Exception code * @param \Throwable $previous Previous exception used for the exception chaining */ - public function __construct(string $message, array $alternatives = [], int $code = 0, \Throwable $previous = null) + public function __construct(string $message, array $alternatives = [], int $code = 0, ?\Throwable $previous = null) { parent::__construct($message, $code, $previous); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Asset/Package.php symfony-5.4.52+dfsg/src/Symfony/Component/Asset/Package.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Asset/Package.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Asset/Package.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ private $versionStrategy; private $context; - public function __construct(VersionStrategyInterface $versionStrategy, ContextInterface $context = null) + public function __construct(VersionStrategyInterface $versionStrategy, ?ContextInterface $context = null) { $this->versionStrategy = $versionStrategy; $this->context = $context ?? new NullContext(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Asset/Packages.php symfony-5.4.52+dfsg/src/Symfony/Component/Asset/Packages.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Asset/Packages.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Asset/Packages.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ /** * @param PackageInterface[] $packages Additional packages indexed by name */ - public function __construct(PackageInterface $defaultPackage = null, iterable $packages = []) + public function __construct(?PackageInterface $defaultPackage = null, iterable $packages = []) { $this->defaultPackage = $defaultPackage; @@ -57,7 +57,7 @@ * @throws InvalidArgumentException If there is no package by that name * @throws LogicException If no default package is defined */ - public function getPackage(string $name = null) + public function getPackage(?string $name = null) { if (null === $name) { if (null === $this->defaultPackage) { @@ -82,7 +82,7 @@ * * @return string */ - public function getVersion(string $path, string $packageName = null) + public function getVersion(string $path, ?string $packageName = null) { return $this->getPackage($packageName)->getVersion($path); } @@ -97,7 +97,7 @@ * * @return string A public path which takes into account the base path and URL path */ - public function getUrl(string $path, string $packageName = null) + public function getUrl(string $path, ?string $packageName = null) { return $this->getPackage($packageName)->getUrl($path); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Asset/PathPackage.php symfony-5.4.52+dfsg/src/Symfony/Component/Asset/PathPackage.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Asset/PathPackage.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Asset/PathPackage.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ /** * @param string $basePath The base path to be prepended to relative paths */ - public function __construct(string $basePath, VersionStrategyInterface $versionStrategy, ContextInterface $context = null) + public function __construct(string $basePath, VersionStrategyInterface $versionStrategy, ?ContextInterface $context = null) { parent::__construct($versionStrategy, $context); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Asset/Tests/UrlPackageTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Asset/Tests/UrlPackageTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Asset/Tests/UrlPackageTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Asset/Tests/UrlPackageTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,13 +25,13 @@ /** * @dataProvider getConfigs */ - public function testGetUrl($baseUrls, $format, $path, $expected) + public function testGetUrl($baseUrls, string $format, string $path, string $expected) { $package = new UrlPackage($baseUrls, new StaticVersionStrategy('v1', $format)); $this->assertSame($expected, $package->getUrl($path)); } - public static function getConfigs() + public static function getConfigs(): array { return [ ['http://example.net', '', 'http://example.com/foo', 'http://example.com/foo'], @@ -65,14 +65,14 @@ /** * @dataProvider getContextConfigs */ - public function testGetUrlWithContext($secure, $baseUrls, $format, $path, $expected) + public function testGetUrlWithContext(bool $secure, $baseUrls, string $format, string $path, string $expected) { $package = new UrlPackage($baseUrls, new StaticVersionStrategy('v1', $format), $this->getContext($secure)); $this->assertSame($expected, $package->getUrl($path)); } - public static function getContextConfigs() + public static function getContextConfigs(): array { return [ [false, 'http://example.com', '', 'foo', 'http://example.com/foo?v1'], @@ -114,7 +114,7 @@ new UrlPackage($baseUrls, new EmptyVersionStrategy()); } - public static function getWrongBaseUrlConfig() + public static function getWrongBaseUrlConfig(): array { return [ ['not-a-url'], @@ -122,7 +122,7 @@ ]; } - private function getContext($secure) + private function getContext($secure): ContextInterface { $context = $this->createMock(ContextInterface::class); $context->expects($this->any())->method('isSecure')->willReturn($secure); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Asset/UrlPackage.php symfony-5.4.52+dfsg/src/Symfony/Component/Asset/UrlPackage.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Asset/UrlPackage.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Asset/UrlPackage.php 2026-05-20 08:22:01.000000000 +0000 @@ -41,7 +41,7 @@ /** * @param string|string[] $baseUrls Base asset URLs */ - public function __construct($baseUrls, VersionStrategyInterface $versionStrategy, ContextInterface $context = null) + public function __construct($baseUrls, VersionStrategyInterface $versionStrategy, ?ContextInterface $context = null) { parent::__construct($versionStrategy, $context); @@ -123,7 +123,7 @@ foreach ($urls as $url) { if ('https://' === substr($url, 0, 8) || '//' === substr($url, 0, 2)) { $sslUrls[] = $url; - } elseif (null === parse_url($url, \PHP_URL_SCHEME)) { + } elseif (!parse_url($url, \PHP_URL_SCHEME)) { throw new InvalidArgumentException(sprintf('"%s" is not a valid URL.', $url)); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Asset/VersionStrategy/JsonManifestVersionStrategy.php symfony-5.4.52+dfsg/src/Symfony/Component/Asset/VersionStrategy/JsonManifestVersionStrategy.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Asset/VersionStrategy/JsonManifestVersionStrategy.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Asset/VersionStrategy/JsonManifestVersionStrategy.php 2026-05-20 08:22:01.000000000 +0000 @@ -40,7 +40,7 @@ * @param string $manifestPath Absolute path to the manifest file * @param bool $strictMode Throws an exception for unknown paths */ - public function __construct(string $manifestPath, HttpClientInterface $httpClient = null, $strictMode = false) + public function __construct(string $manifestPath, ?HttpClientInterface $httpClient = null, $strictMode = false) { $this->manifestPath = $manifestPath; $this->httpClient = $httpClient; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Asset/VersionStrategy/StaticVersionStrategy.php symfony-5.4.52+dfsg/src/Symfony/Component/Asset/VersionStrategy/StaticVersionStrategy.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Asset/VersionStrategy/StaticVersionStrategy.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Asset/VersionStrategy/StaticVersionStrategy.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ * @param string $version Version number * @param string $format Url format */ - public function __construct(string $version, string $format = null) + public function __construct(string $version, ?string $format = null) { $this->version = $version; $this->format = $format ?: '%s?%s'; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/AbstractBrowser.php symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/AbstractBrowser.php --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/AbstractBrowser.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/AbstractBrowser.php 2026-05-20 08:22:01.000000000 +0000 @@ -50,7 +50,7 @@ /** * @param array $server The server parameters (equivalent of $_SERVER) */ - public function __construct(array $server = [], History $history = null, CookieJar $cookieJar = null) + public function __construct(array $server = [], ?History $history = null, ?CookieJar $cookieJar = null) { $this->setServerParameters($server); $this->history = $history ?? new History(); @@ -146,7 +146,7 @@ return $this->server[$key] ?? $default; } - public function xmlHttpRequest(string $method, string $uri, array $parameters = [], array $files = [], array $server = [], string $content = null, bool $changeHistory = true): Crawler + public function xmlHttpRequest(string $method, string $uri, array $parameters = [], array $files = [], array $server = [], ?string $content = null, bool $changeHistory = true): Crawler { $this->setServerParameter('HTTP_X_REQUESTED_WITH', 'XMLHttpRequest'); @@ -352,7 +352,7 @@ * * @return Crawler */ - public function request(string $method, string $uri, array $parameters = [], array $files = [], array $server = [], string $content = null, bool $changeHistory = true) + public function request(string $method, string $uri, array $parameters = [], array $files = [], array $server = [], ?string $content = null, bool $changeHistory = true) { if ($this->isMainRequest) { $this->redirectCount = 0; @@ -366,11 +366,11 @@ $server = array_merge($this->server, $server); - if (!empty($server['HTTP_HOST']) && null === parse_url($originalUri, \PHP_URL_HOST)) { + if (!empty($server['HTTP_HOST']) && !parse_url($originalUri, \PHP_URL_HOST)) { $uri = preg_replace('{^(https?\://)'.preg_quote($this->extractHost($uri)).'}', '${1}'.$server['HTTP_HOST'], $uri); } - if (isset($server['HTTPS']) && null === parse_url($originalUri, \PHP_URL_SCHEME)) { + if (isset($server['HTTPS']) && !parse_url($originalUri, \PHP_URL_SCHEME)) { $uri = preg_replace('{^'.parse_url($uri, \PHP_URL_SCHEME).'}', $server['HTTPS'] ? 'https' : 'http', $uri); } @@ -382,7 +382,7 @@ $server['HTTP_HOST'] = $this->extractHost($uri); } - $server['HTTPS'] = 'https' == parse_url($uri, \PHP_URL_SCHEME); + $server['HTTPS'] = 'https' === parse_url($uri, \PHP_URL_SCHEME); $this->internalRequest = new Request($uri, $method, $parameters, $files, $this->cookieJar->allValues($uri), $server, $content); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Cookie.php symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Cookie.php --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Cookie.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Cookie.php 2026-05-20 08:22:01.000000000 +0000 @@ -55,7 +55,7 @@ * @param bool $encodedValue Whether the value is encoded or not * @param string|null $samesite The cookie samesite attribute */ - public function __construct(string $name, ?string $value, string $expires = null, string $path = null, string $domain = '', bool $secure = false, bool $httponly = true, bool $encodedValue = false, string $samesite = null) + public function __construct(string $name, ?string $value, ?string $expires = null, ?string $path = null, string $domain = '', bool $secure = false, bool $httponly = true, bool $encodedValue = false, ?string $samesite = null) { if ($encodedValue) { $this->value = urldecode($value); @@ -125,7 +125,7 @@ * * @throws \InvalidArgumentException */ - public static function fromString(string $cookie, string $url = null) + public static function fromString(string $cookie, ?string $url = null) { $parts = explode(';', $cookie); @@ -148,7 +148,7 @@ ]; if (null !== $url) { - if ((false === $urlParts = parse_url($url)) || !isset($urlParts['host'])) { + if (false === ($urlParts = parse_url($url)) || !isset($urlParts['host'])) { throw new \InvalidArgumentException(sprintf('The URL "%s" is not valid.', $url)); } @@ -161,7 +161,7 @@ if ('secure' === strtolower($part)) { // Ignore the secure flag if the original URI is not given or is not HTTPS - if (!$url || !isset($urlParts['scheme']) || 'https' != $urlParts['scheme']) { + if (null === $url || !isset($urlParts['scheme']) || 'https' != $urlParts['scheme']) { continue; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/CookieJar.php symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/CookieJar.php --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/CookieJar.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/CookieJar.php 2026-05-20 08:22:01.000000000 +0000 @@ -35,7 +35,7 @@ * * @return Cookie|null */ - public function get(string $name, string $path = '/', string $domain = null) + public function get(string $name, string $path = '/', ?string $domain = null) { $this->flushExpiredCookies(); @@ -67,7 +67,7 @@ * all cookies for the given name/path expire (this behavior * ensures a BC behavior with previous versions of Symfony). */ - public function expire(string $name, ?string $path = '/', string $domain = null) + public function expire(string $name, ?string $path = '/', ?string $domain = null) { if (null === $path) { $path = '/'; @@ -107,7 +107,7 @@ * * @param string[] $setCookies Set-Cookie headers from an HTTP response */ - public function updateFromSetCookie(array $setCookies, string $uri = null) + public function updateFromSetCookie(array $setCookies, ?string $uri = null) { $cookies = []; @@ -133,7 +133,7 @@ /** * Updates the cookie jar from a Response object. */ - public function updateFromResponse(Response $response, string $uri = null) + public function updateFromResponse(Response $response, ?string $uri = null) { $this->updateFromSetCookie($response->getHeader('Set-Cookie', false), $uri); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/HttpBrowser.php symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/HttpBrowser.php --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/HttpBrowser.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/HttpBrowser.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ { private $client; - public function __construct(HttpClientInterface $client = null, History $history = null, CookieJar $cookieJar = null) + public function __construct(?HttpClientInterface $client = null, ?History $history = null, ?CookieJar $cookieJar = null) { if (!$client && !class_exists(HttpClient::class)) { throw new \LogicException(sprintf('You cannot use "%s" as the HttpClient component is not installed. Try running "composer require symfony/http-client".', __CLASS__)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Request.php symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Request.php --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Request.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Request.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ * @param array $server An array of server parameters * @param string $content The raw body data */ - public function __construct(string $uri, string $method, array $parameters = [], array $files = [], array $cookies = [], array $server = [], string $content = null) + public function __construct(string $uri, string $method, array $parameters = [], array $files = [], array $cookies = [], array $server = [], ?string $content = null) { $this->uri = $uri; $this->method = $method; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Test/Constraint/BrowserCookieValueSame.php symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Test/Constraint/BrowserCookieValueSame.php --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Test/Constraint/BrowserCookieValueSame.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Test/Constraint/BrowserCookieValueSame.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,7 +22,7 @@ private $path; private $domain; - public function __construct(string $name, string $value, bool $raw = false, string $path = '/', string $domain = null) + public function __construct(string $name, string $value, bool $raw = false, string $path = '/', ?string $domain = null) { $this->name = $name; $this->path = $path; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Test/Constraint/BrowserHasCookie.php symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Test/Constraint/BrowserHasCookie.php --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Test/Constraint/BrowserHasCookie.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Test/Constraint/BrowserHasCookie.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ private $path; private $domain; - public function __construct(string $name, string $path = '/', string $domain = null) + public function __construct(string $name, string $path = '/', ?string $domain = null) { $this->name = $name; $this->path = $path; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Tests/AbstractBrowserTest.php symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Tests/AbstractBrowserTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Tests/AbstractBrowserTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Tests/AbstractBrowserTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ class AbstractBrowserTest extends TestCase { - public function getBrowser(array $server = [], History $history = null, CookieJar $cookieJar = null) + public function getBrowser(array $server = [], ?History $history = null, ?CookieJar $cookieJar = null) { return new TestClient($server, $history, $cookieJar); } @@ -47,11 +47,12 @@ public function testGetRequestNull() { + $client = $this->getBrowser(); + $this->expectException(BadMethodCallException::class); $this->expectExceptionMessage('The "request()" method must be called before "Symfony\\Component\\BrowserKit\\AbstractBrowser::getRequest()".'); - $client = $this->getBrowser(); - $this->assertNull($client->getRequest()); + $client->getRequest(); } public function testXmlHttpRequest() @@ -95,20 +96,22 @@ public function testGetResponseNull() { + $client = $this->getBrowser(); + $this->expectException(BadMethodCallException::class); $this->expectExceptionMessage('The "request()" method must be called before "Symfony\\Component\\BrowserKit\\AbstractBrowser::getResponse()".'); - $client = $this->getBrowser(); - $this->assertNull($client->getResponse()); + $client->getResponse(); } public function testGetInternalResponseNull() { + $client = $this->getBrowser(); + $this->expectException(BadMethodCallException::class); $this->expectExceptionMessage('The "request()" method must be called before "Symfony\\Component\\BrowserKit\\AbstractBrowser::getInternalResponse()".'); - $client = $this->getBrowser(); - $this->assertNull($client->getInternalResponse()); + $client->getInternalResponse(); } public function testGetContent() @@ -131,11 +134,12 @@ public function testGetCrawlerNull() { + $client = $this->getBrowser(); + $this->expectException(BadMethodCallException::class); $this->expectExceptionMessage('The "request()" method must be called before "Symfony\\Component\\BrowserKit\\AbstractBrowser::getCrawler()".'); - $client = $this->getBrowser(); - $this->assertNull($client->getCrawler()); + $client->getCrawler(); } public function testRequestHttpHeaders() @@ -384,7 +388,7 @@ $this->assertSame('bar', $server['PHP_AUTH_PW']); } - public function testSubmitPassthrewHeaders() + public function testSubmitPassthroughHeaders() { $client = $this->getBrowser(); $client->setNextResponse(new Response('
')); @@ -623,7 +627,7 @@ $this->assertSame($expectedEndingUrl, $client->getRequest()->getUri()); } - public static function getTestsForMetaRefresh() + public static function getTestsForMetaRefresh(): array { return [ ['', 'http://www.example.com/redirected'], @@ -844,10 +848,11 @@ public function testInternalRequestNull() { + $client = $this->getBrowser(); + $this->expectException(BadMethodCallException::class); $this->expectExceptionMessage('The "request()" method must be called before "Symfony\\Component\\BrowserKit\\AbstractBrowser::getInternalRequest()".'); - $client = $this->getBrowser(); - $this->assertNull($client->getInternalRequest()); + $client->getInternalRequest(); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -19,7 +19,7 @@ class HttpBrowserTest extends AbstractBrowserTest { - public function getBrowser(array $server = [], History $history = null, CookieJar $cookieJar = null) + public function getBrowser(array $server = [], ?History $history = null, ?CookieJar $cookieJar = null) { return new TestHttpClient($server, $history, $cookieJar); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Tests/TestHttpClient.php symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Tests/TestHttpClient.php --- symfony-5.4.23+dfsg/src/Symfony/Component/BrowserKit/Tests/TestHttpClient.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/BrowserKit/Tests/TestHttpClient.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ protected $nextResponse = null; protected $nextScript = null; - public function __construct(array $server = [], History $history = null, CookieJar $cookieJar = null) + public function __construct(array $server = [], ?History $history = null, ?CookieJar $cookieJar = null) { $client = new MockHttpClient(function (string $method, string $url, array $options) { if (null === $this->nextResponse) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/Cache/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/Cache/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/Cache/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -101,7 +101,7 @@ * * @return AdapterInterface */ - public static function createSystemCache(string $namespace, int $defaultLifetime, string $version, string $directory, LoggerInterface $logger = null) + public static function createSystemCache(string $namespace, int $defaultLifetime, string $version, string $directory, ?LoggerInterface $logger = null) { $opcache = new PhpFilesAdapter($namespace, $defaultLifetime, $directory, true); if (null !== $logger) { @@ -140,7 +140,7 @@ return CouchbaseCollectionAdapter::createConnection($dsn, $options); } - throw new InvalidArgumentException(sprintf('Unsupported DSN: "%s".', $dsn)); + throw new InvalidArgumentException('Unsupported DSN: it does not start with "redis[s]:", "memcached:" nor "couchbase:".'); } /** diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ /** * @throws CacheException if APCu is not enabled */ - public function __construct(string $namespace = '', int $defaultLifetime = 0, string $version = null, MarshallerInterface $marshaller = null) + public function __construct(string $namespace = '', int $defaultLifetime = 0, ?string $version = null, ?MarshallerInterface $marshaller = null) { if (!static::isSupported()) { throw new CacheException('APCu is not enabled.'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/ArrayAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/ArrayAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/ArrayAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/ArrayAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -73,7 +73,7 @@ /** * {@inheritdoc} */ - public function get(string $key, callable $callback, float $beta = null, array &$metadata = null) + public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null) { $item = $this->getItem($key); $metadata = $item->getMetadata(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/ChainAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/ChainAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/ChainAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/ChainAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -92,7 +92,7 @@ /** * {@inheritdoc} */ - public function get(string $key, callable $callback, float $beta = null, array &$metadata = null) + public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null) { $doSave = true; $callback = static function (CacheItem $item, bool &$save) use ($callback, &$doSave) { @@ -104,7 +104,7 @@ $lastItem = null; $i = 0; - $wrap = function (CacheItem $item = null, bool &$save = true) use ($key, $callback, $beta, &$wrap, &$i, &$doSave, &$lastItem, &$metadata) { + $wrap = function (?CacheItem $item = null, bool &$save = true) use ($key, $callback, $beta, &$wrap, &$i, &$doSave, &$lastItem, &$metadata) { $adapter = $this->adapters[$i]; if (isset($this->adapters[++$i])) { $callback = $wrap; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/CouchbaseBucketAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/CouchbaseBucketAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/CouchbaseBucketAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/CouchbaseBucketAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -39,7 +39,7 @@ private $bucket; private $marshaller; - public function __construct(\CouchbaseBucket $bucket, string $namespace = '', int $defaultLifetime = 0, MarshallerInterface $marshaller = null) + public function __construct(\CouchbaseBucket $bucket, string $namespace = '', int $defaultLifetime = 0, ?MarshallerInterface $marshaller = null) { if (!static::isSupported()) { throw new CacheException('Couchbase >= 2.6.0 < 3.0.0 is required.'); @@ -83,7 +83,7 @@ foreach ($servers as $dsn) { if (0 !== strpos($dsn, 'couchbase:')) { - throw new InvalidArgumentException(sprintf('Invalid Couchbase DSN: "%s" does not start with "couchbase:".', $dsn)); + throw new InvalidArgumentException('Invalid Couchbase DSN: it does not start with "couchbase:".'); } preg_match($dsnPattern, $dsn, $matches); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/CouchbaseCollectionAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/CouchbaseCollectionAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/CouchbaseCollectionAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/CouchbaseCollectionAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ private $connection; private $marshaller; - public function __construct(Collection $connection, string $namespace = '', int $defaultLifetime = 0, MarshallerInterface $marshaller = null) + public function __construct(Collection $connection, string $namespace = '', int $defaultLifetime = 0, ?MarshallerInterface $marshaller = null) { if (!static::isSupported()) { throw new CacheException('Couchbase >= 3.0.0 < 4.0.0 is required.'); @@ -79,7 +79,7 @@ foreach ($dsn as $server) { if (0 !== strpos($server, 'couchbase:')) { - throw new InvalidArgumentException(sprintf('Invalid Couchbase DSN: "%s" does not start with "couchbase:".', $server)); + throw new InvalidArgumentException('Invalid Couchbase DSN: it does not start with "couchbase:".'); } preg_match($dsnPattern, $server, $matches); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/DoctrineDbalAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/DoctrineDbalAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/DoctrineDbalAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/DoctrineDbalAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,13 +11,18 @@ namespace Symfony\Component\Cache\Adapter; +use Doctrine\DBAL\ArrayParameterType; +use Doctrine\DBAL\Configuration; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver\ServerInfoAwareConnection; use Doctrine\DBAL\DriverManager; use Doctrine\DBAL\Exception as DBALException; use Doctrine\DBAL\Exception\TableNotFoundException; use Doctrine\DBAL\ParameterType; +use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory; use Doctrine\DBAL\Schema\Schema; +use Doctrine\DBAL\ServerVersionProvider; +use Doctrine\DBAL\Tools\DsnParser; use Symfony\Component\Cache\Exception\InvalidArgumentException; use Symfony\Component\Cache\Marshaller\DefaultMarshaller; use Symfony\Component\Cache\Marshaller\MarshallerInterface; @@ -56,7 +61,7 @@ * * @throws InvalidArgumentException When namespace contains invalid characters */ - public function __construct($connOrDsn, string $namespace = '', int $defaultLifetime = 0, array $options = [], MarshallerInterface $marshaller = null) + public function __construct($connOrDsn, string $namespace = '', int $defaultLifetime = 0, array $options = [], ?MarshallerInterface $marshaller = null) { if (isset($namespace[0]) && preg_match('#[^-+.A-Za-z0-9]#', $namespace, $match)) { throw new InvalidArgumentException(sprintf('Namespace contains "%s" but only characters in [-+.A-Za-z0-9] are allowed.', $match[0])); @@ -66,9 +71,30 @@ $this->conn = $connOrDsn; } elseif (\is_string($connOrDsn)) { if (!class_exists(DriverManager::class)) { - throw new InvalidArgumentException(sprintf('Failed to parse the DSN "%s". Try running "composer require doctrine/dbal".', $connOrDsn)); + throw new InvalidArgumentException('Failed to parse DSN. Try running "composer require doctrine/dbal".'); } - $this->conn = DriverManager::getConnection(['url' => $connOrDsn]); + if (class_exists(DsnParser::class)) { + $params = (new DsnParser([ + 'db2' => 'ibm_db2', + 'mssql' => 'pdo_sqlsrv', + 'mysql' => 'pdo_mysql', + 'mysql2' => 'pdo_mysql', + 'postgres' => 'pdo_pgsql', + 'postgresql' => 'pdo_pgsql', + 'pgsql' => 'pdo_pgsql', + 'sqlite' => 'pdo_sqlite', + 'sqlite3' => 'pdo_sqlite', + ]))->parse($connOrDsn); + } else { + $params = ['url' => $connOrDsn]; + } + + $config = new Configuration(); + if (class_exists(DefaultSchemaManagerFactory::class)) { + $config->setSchemaManagerFactory(new DefaultSchemaManagerFactory()); + } + + $this->conn = DriverManager::getConnection($params, $config); } else { throw new \TypeError(sprintf('Argument 1 passed to "%s()" must be "%s" or string, "%s" given.', __METHOD__, Connection::class, get_debug_type($connOrDsn))); } @@ -156,7 +182,7 @@ $ids, ], [ ParameterType::INTEGER, - Connection::PARAM_STR_ARRAY, + class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY, ])->iterateNumeric(); foreach ($result as $row) { @@ -174,7 +200,7 @@ $expired, ], [ ParameterType::INTEGER, - Connection::PARAM_STR_ARRAY, + class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY, ]); } } @@ -226,7 +252,7 @@ { $sql = "DELETE FROM $this->table WHERE $this->idCol IN (?)"; try { - $this->conn->executeStatement($sql, [array_values($ids)], [Connection::PARAM_STR_ARRAY]); + $this->conn->executeStatement($sql, [array_values($ids)], [class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY]); } catch (TableNotFoundException $e) { } @@ -285,35 +311,42 @@ $stmt = $this->conn->prepare($sql); } - // $id and $data are defined later in the loop. Binding is done by reference, values are read on execution. if ('sqlsrv' === $platformName || 'oci' === $platformName) { - $stmt->bindParam(1, $id); - $stmt->bindParam(2, $id); - $stmt->bindParam(3, $data, ParameterType::LARGE_OBJECT); + $bind = static function ($id, $data) use ($stmt) { + $stmt->bindValue(1, $id); + $stmt->bindValue(2, $id); + $stmt->bindValue(3, $data, ParameterType::LARGE_OBJECT); + $stmt->bindValue(6, $data, ParameterType::LARGE_OBJECT); + }; $stmt->bindValue(4, $lifetime, ParameterType::INTEGER); $stmt->bindValue(5, $now, ParameterType::INTEGER); - $stmt->bindParam(6, $data, ParameterType::LARGE_OBJECT); $stmt->bindValue(7, $lifetime, ParameterType::INTEGER); $stmt->bindValue(8, $now, ParameterType::INTEGER); } elseif (null !== $platformName) { - $stmt->bindParam(1, $id); - $stmt->bindParam(2, $data, ParameterType::LARGE_OBJECT); + $bind = static function ($id, $data) use ($stmt) { + $stmt->bindValue(1, $id); + $stmt->bindValue(2, $data, ParameterType::LARGE_OBJECT); + }; $stmt->bindValue(3, $lifetime, ParameterType::INTEGER); $stmt->bindValue(4, $now, ParameterType::INTEGER); } else { - $stmt->bindParam(1, $data, ParameterType::LARGE_OBJECT); $stmt->bindValue(2, $lifetime, ParameterType::INTEGER); $stmt->bindValue(3, $now, ParameterType::INTEGER); - $stmt->bindParam(4, $id); $insertStmt = $this->conn->prepare($insertSql); - $insertStmt->bindParam(1, $id); - $insertStmt->bindParam(2, $data, ParameterType::LARGE_OBJECT); $insertStmt->bindValue(3, $lifetime, ParameterType::INTEGER); $insertStmt->bindValue(4, $now, ParameterType::INTEGER); + + $bind = static function ($id, $data) use ($stmt, $insertStmt) { + $stmt->bindValue(1, $data, ParameterType::LARGE_OBJECT); + $stmt->bindValue(4, $id); + $insertStmt->bindValue(1, $id); + $insertStmt->bindValue(2, $data, ParameterType::LARGE_OBJECT); + }; } foreach ($values as $id => $data) { + $bind($id, $data); try { $rowCount = $stmt->executeStatement(); } catch (TableNotFoundException $e) { @@ -388,12 +421,14 @@ return $this->serverVersion; } - $conn = $this->conn->getWrappedConnection(); - if ($conn instanceof ServerInfoAwareConnection) { - return $this->serverVersion = $conn->getServerVersion(); + if ($this->conn instanceof ServerVersionProvider || $this->conn instanceof ServerInfoAwareConnection) { + return $this->serverVersion = $this->conn->getServerVersion(); } - return $this->serverVersion = '0'; + // The condition should be removed once support for DBAL <3.3 is dropped + $conn = method_exists($this->conn, 'getNativeConnection') ? $this->conn->getNativeConnection() : $this->conn->getWrappedConnection(); + + return $this->serverVersion = $conn->getAttribute(\PDO::ATTR_SERVER_VERSION); } private function addTableToSchema(Schema $schema): void diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/FilesystemAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/FilesystemAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/FilesystemAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/FilesystemAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ { use FilesystemTrait; - public function __construct(string $namespace = '', int $defaultLifetime = 0, string $directory = null, MarshallerInterface $marshaller = null) + public function __construct(string $namespace = '', int $defaultLifetime = 0, ?string $directory = null, ?MarshallerInterface $marshaller = null) { $this->marshaller = $marshaller ?? new DefaultMarshaller(); parent::__construct('', $defaultLifetime); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/FilesystemTagAwareAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/FilesystemTagAwareAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/FilesystemTagAwareAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/FilesystemTagAwareAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,7 +34,7 @@ */ private const TAG_FOLDER = 'tags'; - public function __construct(string $namespace = '', int $defaultLifetime = 0, string $directory = null, MarshallerInterface $marshaller = null) + public function __construct(string $namespace = '', int $defaultLifetime = 0, ?string $directory = null, ?MarshallerInterface $marshaller = null) { $this->marshaller = new TagAwareMarshaller($marshaller); parent::__construct('', $defaultLifetime); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/MemcachedAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/MemcachedAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/MemcachedAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/MemcachedAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -46,7 +46,7 @@ * * Using a MemcachedAdapter as a pure items store is fine. */ - public function __construct(\Memcached $client, string $namespace = '', int $defaultLifetime = 0, MarshallerInterface $marshaller = null) + public function __construct(\Memcached $client, string $namespace = '', int $defaultLifetime = 0, ?MarshallerInterface $marshaller = null) { if (!static::isSupported()) { throw new CacheException('Memcached '.(\PHP_VERSION_ID >= 80100 ? '> 3.1.5' : '>= 2.2.0').' is required.'); @@ -109,17 +109,19 @@ continue; } if (!str_starts_with($dsn, 'memcached:')) { - throw new InvalidArgumentException(sprintf('Invalid Memcached DSN: "%s" does not start with "memcached:".', $dsn)); + throw new InvalidArgumentException('Invalid Memcached DSN: it does not start with "memcached:".'); } $params = preg_replace_callback('#^memcached:(//)?(?:([^@]*+)@)?#', function ($m) use (&$username, &$password) { if (!empty($m[2])) { [$username, $password] = explode(':', $m[2], 2) + [1 => null]; + $username = rawurldecode($username); + $password = null !== $password ? rawurldecode($password) : null; } return 'file:'.($m[1] ?? ''); }, $dsn); if (false === $params = parse_url($params)) { - throw new InvalidArgumentException(sprintf('Invalid Memcached DSN: "%s".', $dsn)); + throw new InvalidArgumentException('Invalid Memcached DSN.'); } $query = $hosts = []; if (isset($params['query'])) { @@ -127,7 +129,7 @@ if (isset($query['host'])) { if (!\is_array($hosts = $query['host'])) { - throw new InvalidArgumentException(sprintf('Invalid Memcached DSN: "%s".', $dsn)); + throw new InvalidArgumentException('Invalid Memcached DSN: query parameter "host" must be an array.'); } foreach ($hosts as $host => $weight) { if (false === $port = strrpos($host, ':')) { @@ -146,7 +148,7 @@ } } if (!isset($params['host']) && !isset($params['path'])) { - throw new InvalidArgumentException(sprintf('Invalid Memcached DSN: "%s".', $dsn)); + throw new InvalidArgumentException('Invalid Memcached DSN: missing host or path.'); } if (isset($params['path']) && preg_match('#/(\d+)$#', $params['path'], $m)) { $params['weight'] = $m[1]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/NullAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/NullAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/NullAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/NullAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -40,7 +40,7 @@ /** * {@inheritdoc} */ - public function get(string $key, callable $callback, float $beta = null, array &$metadata = null) + public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null) { $save = true; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/PdoAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/PdoAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/PdoAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/PdoAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,8 +34,8 @@ private $dataCol = 'item_data'; private $lifetimeCol = 'item_lifetime'; private $timeCol = 'item_time'; - private $username = ''; - private $password = ''; + private $username = null; + private $password = null; private $connectionOptions = []; private $namespace; @@ -62,7 +62,7 @@ * @throws InvalidArgumentException When PDO error mode is not PDO::ERRMODE_EXCEPTION * @throws InvalidArgumentException When namespace contains invalid characters */ - public function __construct($connOrDsn, string $namespace = '', int $defaultLifetime = 0, array $options = [], MarshallerInterface $marshaller = null) + public function __construct($connOrDsn, string $namespace = '', int $defaultLifetime = 0, array $options = [], ?MarshallerInterface $marshaller = null) { if ($connOrDsn instanceof Connection || (\is_string($connOrDsn) && str_contains($connOrDsn, '://'))) { trigger_deprecation('symfony/cache', '5.4', 'Usage of a DBAL Connection with "%s" is deprecated and will be removed in symfony 6.0. Use "%s" instead.', __CLASS__, DoctrineDbalAdapter::class); @@ -176,7 +176,7 @@ /** * {@inheritDoc} */ - public function get(string $key, callable $callback, float $beta = null, array &$metadata = null) + public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null) { if (isset($this->dbalAdapter)) { return $this->dbalAdapter->get($key, $callback, $beta, $metadata); @@ -507,7 +507,7 @@ try { $stmt = $conn->prepare($sql); } catch (\PDOException $e) { - if (!$conn->inTransaction() || \in_array($this->driver, ['pgsql', 'sqlite', 'sqlsrv'], true)) { + if ($this->isTableMissing($e) && (!$conn->inTransaction() || \in_array($this->driver, ['pgsql', 'sqlite', 'sqlsrv'], true))) { $this->createTable(); } $stmt = $conn->prepare($sql); @@ -542,7 +542,7 @@ try { $stmt->execute(); } catch (\PDOException $e) { - if (!$conn->inTransaction() || \in_array($this->driver, ['pgsql', 'sqlite', 'sqlsrv'], true)) { + if ($this->isTableMissing($e) && (!$conn->inTransaction() || \in_array($this->driver, ['pgsql', 'sqlite', 'sqlsrv'], true))) { $this->createTable(); } $stmt->execute(); @@ -596,4 +596,21 @@ return $this->serverVersion; } + + private function isTableMissing(\PDOException $exception): bool + { + $driver = $this->driver; + [$sqlState, $code] = $exception->errorInfo ?? [null, $exception->getCode()]; + + switch (true) { + case 'pgsql' === $driver && '42P01' === $sqlState: + case 'sqlite' === $driver && str_contains($exception->getMessage(), 'no such table:'): + case 'oci' === $driver && 942 === $code: + case 'sqlsrv' === $driver && 208 === $code: + case 'mysql' === $driver && 1146 === $code: + return true; + default: + return false; + } + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -83,7 +83,7 @@ /** * {@inheritdoc} */ - public function get(string $key, callable $callback, float $beta = null, array &$metadata = null) + public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null) { if (null === $this->values) { $this->initialize(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,7 +43,7 @@ * * @throws CacheException if OPcache is not enabled */ - public function __construct(string $namespace = '', int $defaultLifetime = 0, string $directory = null, bool $appendOnly = false) + public function __construct(string $namespace = '', int $defaultLifetime = 0, ?string $directory = null, bool $appendOnly = false) { $this->appendOnly = $appendOnly; self::$startTime = self::$startTime ?? $_SERVER['REQUEST_TIME'] ?? time(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/ProxyAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/ProxyAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/ProxyAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/ProxyAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -102,7 +102,7 @@ /** * {@inheritdoc} */ - public function get(string $key, callable $callback, float $beta = null, array &$metadata = null) + public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null) { if (!$this->pool instanceof CacheInterface) { return $this->doGet($this, $key, $callback, $beta, $metadata); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/RedisAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/RedisAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/RedisAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/RedisAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ * @param string $namespace The default namespace * @param int $defaultLifetime The default lifetime */ - public function __construct($redis, string $namespace = '', int $defaultLifetime = 0, MarshallerInterface $marshaller = null) + public function __construct($redis, string $namespace = '', int $defaultLifetime = 0, ?MarshallerInterface $marshaller = null) { $this->init($redis, $namespace, $defaultLifetime, $marshaller); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/RedisTagAwareAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/RedisTagAwareAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/RedisTagAwareAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/RedisTagAwareAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -66,7 +66,7 @@ * @param string $namespace The default namespace * @param int $defaultLifetime The default lifetime */ - public function __construct($redis, string $namespace = '', int $defaultLifetime = 0, MarshallerInterface $marshaller = null) + public function __construct($redis, string $namespace = '', int $defaultLifetime = 0, ?MarshallerInterface $marshaller = null) { if ($redis instanceof \Predis\ClientInterface && $redis->getConnection() instanceof ClusterInterface && !$redis->getConnection() instanceof PredisCluster) { throw new InvalidArgumentException(sprintf('Unsupported Predis cluster connection: only "%s" is, "%s" given.', PredisCluster::class, get_debug_type($redis->getConnection()))); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/TagAwareAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/TagAwareAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/TagAwareAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/TagAwareAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,7 +43,7 @@ private static $getTagsByKey; private static $saveTags; - public function __construct(AdapterInterface $itemsPool, AdapterInterface $tagsPool = null, float $knownTagVersionsTtl = 0.15) + public function __construct(AdapterInterface $itemsPool, ?AdapterInterface $tagsPool = null, float $knownTagVersionsTtl = 0.15) { $this->pool = $itemsPool; $this->tags = $tagsPool ?: $itemsPool; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/TraceableAdapter.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/TraceableAdapter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Adapter/TraceableAdapter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Adapter/TraceableAdapter.php 2026-05-20 08:22:01.000000000 +0000 @@ -38,7 +38,7 @@ /** * {@inheritdoc} */ - public function get(string $key, callable $callback, float $beta = null, array &$metadata = null) + public function get(string $key, callable $callback, ?float $beta = null, ?array &$metadata = null) { if (!$this->pool instanceof CacheInterface) { throw new \BadMethodCallException(sprintf('Cannot call "%s::get()": this class doesn\'t implement "%s".', get_debug_type($this->pool), CacheInterface::class)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/DataCollector/CacheDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/DataCollector/CacheDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/DataCollector/CacheDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/DataCollector/CacheDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -39,7 +39,7 @@ /** * {@inheritdoc} */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { $empty = ['calls' => [], 'config' => [], 'options' => [], 'statistics' => []]; $this->data = ['instances' => $empty, 'total' => $empty]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/DependencyInjection/CachePoolPass.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/DependencyInjection/CachePoolPass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/DependencyInjection/CachePoolPass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/DependencyInjection/CachePoolPass.php 2026-05-20 08:22:01.000000000 +0000 @@ -209,10 +209,10 @@ } $notAliasedCacheClearerId = $this->cacheClearerId; - while ($container->hasAlias($this->cacheClearerId)) { - $this->cacheClearerId = (string) $container->getAlias($this->cacheClearerId); + while ($container->hasAlias($notAliasedCacheClearerId)) { + $notAliasedCacheClearerId = (string) $container->getAlias($notAliasedCacheClearerId); } - if ($container->hasDefinition($this->cacheClearerId)) { + if ($container->hasDefinition($notAliasedCacheClearerId)) { $clearers[$notAliasedCacheClearerId] = $allPools; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/LockRegistry.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/LockRegistry.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/LockRegistry.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/LockRegistry.php 2026-05-20 08:22:01.000000000 +0000 @@ -84,7 +84,7 @@ return $previousFiles; } - public static function compute(callable $callback, ItemInterface $item, bool &$save, CacheInterface $pool, \Closure $setMetadata = null, LoggerInterface $logger = null) + public static function compute(callable $callback, ItemInterface $item, bool &$save, CacheInterface $pool, ?\Closure $setMetadata = null, ?LoggerInterface $logger = null) { if ('\\' === \DIRECTORY_SEPARATOR && null === self::$lockedFiles) { // disable locking on Windows by default diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Marshaller/DefaultMarshaller.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Marshaller/DefaultMarshaller.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Marshaller/DefaultMarshaller.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Marshaller/DefaultMarshaller.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ private $useIgbinarySerialize = true; private $throwOnSerializationFailure; - public function __construct(bool $useIgbinarySerialize = null, bool $throwOnSerializationFailure = false) + public function __construct(?bool $useIgbinarySerialize = null, bool $throwOnSerializationFailure = false) { if (null === $useIgbinarySerialize) { $useIgbinarySerialize = \extension_loaded('igbinary') && (\PHP_VERSION_ID < 70400 || version_compare('3.1.6', phpversion('igbinary'), '<=')); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Marshaller/SodiumMarshaller.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Marshaller/SodiumMarshaller.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Marshaller/SodiumMarshaller.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Marshaller/SodiumMarshaller.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ * more rotating keys can be provided to decrypt values; * each key must be generated using sodium_crypto_box_keypair() */ - public function __construct(array $decryptionKeys, MarshallerInterface $marshaller = null) + public function __construct(array $decryptionKeys, ?MarshallerInterface $marshaller = null) { if (!self::isSupported()) { throw new CacheException('The "sodium" PHP extension is not loaded.'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Marshaller/TagAwareMarshaller.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Marshaller/TagAwareMarshaller.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Marshaller/TagAwareMarshaller.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Marshaller/TagAwareMarshaller.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ { private $marshaller; - public function __construct(MarshallerInterface $marshaller = null) + public function __construct(?MarshallerInterface $marshaller = null) { $this->marshaller = $marshaller ?? new DefaultMarshaller(); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Messenger/EarlyExpirationDispatcher.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Messenger/EarlyExpirationDispatcher.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Messenger/EarlyExpirationDispatcher.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Messenger/EarlyExpirationDispatcher.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,14 +27,14 @@ private $reverseContainer; private $callbackWrapper; - public function __construct(MessageBusInterface $bus, ReverseContainer $reverseContainer, callable $callbackWrapper = null) + public function __construct(MessageBusInterface $bus, ReverseContainer $reverseContainer, ?callable $callbackWrapper = null) { $this->bus = $bus; $this->reverseContainer = $reverseContainer; $this->callbackWrapper = $callbackWrapper; } - public function __invoke(callable $callback, CacheItem $item, bool &$save, AdapterInterface $pool, \Closure $setMetadata, LoggerInterface $logger = null) + public function __invoke(callable $callback, CacheItem $item, bool &$save, AdapterInterface $pool, \Closure $setMetadata, ?LoggerInterface $logger = null) { if (!$item->isHit() || null === $message = EarlyExpirationMessage::create($this->reverseContainer, $callback, $item, $pool)) { // The item is stale or the callback cannot be reversed: we must compute the value now diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/AbstractRedisAdapterTestCase.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/AbstractRedisAdapterTestCase.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/AbstractRedisAdapterTestCase.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/AbstractRedisAdapterTestCase.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ protected static $redis; - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { return new RedisAdapter(self::$redis, str_replace('\\', '.', __CLASS__), $defaultLifetime); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php 2026-05-20 08:22:01.000000000 +0000 @@ -236,7 +236,7 @@ /** @var PruneableInterface|CacheItemPoolInterface $cache */ $cache = $this->createCachePool(); - $doSet = function ($name, $value, \DateInterval $expiresAfter = null) use ($cache) { + $doSet = function ($name, $value, ?\DateInterval $expiresAfter = null) use ($cache) { $item = $cache->getItem($name); $item->set($value); @@ -309,6 +309,34 @@ $this->assertTrue($cache->hasItem('barfoo')); } + /** + * @dataProvider provideInvalidPrefixes + */ + public function testClearWithInvalidPrefix(string $prefix) + { + if (isset($this->skippedTests[__FUNCTION__])) { + $this->markTestSkipped($this->skippedTests[__FUNCTION__]); + } + + $cache = $this->createCachePool(0, __FUNCTION__); + $cache->clear(); + + $cache->save($cache->getItem('foobar')->set(1)); + + $this->assertFalse($cache->clear($prefix)); + $this->assertTrue($cache->hasItem('foobar')); + } + + public static function provideInvalidPrefixes(): iterable + { + yield 'single quote' => ["foo' OR 1=1; --"]; + yield 'percent wildcard' => ['foo%']; + yield 'space' => ['foo bar']; + yield 'null byte' => ["foo\0bar"]; + yield 'backslash' => ['foo\\bar']; + yield 'slash' => ['foo/bar']; + } + public function testWeirdDataMatchingMetadataWrappedValues() { if (isset($this->skippedTests[__FUNCTION__])) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ $this->markTestSkipped('APCu extension is required.'); } if ('cli' === \PHP_SAPI && !filter_var(\ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) { - if ('testWithCliSapi' !== $this->getName()) { + if ('testWithCliSapi' !== (method_exists($this, 'name') ? $this->name() : $this->getName())) { $this->markTestSkipped('apc.enable_cli=1 is required.'); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ArrayAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ArrayAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ArrayAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ArrayAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,6 +23,7 @@ 'testGetMetadata' => 'ArrayAdapter does not keep metadata.', 'testDeferredSaveWithoutCommit' => 'Assumes a shared cache which ArrayAdapter is not.', 'testSaveWithoutExpire' => 'Assumes a shared cache which ArrayAdapter is not.', + 'testClearWithInvalidPrefix' => 'ArrayAdapter does not validate the prefix.', ]; public function createCachePool(int $defaultLifetime = 0): CacheItemPoolInterface diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ChainAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ChainAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ChainAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ChainAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ */ class ChainAdapterTest extends AdapterTestCase { - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { if ('testGetMetadata' === $testMethod) { return new ChainAdapter([new FilesystemAdapter('a', $defaultLifetime), new FilesystemAdapter('b', $defaultLifetime)], $defaultLifetime); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseBucketAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseBucketAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseBucketAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseBucketAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,12 +28,13 @@ { protected $skippedTests = [ 'testClearPrefix' => 'Couchbase cannot clear by prefix', + 'testClearWithInvalidPrefix' => 'Couchbase cannot clear by prefix', ]; /** @var \CouchbaseBucket */ protected static $client; - public static function setupBeforeClass(): void + public static function setUpBeforeClass(): void { if (!CouchbaseBucketAdapter::isSupported()) { throw new SkippedTestSuiteError('Couchbase >= 2.6.0 < 3.0.0 is required.'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseCollectionAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseCollectionAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseCollectionAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseCollectionAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,12 +28,13 @@ { protected $skippedTests = [ 'testClearPrefix' => 'Couchbase cannot clear by prefix', + 'testClearWithInvalidPrefix' => 'Couchbase cannot clear by prefix', ]; /** @var Collection */ protected static $client; - public static function setupBeforeClass(): void + public static function setUpBeforeClass(): void { if (!CouchbaseCollectionAdapter::isSupported()) { self::markTestSkipped('Couchbase >= 3.0.0 < 4.0.0 is required.'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/DoctrineDbalAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/DoctrineDbalAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/DoctrineDbalAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/DoctrineDbalAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,13 +16,15 @@ use Doctrine\DBAL\Driver\AbstractMySQLDriver; use Doctrine\DBAL\Driver\Middleware; use Doctrine\DBAL\DriverManager; +use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory; use Doctrine\DBAL\Schema\Schema; -use PHPUnit\Framework\SkippedTestSuiteError; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\DoctrineDbalAdapter; use Symfony\Component\Cache\Tests\Fixtures\DriverWrapper; /** + * @requires extension pdo_sqlite + * * @group time-sensitive */ class DoctrineDbalAdapterTest extends AdapterTestCase @@ -31,10 +33,6 @@ public static function setUpBeforeClass(): void { - if (!\extension_loaded('pdo_sqlite')) { - throw new SkippedTestSuiteError('Extension pdo_sqlite required.'); - } - self::$dbFile = tempnam(sys_get_temp_dir(), 'sf_sqlite_cache'); } @@ -45,12 +43,16 @@ public function createCachePool(int $defaultLifetime = 0): CacheItemPoolInterface { - return new DoctrineDbalAdapter(DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile]), '', $defaultLifetime); + return new DoctrineDbalAdapter(DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile], $this->getDbalConfig()), '', $defaultLifetime); } public function testConfigureSchemaDecoratedDbalDriver() { - $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile]); + if (file_exists(self::$dbFile)) { + @unlink(self::$dbFile); + } + + $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile], $this->getDbalConfig()); if (!interface_exists(Middleware::class)) { $this->markTestSkipped('doctrine/dbal v2 does not support custom drivers using middleware'); } @@ -60,7 +62,7 @@ ->method('wrap') ->willReturn(new DriverWrapper($connection->getDriver())); - $config = new Configuration(); + $config = $this->getDbalConfig(); $config->setMiddlewares([$middleware]); $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile], $config); @@ -75,7 +77,11 @@ public function testConfigureSchema() { - $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile]); + if (file_exists(self::$dbFile)) { + @unlink(self::$dbFile); + } + + $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile], $this->getDbalConfig()); $schema = new Schema(); $adapter = new DoctrineDbalAdapter($connection); @@ -85,6 +91,10 @@ public function testConfigureSchemaDifferentDbalConnection() { + if (file_exists(self::$dbFile)) { + @unlink(self::$dbFile); + } + $otherConnection = $this->createConnectionMock(); $schema = new Schema(); @@ -95,7 +105,11 @@ public function testConfigureSchemaTableExists() { - $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile]); + if (file_exists(self::$dbFile)) { + @unlink(self::$dbFile); + } + + $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile], $this->getDbalConfig()); $schema = new Schema(); $schema->createTable('cache_items'); @@ -106,13 +120,12 @@ } /** - * @dataProvider provideDsn + * @dataProvider provideDsnWithSQLite */ - public function testDsn(string $dsn, string $file = null) + public function testDsnWithSQLite(string $dsn, ?string $file = null) { try { $pool = new DoctrineDbalAdapter($dsn); - $pool->createTable(); $item = $pool->getItem('key'); $item->set('value'); @@ -124,12 +137,35 @@ } } - public static function provideDsn() + public static function provideDsnWithSQLite() { $dbFile = tempnam(sys_get_temp_dir(), 'sf_sqlite_cache'); - yield ['sqlite://localhost/'.$dbFile.'1', $dbFile.'1']; - yield ['sqlite3:///'.$dbFile.'3', $dbFile.'3']; - yield ['sqlite://localhost/:memory:']; + yield 'SQLite file' => ['sqlite://localhost/'.$dbFile.'1', $dbFile.'1']; + yield 'SQLite3 file' => ['sqlite3:///'.$dbFile.'3', $dbFile.'3']; + yield 'SQLite in memory' => ['sqlite://localhost/:memory:']; + } + + /** + * @requires extension pdo_pgsql + * + * @group integration + */ + public function testDsnWithPostgreSQL() + { + if (!$host = getenv('POSTGRES_HOST')) { + $this->markTestSkipped('Missing POSTGRES_HOST env variable'); + } + + try { + $pool = new DoctrineDbalAdapter('pgsql://postgres:password@'.$host); + + $item = $pool->getItem('key'); + $item->set('value'); + $this->assertTrue($pool->save($item)); + } finally { + $pdo = new \PDO('pgsql:host='.$host.';user=postgres;password=password'); + $pdo->exec('DROP TABLE IF EXISTS cache_items'); + } } protected function isPruned(DoctrineDbalAdapter $cache, string $name): bool @@ -155,4 +191,14 @@ return $connection; } + + private function getDbalConfig() + { + $config = new Configuration(); + if (class_exists(DefaultSchemaManagerFactory::class)) { + $config->setSchemaManagerFactory(new DefaultSchemaManagerFactory()); + } + + return $config; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,6 +26,7 @@ 'testHasItemReturnsFalseWhenDeferredItemIsExpired' => 'Testing expiration slows down the test suite', 'testDefaultLifeTime' => 'Testing expiration slows down the test suite', 'testClearPrefix' => 'Memcached cannot clear by prefix', + 'testClearWithInvalidPrefix' => 'Memcached cannot clear by prefix', ]; protected static $client; @@ -44,7 +45,7 @@ } } - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null, string $namespace = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null, ?string $namespace = null): CacheItemPoolInterface { $client = $defaultLifetime ? AbstractAdapter::createConnection('memcached://'.getenv('MEMCACHED_HOST')) : self::$client; @@ -174,33 +175,29 @@ } /** - * @dataProvider provideDsnWithOptions + * @requires extension memcached */ - public function testDsnWithOptions(string $dsn, array $options, array $expectedOptions) + public function testOptionsFromDsnWinOverAdditionallyPassedOptions() { - $client = MemcachedAdapter::createConnection($dsn, $options); + $client = MemcachedAdapter::createConnection('memcached://localhost:11222?retry_timeout=10', [ + \Memcached::OPT_RETRY_TIMEOUT => 8, + ]); - foreach ($expectedOptions as $option => $expect) { - $this->assertSame($expect, $client->getOption($option)); - } + $this->assertSame(10, $client->getOption(\Memcached::OPT_RETRY_TIMEOUT)); } - public static function provideDsnWithOptions(): iterable + /** + * @requires extension memcached + */ + public function testOptionsFromDsnAndAdditionallyPassedOptionsAreMerged() { - if (!class_exists(\Memcached::class)) { - self::markTestSkipped('Extension memcached required.'); - } + $client = MemcachedAdapter::createConnection('memcached://localhost:11222?socket_recv_size=1&socket_send_size=2', [ + \Memcached::OPT_RETRY_TIMEOUT => 8, + ]); - yield [ - 'memcached://localhost:11222?retry_timeout=10', - [\Memcached::OPT_RETRY_TIMEOUT => 8], - [\Memcached::OPT_RETRY_TIMEOUT => 10], - ]; - yield [ - 'memcached://localhost:11222?socket_recv_size=1&socket_send_size=2', - [\Memcached::OPT_RETRY_TIMEOUT => 8], - [\Memcached::OPT_SOCKET_RECV_SIZE => 1, \Memcached::OPT_SOCKET_SEND_SIZE => 2, \Memcached::OPT_RETRY_TIMEOUT => 8], - ]; + $this->assertSame(1, $client->getOption(\Memcached::OPT_SOCKET_RECV_SIZE)); + $this->assertSame(2, $client->getOption(\Memcached::OPT_SOCKET_SEND_SIZE)); + $this->assertSame(8, $client->getOption(\Memcached::OPT_RETRY_TIMEOUT)); } public function testClear() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/NamespacedProxyAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/NamespacedProxyAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/NamespacedProxyAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/NamespacedProxyAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ */ class NamespacedProxyAdapterTest extends ProxyAdapterTest { - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { if ('testGetMetadata' === $testMethod) { return new ProxyAdapter(new FilesystemAdapter(), 'foo', $defaultLifetime); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PdoAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PdoAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PdoAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PdoAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,11 +11,12 @@ namespace Symfony\Component\Cache\Tests\Adapter; -use PHPUnit\Framework\SkippedTestSuiteError; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\PdoAdapter; /** + * @requires extension pdo_sqlite + * * @group time-sensitive */ class PdoAdapterTest extends AdapterTestCase @@ -24,10 +25,6 @@ public static function setUpBeforeClass(): void { - if (!\extension_loaded('pdo_sqlite')) { - throw new SkippedTestSuiteError('Extension pdo_sqlite required.'); - } - self::$dbFile = tempnam(sys_get_temp_dir(), 'sf_sqlite_cache'); $pool = new PdoAdapter('sqlite:'.self::$dbFile); @@ -71,13 +68,12 @@ } /** - * @dataProvider provideDsn + * @dataProvider provideDsnSQLite */ - public function testDsn(string $dsn, string $file = null) + public function testDsnWithSQLite(string $dsn, ?string $file = null) { try { $pool = new PdoAdapter($dsn); - $pool->createTable(); $item = $pool->getItem('key'); $item->set('value'); @@ -89,11 +85,36 @@ } } - public static function provideDsn() + public static function provideDsnSQLite() { $dbFile = tempnam(sys_get_temp_dir(), 'sf_sqlite_cache'); - yield ['sqlite:'.$dbFile.'2', $dbFile.'2']; - yield ['sqlite::memory:']; + yield 'SQLite file' => ['sqlite:'.$dbFile.'2', $dbFile.'2']; + yield 'SQLite in memory' => ['sqlite::memory:']; + } + + /** + * @requires extension pdo_pgsql + * + * @group integration + */ + public function testDsnWithPostgreSQL() + { + if (!$host = getenv('POSTGRES_HOST')) { + $this->markTestSkipped('Missing POSTGRES_HOST env variable'); + } + + $dsn = 'pgsql:host='.$host.';user=postgres;password=password'; + + try { + $pool = new PdoAdapter($dsn); + + $item = $pool->getItem('key'); + $item->set('value'); + $this->assertTrue($pool->save($item)); + } finally { + $pdo = new \PDO($dsn); + $pdo->exec('DROP TABLE IF EXISTS cache_items'); + } } protected function isPruned(PdoAdapter $cache, string $name): bool diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PdoDbalAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PdoDbalAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PdoDbalAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PdoDbalAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,6 +16,7 @@ use Doctrine\DBAL\Driver\AbstractMySQLDriver; use Doctrine\DBAL\Driver\Middleware; use Doctrine\DBAL\DriverManager; +use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory; use Doctrine\DBAL\Schema\Schema; use PHPUnit\Framework\SkippedTestSuiteError; use Psr\Cache\CacheItemPoolInterface; @@ -50,14 +51,16 @@ public function createCachePool(int $defaultLifetime = 0): CacheItemPoolInterface { $this->expectDeprecation('Since symfony/cache 5.4: Usage of a DBAL Connection with "Symfony\Component\Cache\Adapter\PdoAdapter" is deprecated and will be removed in symfony 6.0. Use "Symfony\Component\Cache\Adapter\DoctrineDbalAdapter" instead.'); + $config = $this->getDbalConfig(); - return new PdoAdapter(DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile]), '', $defaultLifetime); + return new PdoAdapter(DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile], $config), '', $defaultLifetime); } public function testConfigureSchemaDecoratedDbalDriver() { $this->expectDeprecation('Since symfony/cache 5.4: Usage of a DBAL Connection with "Symfony\Component\Cache\Adapter\PdoAdapter" is deprecated and will be removed in symfony 6.0. Use "Symfony\Component\Cache\Adapter\DoctrineDbalAdapter" instead.'); - $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile]); + $config = $this->getDbalConfig(); + $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile], $config); if (!interface_exists(Middleware::class)) { $this->markTestSkipped('doctrine/dbal v2 does not support custom drivers using middleware'); } @@ -67,7 +70,6 @@ ->method('wrap') ->willReturn(new DriverWrapper($connection->getDriver())); - $config = new Configuration(); $config->setMiddlewares([$middleware]); $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile], $config); @@ -83,7 +85,8 @@ public function testConfigureSchema() { $this->expectDeprecation('Since symfony/cache 5.4: Usage of a DBAL Connection with "Symfony\Component\Cache\Adapter\PdoAdapter" is deprecated and will be removed in symfony 6.0. Use "Symfony\Component\Cache\Adapter\DoctrineDbalAdapter" instead.'); - $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile]); + $config = $this->getDbalConfig(); + $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile], $config); $schema = new Schema(); $adapter = new PdoAdapter($connection); @@ -104,7 +107,8 @@ public function testConfigureSchemaTableExists() { $this->expectDeprecation('Since symfony/cache 5.4: Usage of a DBAL Connection with "Symfony\Component\Cache\Adapter\PdoAdapter" is deprecated and will be removed in symfony 6.0. Use "Symfony\Component\Cache\Adapter\DoctrineDbalAdapter" instead.'); - $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile]); + $config = $this->getDbalConfig(); + $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile], $config); $schema = new Schema(); $schema->createTable('cache_items'); @@ -117,7 +121,7 @@ /** * @dataProvider provideDsn */ - public function testDsn(string $dsn, string $file = null) + public function testDsn(string $dsn, ?string $file = null) { $this->expectDeprecation('Since symfony/cache 5.4: Usage of a DBAL Connection with "Symfony\Component\Cache\Adapter\PdoAdapter" is deprecated and will be removed in symfony 6.0. Use "Symfony\Component\Cache\Adapter\DoctrineDbalAdapter" instead.'); try { @@ -168,4 +172,14 @@ return $connection; } + + private function getDbalConfig(): Configuration + { + $config = new Configuration(); + if (class_exists(DefaultSchemaManagerFactory::class)) { + $config->setSchemaManagerFactory(new DefaultSchemaManagerFactory()); + } + + return $config; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -57,6 +57,7 @@ 'testDefaultLifeTime' => 'PhpArrayAdapter does not allow configuring a default lifetime.', 'testPrune' => 'PhpArrayAdapter just proxies', + 'testClearWithInvalidPrefix' => 'PhpArrayAdapter does not validate the prefix.', ]; protected static $file; @@ -75,7 +76,7 @@ } } - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { if ('testGetMetadata' === $testMethod || 'testClearPrefix' === $testMethod) { return new PhpArrayAdapter(self::$file, new FilesystemAdapter()); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,7 +27,7 @@ $this->skippedTests['testTagItemExpiry'] = 'Testing expiration slows down the test suite'; } - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { $this->assertInstanceOf(\Predis\Client::class, self::$redis); $adapter = new RedisTagAwareAdapter(self::$redis, str_replace('\\', '.', __CLASS__), $defaultLifetime); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareClusterAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareClusterAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareClusterAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareClusterAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,7 +27,7 @@ $this->skippedTests['testTagItemExpiry'] = 'Testing expiration slows down the test suite'; } - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { $this->assertInstanceOf(\Predis\Client::class, self::$redis); $adapter = new RedisTagAwareAdapter(self::$redis, str_replace('\\', '.', __CLASS__), $defaultLifetime); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterAndRedisAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterAndRedisAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterAndRedisAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterAndRedisAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ self::$redis = AbstractAdapter::createConnection('redis://'.getenv('REDIS_HOST')); } - public function createCachePool($defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool($defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { return new ProxyAdapter(new RedisAdapter(self::$redis, str_replace('\\', '.', __CLASS__), 100), 'ProxyNS', $defaultLifetime); } @@ -66,6 +66,7 @@ $this->assertSame($value, $this->cache->getItem('baz')->get()); sleep(1); + usleep(100000); $this->assertSame($value, $this->cache->getItem('foo')->get()); $this->assertSame($value, $this->cache->getItem('bar')->get()); $this->assertFalse($this->cache->getItem('baz')->isHit()); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,9 +27,10 @@ 'testDeferredSaveWithoutCommit' => 'Assumes a shared cache which ArrayAdapter is not.', 'testSaveWithoutExpire' => 'Assumes a shared cache which ArrayAdapter is not.', 'testPrune' => 'ProxyAdapter just proxies', + 'testClearWithInvalidPrefix' => 'Inner ArrayAdapter does not validate the prefix.', ]; - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { if ('testGetMetadata' === $testMethod) { return new ProxyAdapter(new FilesystemAdapter(), '', $defaultLifetime); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterSentinelTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterSentinelTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterSentinelTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterSentinelTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,13 +33,13 @@ throw new SkippedTestSuiteError('REDIS_SENTINEL_SERVICE env var is not defined.'); } - self::$redis = AbstractAdapter::createConnection('redis:?host['.str_replace(' ', ']&host[', $hosts).']', ['redis_sentinel' => $service, 'prefix' => 'prefix_']); + self::$redis = AbstractAdapter::createConnection('redis:?host['.str_replace(' ', ']&host[', $hosts).']&timeout=0&retry_interval=0&read_timeout=0', ['redis_sentinel' => $service, 'prefix' => 'prefix_']); } public function testInvalidDSNHasBothClusterAndSentinel() { $this->expectException(InvalidArgumentException::class); - $this->expectExceptionMessage('Cannot use both "redis_cluster" and "redis_sentinel" at the same time:'); + $this->expectExceptionMessage('Cannot use both "redis_cluster" and "redis_sentinel" at the same time.'); $dsn = 'redis:?host[redis1]&host[redis2]&host[redis3]&redis_cluster=1&redis_sentinel=mymaster'; RedisAdapter::createConnection($dsn); } @@ -48,8 +48,8 @@ { $hosts = getenv('REDIS_SENTINEL_HOSTS'); $dsn = 'redis:?host['.str_replace(' ', ']&host[', $hosts).']'; - $this->expectException(\Symfony\Component\Cache\Exception\InvalidArgumentException::class); - $this->expectExceptionMessage('Failed to retrieve master information from sentinel "invalid-masterset-name" and dsn "'.$dsn.'".'); + $this->expectException(InvalidArgumentException::class); + $this->expectExceptionMessage('Failed to retrieve master information from sentinel "invalid-masterset-name".'); AbstractAdapter::createConnection($dsn, ['redis_sentinel' => 'invalid-masterset-name']); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ self::$redis = AbstractAdapter::createConnection('redis://'.getenv('REDIS_HOST'), ['lazy' => true]); } - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { if ('testClearWithPrefix' === $testMethod && \defined('Redis::SCAN_PREFIX')) { self::$redis->setOption(\Redis::OPT_SCAN, \Redis::SCAN_PREFIX); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisArrayAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisArrayAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisArrayAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisArrayAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ { public static function setUpBeforeClass(): void { - parent::setupBeforeClass(); + parent::setUpBeforeClass(); if (!class_exists(\RedisArray::class)) { throw new SkippedTestSuiteError('The RedisArray class is required.'); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisClusterAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisClusterAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisClusterAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisClusterAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,7 +36,7 @@ self::$redis->setOption(\Redis::OPT_PREFIX, 'prefix_'); } - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { if ('testClearWithPrefix' === $testMethod && \defined('Redis::SCAN_PREFIX')) { self::$redis->setOption(\Redis::OPT_SCAN, \Redis::SCAN_PREFIX); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ $this->skippedTests['testTagItemExpiry'] = 'Testing expiration slows down the test suite'; } - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { if ('testClearWithPrefix' === $testMethod && \defined('Redis::SCAN_PREFIX')) { self::$redis->setOption(\Redis::OPT_SCAN, \Redis::SCAN_PREFIX); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareArrayAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareArrayAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareArrayAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareArrayAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,7 +27,7 @@ $this->skippedTests['testTagItemExpiry'] = 'Testing expiration slows down the test suite'; } - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { if ('testClearWithPrefix' === $testMethod && \defined('Redis::SCAN_PREFIX')) { self::$redis->setOption(\Redis::OPT_SCAN, \Redis::SCAN_PREFIX); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareClusterAdapterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareClusterAdapterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareClusterAdapterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareClusterAdapterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ $this->skippedTests['testTagItemExpiry'] = 'Testing expiration slows down the test suite'; } - public function createCachePool(int $defaultLifetime = 0, string $testMethod = null): CacheItemPoolInterface + public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface { if ('testClearWithPrefix' === $testMethod && \defined('Redis::SCAN_PREFIX')) { self::$redis->setOption(\Redis::OPT_SCAN, \Redis::SCAN_PREFIX); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/DependencyInjection/CachePoolPassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/DependencyInjection/CachePoolPassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/DependencyInjection/CachePoolPassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/DependencyInjection/CachePoolPassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,8 +20,10 @@ use Symfony\Component\Cache\DependencyInjection\CachePoolPass; use Symfony\Component\DependencyInjection\ChildDefinition; use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Reference; +use Symfony\Component\HttpKernel\CacheClearer\Psr6CacheClearer; class CachePoolPassTest extends TestCase { @@ -232,4 +234,33 @@ $this->assertInstanceOf(ChildDefinition::class, $doctrineCachePool); $this->assertSame('cache.app', $doctrineCachePool->getParent()); } + + public function testGlobalClearerAlias() + { + $container = new ContainerBuilder(); + $container->setParameter('kernel.container_class', 'app'); + $container->setParameter('kernel.project_dir', 'foo'); + + $container->register('cache.default_clearer', Psr6CacheClearer::class); + + $container->setDefinition('cache.system_clearer', new ChildDefinition('cache.default_clearer')); + + $container->setDefinition('cache.foo_bar_clearer', new ChildDefinition('cache.default_clearer')); + $container->setAlias('cache.global_clearer', 'cache.foo_bar_clearer'); + + $container->register('cache.adapter.array', ArrayAdapter::class) + ->setAbstract(true) + ->addTag('cache.pool'); + + $cachePool = new ChildDefinition('cache.adapter.array'); + $cachePool->addTag('cache.pool', ['clearer' => 'cache.system_clearer']); + $container->setDefinition('app.cache_pool', $cachePool); + + $this->cachePoolPass->process($container); + + $definition = $container->getDefinition('cache.foo_bar_clearer'); + + $this->assertTrue($definition->hasTag('cache.pool.clearer')); + $this->assertEquals(['app.cache_pool' => new Reference('app.cache_pool', ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE)], $definition->getArgument(0)); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Fixtures/DriverWrapper.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Fixtures/DriverWrapper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Fixtures/DriverWrapper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Fixtures/DriverWrapper.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,6 +15,7 @@ use Doctrine\DBAL\Driver; use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Schema\AbstractSchemaManager; +use Doctrine\DBAL\ServerVersionProvider; class DriverWrapper implements Driver { @@ -31,9 +32,9 @@ return $this->driver->connect($params, $username, $password, $driverOptions); } - public function getDatabasePlatform(): AbstractPlatform + public function getDatabasePlatform(?ServerVersionProvider $versionProvider = null): AbstractPlatform { - return $this->driver->getDatabasePlatform(); + return $this->driver->getDatabasePlatform($versionProvider); } public function getSchemaManager(Connection $conn, AbstractPlatform $platform): AbstractSchemaManager diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/LockRegistryTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/LockRegistryTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/LockRegistryTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/LockRegistryTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ } $lockFiles = LockRegistry::setFiles([]); LockRegistry::setFiles($lockFiles); - $expected = array_map('realpath', glob(__DIR__.'/../Adapter/*')); + $expected = array_map('realpath', glob(__DIR__.'/../Adapter/*.php')); $this->assertSame($expected, $lockFiles); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Traits/RedisTraitTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Traits/RedisTraitTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Tests/Traits/RedisTraitTest.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Tests/Traits/RedisTraitTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,211 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Cache\Tests\Traits; + +use PHPUnit\Framework\SkippedTestSuiteError; +use PHPUnit\Framework\TestCase; +use Symfony\Component\Cache\Exception\InvalidArgumentException; +use Symfony\Component\Cache\Traits\RedisTrait; + +/** + * @requires extension redis + */ +class RedisTraitTest extends TestCase +{ + /** + * @dataProvider provideCreateConnection + */ + public function testCreateConnection(string $dsn, string $expectedClass) + { + if (!class_exists($expectedClass)) { + throw new SkippedTestSuiteError(sprintf('The "%s" class is required.', $expectedClass)); + } + if (!getenv('REDIS_CLUSTER_HOSTS')) { + throw new SkippedTestSuiteError('REDIS_CLUSTER_HOSTS env var is not defined.'); + } + + $mock = new class () { + use RedisTrait; + }; + $connection = $mock::createConnection($dsn); + + self::assertInstanceOf($expectedClass, $connection); + } + + public function testUrlDecodeParameters() + { + if (!getenv('REDIS_AUTHENTICATED_HOST')) { + self::markTestSkipped('REDIS_AUTHENTICATED_HOST env var is not defined.'); + } + + $mock = new class () { + use RedisTrait; + }; + $connection = $mock::createConnection('redis://:p%40ssword@'.getenv('REDIS_AUTHENTICATED_HOST')); + + self::assertInstanceOf(\Redis::class, $connection); + self::assertSame('p@ssword', $connection->getAuth()); + } + + public static function provideCreateConnection(): array + { + $hosts = array_map(function ($host) { return sprintf('host[%s]', $host); }, explode(' ', getenv('REDIS_CLUSTER_HOSTS'))); + + return [ + [ + sprintf('redis:?%s&redis_cluster=1', $hosts[0]), + 'RedisCluster', + ], + [ + sprintf('redis:?%s&redis_cluster=true', $hosts[0]), + 'RedisCluster', + ], + [ + sprintf('redis:?%s', $hosts[0]), + 'Redis', + ], + [ + sprintf('redis:?%s', implode('&', \array_slice($hosts, 0, 2))), + 'RedisArray', + ], + ]; + } + + /** + * Due to a bug in phpredis, the persistent connection will keep its last selected database. So when re-using + * a persistent connection, the database has to be re-selected, too. + * + * @see https://github.com/phpredis/phpredis/issues/1920 + * + * @group integration + */ + public function testPconnectSelectsCorrectDatabase() + { + if (!class_exists(\Redis::class)) { + throw new SkippedTestSuiteError('The "Redis" class is required.'); + } + if (!getenv('REDIS_HOST')) { + throw new SkippedTestSuiteError('REDIS_HOST env var is not defined.'); + } + if (!\ini_get('redis.pconnect.pooling_enabled')) { + throw new SkippedTestSuiteError('The bug only occurs when pooling is enabled.'); + } + + // Limit the connection pool size to 1: + if (false === $prevPoolSize = ini_set('redis.pconnect.connection_limit', 1)) { + throw new SkippedTestSuiteError('Unable to set pool size'); + } + + try { + $mock = new class () { + use RedisTrait; + }; + + $dsn = 'redis://'.getenv('REDIS_HOST'); + + $cacheKey = 'testPconnectSelectsCorrectDatabase'; + $cacheValueOnDb1 = 'I should only be on database 1'; + + // First connect to database 1 and set a value there so we can identify this database: + $db1 = $mock::createConnection($dsn, ['dbindex' => 1, 'persistent' => 1]); + self::assertInstanceOf(\Redis::class, $db1); + self::assertSame(1, $db1->getDbNum()); + $db1->set($cacheKey, $cacheValueOnDb1); + self::assertSame($cacheValueOnDb1, $db1->get($cacheKey)); + + // Unset the connection - do not use `close()` or we will lose the persistent connection: + unset($db1); + + // Now connect to database 0 and see that we do not actually ended up on database 1 by checking the value: + $db0 = $mock::createConnection($dsn, ['dbindex' => 0, 'persistent' => 1]); + self::assertInstanceOf(\Redis::class, $db0); + self::assertSame(0, $db0->getDbNum()); // Redis is lying here! We could actually be on any database! + self::assertNotSame($cacheValueOnDb1, $db0->get($cacheKey)); // This value should not exist if we are actually on db 0 + } finally { + ini_set('redis.pconnect.connection_limit', $prevPoolSize); + } + } + + /** + * @dataProvider provideDbIndexDsnParameter + */ + public function testDbIndexDsnParameter(string $dsn, int $expectedDb) + { + if (!getenv('REDIS_AUTHENTICATED_HOST')) { + self::markTestSkipped('REDIS_AUTHENTICATED_HOST env var is not defined.'); + } + + $mock = new class () { + use RedisTrait; + }; + $connection = $mock::createConnection($dsn); + self::assertSame($expectedDb, $connection->getDbNum()); + } + + public static function provideDbIndexDsnParameter(): array + { + return [ + [ + 'redis://:p%40ssword@'.getenv('REDIS_AUTHENTICATED_HOST'), + 0, + ], + [ + 'redis:?host['.getenv('REDIS_HOST').']', + 0, + ], + [ + 'redis:?host['.getenv('REDIS_HOST').']&dbindex=1', + 1, + ], + [ + 'redis://:p%40ssword@'.getenv('REDIS_AUTHENTICATED_HOST').'?dbindex=2', + 2, + ], + [ + 'redis://:p%40ssword@'.getenv('REDIS_AUTHENTICATED_HOST').'/4', + 4, + ], + [ + 'redis://:p%40ssword@'.getenv('REDIS_AUTHENTICATED_HOST').'/?dbindex=5', + 5, + ], + ]; + } + + /** + * @dataProvider provideInvalidDbIndexDsnParameter + */ + public function testInvalidDbIndexDsnParameter(string $dsn) + { + if (!getenv('REDIS_AUTHENTICATED_HOST')) { + self::markTestSkipped('REDIS_AUTHENTICATED_HOST env var is not defined.'); + } + $this->expectException(InvalidArgumentException::class); + + $mock = new class () { + use RedisTrait; + }; + $mock::createConnection($dsn); + } + + public static function provideInvalidDbIndexDsnParameter(): array + { + return [ + [ + 'redis://:p%40ssword@'.getenv('REDIS_AUTHENTICATED_HOST').'/abc' + ], + [ + 'redis://:p%40ssword@'.getenv('REDIS_AUTHENTICATED_HOST').'/3?dbindex=6' + ] + ]; + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Traits/AbstractAdapterTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Traits/AbstractAdapterTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Traits/AbstractAdapterTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Traits/AbstractAdapterTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -143,6 +143,10 @@ $this->namespaceVersion = $namespaceVersion; $this->ids = []; } + } elseif (preg_match('#[^-+.A-Za-z0-9]#', $prefix)) { + CacheItem::log($this->logger, 'Failed to clear the cache: Namespace-prefix contains invalid characters.', ['cache-adapter' => get_debug_type($this)]); + + return false; } else { $namespaceToClear = $this->namespace.$prefix; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Traits/ContractsTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Traits/ContractsTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Traits/ContractsTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Traits/ContractsTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -57,7 +57,7 @@ return $previousWrapper; } - private function doGet(AdapterInterface $pool, string $key, callable $callback, ?float $beta, array &$metadata = null) + private function doGet(AdapterInterface $pool, string $key, callable $callback, ?float $beta, ?array &$metadata = null) { if (0 > $beta = $beta ?? 1.0) { throw new InvalidArgumentException(sprintf('Argument "$beta" provided to "%s::get()" must be a positive number, %f given.', static::class, $beta)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Traits/FilesystemCommonTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Traits/FilesystemCommonTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Traits/FilesystemCommonTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Traits/FilesystemCommonTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -88,8 +88,9 @@ return @unlink($file); } - private function write(string $file, string $data, int $expiresAt = null) + private function write(string $file, string $data, ?int $expiresAt = null) { + $unlink = false; set_error_handler(__CLASS__.'::throwError'); try { if (null === $this->tmp) { @@ -107,18 +108,31 @@ } fwrite($h, $data); fclose($h); + $unlink = true; if (null !== $expiresAt) { touch($this->tmp, $expiresAt ?: time() + 31556952); // 1 year in seconds } - return rename($this->tmp, $file); + if ('\\' === \DIRECTORY_SEPARATOR) { + $success = copy($this->tmp, $file); + $unlink = true; + } else { + $success = rename($this->tmp, $file); + $unlink = !$success; + } + + return $success; } finally { restore_error_handler(); + + if ($unlink) { + @unlink($this->tmp); + } } } - private function getFile(string $id, bool $mkdir = false, string $directory = null) + private function getFile(string $id, bool $mkdir = false, ?string $directory = null) { // Use MD5 to favor speed over security, which is not an issue here $hash = str_replace('/', '-', base64_encode(hash('md5', static::class.$id, true))); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Traits/RedisTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Traits/RedisTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/Traits/RedisTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/Traits/RedisTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,6 +15,8 @@ use Predis\Connection\Aggregate\ClusterInterface; use Predis\Connection\Aggregate\RedisCluster; use Predis\Connection\Aggregate\ReplicationInterface; +use Predis\Connection\Cluster\ClusterInterface as Predis2ClusterInterface; +use Predis\Connection\Cluster\RedisCluster as Predis2RedisCluster; use Predis\Response\ErrorInterface; use Predis\Response\Status; use Symfony\Component\Cache\Exception\CacheException; @@ -96,16 +98,16 @@ } elseif (str_starts_with($dsn, 'rediss:')) { $scheme = 'rediss'; } else { - throw new InvalidArgumentException(sprintf('Invalid Redis DSN: "%s" does not start with "redis:" or "rediss".', $dsn)); + throw new InvalidArgumentException('Invalid Redis DSN: it does not start with "redis[s]:".'); } if (!\extension_loaded('redis') && !class_exists(\Predis\Client::class)) { - throw new CacheException(sprintf('Cannot find the "redis" extension nor the "predis/predis" package: "%s".', $dsn)); + throw new CacheException('Cannot find the "redis" extension nor the "predis/predis" package.'); } $params = preg_replace_callback('#^'.$scheme.':(//)?(?:(?:[^:@]*+:)?([^@]*+)@)?#', function ($m) use (&$auth) { if (isset($m[2])) { - $auth = $m[2]; + $auth = rawurldecode($m[2]); if ('' === $auth) { $auth = null; @@ -116,7 +118,7 @@ }, $dsn); if (false === $params = parse_url($params)) { - throw new InvalidArgumentException(sprintf('Invalid Redis DSN: "%s".', $dsn)); + throw new InvalidArgumentException('Invalid Redis DSN.'); } $query = $hosts = []; @@ -129,7 +131,7 @@ if (isset($query['host'])) { if (!\is_array($hosts = $query['host'])) { - throw new InvalidArgumentException(sprintf('Invalid Redis DSN: "%s".', $dsn)); + throw new InvalidArgumentException('Invalid Redis DSN: query parameter "host" must be an array.'); } foreach ($hosts as $host => $parameters) { if (\is_string($parameters)) { @@ -150,10 +152,10 @@ if (isset($params['host']) || isset($params['path'])) { if (!isset($params['dbindex']) && isset($params['path'])) { if (preg_match('#/(\d+)?$#', $params['path'], $m)) { - $params['dbindex'] = $m[1] ?? '0'; + $params['dbindex'] = $m[1] ?? $query['dbindex'] ?? '0'; $params['path'] = substr($params['path'], 0, -\strlen($m[0])); } elseif (isset($params['host'])) { - throw new InvalidArgumentException(sprintf('Invalid Redis DSN: "%s", the "dbindex" parameter must be a number.', $dsn)); + throw new InvalidArgumentException('Invalid Redis DSN: parameter "dbindex" must be a number.'); } } @@ -165,17 +167,26 @@ } if (!$hosts) { - throw new InvalidArgumentException(sprintf('Invalid Redis DSN: "%s".', $dsn)); + throw new InvalidArgumentException('Invalid Redis DSN: missing host.'); + } + + if (isset($params['dbindex'], $query['dbindex']) && $params['dbindex'] !== $query['dbindex']) { + throw new InvalidArgumentException('Invalid Redis DSN: path and query "dbindex" parameters mismatch.'); } $params += $query + $options + self::$defaultConnectionOptions; if (isset($params['redis_sentinel']) && !class_exists(\Predis\Client::class) && !class_exists(\RedisSentinel::class)) { - throw new CacheException(sprintf('Redis Sentinel support requires the "predis/predis" package or the "redis" extension v5.2 or higher: "%s".', $dsn)); + throw new CacheException('Redis Sentinel support requires the "predis/predis" package or the "redis" extension v5.2 or higher.'); + } + + if (isset($params['lazy'])) { + $params['lazy'] = filter_var($params['lazy'], \FILTER_VALIDATE_BOOLEAN); } + $params['redis_cluster'] = filter_var($params['redis_cluster'], \FILTER_VALIDATE_BOOLEAN); if ($params['redis_cluster'] && isset($params['redis_sentinel'])) { - throw new InvalidArgumentException(sprintf('Cannot use both "redis_cluster" and "redis_sentinel" at the same time: "%s".', $dsn)); + throw new InvalidArgumentException('Cannot use both "redis_cluster" and "redis_sentinel" at the same time.'); } if (null === $params['class'] && \extension_loaded('redis')) { @@ -184,7 +195,7 @@ $class = $params['class'] ?? \Predis\Client::class; if (isset($params['redis_sentinel']) && !is_a($class, \Predis\Client::class, true) && !class_exists(\RedisSentinel::class)) { - throw new CacheException(sprintf('Cannot use Redis Sentinel: class "%s" does not extend "Predis\Client" and ext-redis >= 5.2 not found: "%s".', $class, $dsn)); + throw new CacheException(sprintf('Cannot use Redis Sentinel: class "%s" does not extend "Predis\Client" and ext-redis >= 5.2 not found.', $class)); } } @@ -192,11 +203,12 @@ $connect = $params['persistent'] || $params['persistent_id'] ? 'pconnect' : 'connect'; $redis = new $class(); - $initializer = static function ($redis) use ($connect, $params, $dsn, $auth, $hosts, $tls) { + $initializer = static function ($redis) use ($connect, $params, $auth, $hosts, $tls) { $hostIndex = 0; do { $host = $hosts[$hostIndex]['host'] ?? $hosts[$hostIndex]['path']; $port = $hosts[$hostIndex]['port'] ?? 0; + $passAuth = \defined('Redis::OPT_NULL_MULTIBULK_AS_NULL') && isset($params['auth']); $address = false; if (isset($hosts[$hostIndex]['host']) && $tls) { @@ -206,25 +218,60 @@ if (!isset($params['redis_sentinel'])) { break; } - $extra = []; - if (\defined('Redis::OPT_NULL_MULTIBULK_AS_NULL') && isset($params['auth'])) { - $extra = [$params['auth']]; + + if (version_compare(phpversion('redis'), '6.0.0', '>=')) { + $options = [ + 'host' => $host, + 'port' => $port, + 'connectTimeout' => (float) $params['timeout'], + 'persistent' => $params['persistent_id'], + 'retryInterval' => (int) $params['retry_interval'], + 'readTimeout' => (float) $params['read_timeout'], + ]; + + if ($passAuth) { + $options['auth'] = $params['auth']; + } + + $sentinel = new \RedisSentinel($options); + } else { + $extra = $passAuth ? [$params['auth']] : []; + + $sentinel = new \RedisSentinel($host, $port, $params['timeout'], (string) $params['persistent_id'], $params['retry_interval'], $params['read_timeout'], ...$extra); } - $sentinel = new \RedisSentinel($host, $port, $params['timeout'], (string) $params['persistent_id'], $params['retry_interval'], $params['read_timeout'], ...$extra); - if ($address = $sentinel->getMasterAddrByName($params['redis_sentinel'])) { - [$host, $port] = $address; + try { + if ($address = $sentinel->getMasterAddrByName($params['redis_sentinel'])) { + [$host, $port] = $address; + } + } catch (\RedisException $e) { } } while (++$hostIndex < \count($hosts) && !$address); if (isset($params['redis_sentinel']) && !$address) { - throw new InvalidArgumentException(sprintf('Failed to retrieve master information from sentinel "%s" and dsn "%s".', $params['redis_sentinel'], $dsn)); + throw new InvalidArgumentException(sprintf('Failed to retrieve master information from sentinel "%s".', $params['redis_sentinel'])); } try { $extra = [ 'stream' => $params['ssl'] ?? null, ]; + $booleanStreamOptions = [ + 'allow_self_signed', + 'capture_peer_cert', + 'capture_peer_cert_chain', + 'disable_compression', + 'SNI_enabled', + 'verify_peer', + 'verify_peer_name', + ]; + + foreach ($extra['stream'] ?? [] as $streamOption => $value) { + if (\in_array($streamOption, $booleanStreamOptions, true) && \is_string($value)) { + $extra['stream'][$streamOption] = filter_var($value, \FILTER_VALIDATE_BOOL); + } + } + if (isset($params['auth'])) { $extra['auth'] = $params['auth']; } @@ -237,22 +284,25 @@ restore_error_handler(); } if (!$isConnected) { - $error = preg_match('/^Redis::p?connect\(\): (.*)/', $error ?? '', $error) ? sprintf(' (%s)', $error[1]) : ''; - throw new InvalidArgumentException(sprintf('Redis connection "%s" failed: ', $dsn).$error.'.'); + $error = preg_match('/^Redis::p?connect\(\): (.*)/', $error ?? $redis->getLastError() ?? '', $error) ? sprintf(' (%s)', $error[1]) : ''; + throw new InvalidArgumentException('Redis connection failed: '.$error.'.'); } if ((null !== $auth && !$redis->auth($auth)) - || ($params['dbindex'] && !$redis->select($params['dbindex'])) + // Due to a bug in phpredis we must always select the dbindex if persistent pooling is enabled + // @see https://github.com/phpredis/phpredis/issues/1920 + // @see https://github.com/symfony/symfony/issues/51578 + || (($params['dbindex'] || ('pconnect' === $connect && '0' !== \ini_get('redis.pconnect.pooling_enabled'))) && !$redis->select($params['dbindex'])) ) { $e = preg_replace('/^ERR /', '', $redis->getLastError()); - throw new InvalidArgumentException(sprintf('Redis connection "%s" failed: ', $dsn).$e.'.'); + throw new InvalidArgumentException('Redis connection failed: '.$e.'.'); } if (0 < $params['tcp_keepalive'] && \defined('Redis::OPT_TCP_KEEPALIVE')) { $redis->setOption(\Redis::OPT_TCP_KEEPALIVE, $params['tcp_keepalive']); } } catch (\RedisException $e) { - throw new InvalidArgumentException(sprintf('Redis connection "%s" failed: ', $dsn).$e->getMessage()); + throw new InvalidArgumentException('Redis connection failed: '.$e->getMessage()); } return true; @@ -277,14 +327,14 @@ try { $redis = new $class($hosts, $params); } catch (\RedisClusterException $e) { - throw new InvalidArgumentException(sprintf('Redis connection "%s" failed: ', $dsn).$e->getMessage()); + throw new InvalidArgumentException('Redis connection failed: '.$e->getMessage()); } if (0 < $params['tcp_keepalive'] && \defined('Redis::OPT_TCP_KEEPALIVE')) { $redis->setOption(\Redis::OPT_TCP_KEEPALIVE, $params['tcp_keepalive']); } } elseif (is_a($class, \RedisCluster::class, true)) { - $initializer = static function () use ($class, $params, $dsn, $hosts) { + $initializer = static function () use ($class, $params, $hosts) { foreach ($hosts as $i => $host) { switch ($host['scheme']) { case 'tcp': $hosts[$i] = $host['host'].':'.$host['port']; break; @@ -296,7 +346,7 @@ try { $redis = new $class(null, $hosts, $params['timeout'], $params['read_timeout'], (bool) $params['persistent'], $params['auth'] ?? '', ...\defined('Redis::SCAN_PREFIX') ? [$params['ssl'] ?? null] : []); } catch (\RedisClusterException $e) { - throw new InvalidArgumentException(sprintf('Redis connection "%s" failed: ', $dsn).$e->getMessage()); + throw new InvalidArgumentException('Redis connection failed: '.$e->getMessage()); } if (0 < $params['tcp_keepalive'] && \defined('Redis::OPT_TCP_KEEPALIVE')) { @@ -362,9 +412,6 @@ return $redis; } - /** - * {@inheritdoc} - */ protected function doFetch(array $ids) { if (!$ids) { @@ -373,7 +420,7 @@ $result = []; - if ($this->redis instanceof \Predis\ClientInterface && $this->redis->getConnection() instanceof ClusterInterface) { + if ($this->redis instanceof \Predis\ClientInterface && ($this->redis->getConnection() instanceof ClusterInterface || $this->redis->getConnection() instanceof Predis2ClusterInterface)) { $values = $this->pipeline(function () use ($ids) { foreach ($ids as $id) { yield 'get' => [$id]; @@ -398,17 +445,11 @@ return $result; } - /** - * {@inheritdoc} - */ protected function doHave(string $id) { return (bool) $this->redis->exists($id); } - /** - * {@inheritdoc} - */ protected function doClear(string $namespace) { if ($this->redis instanceof \Predis\ClientInterface) { @@ -451,7 +492,7 @@ $cursor = null; do { - $keys = $host instanceof \Predis\ClientInterface ? $host->scan($cursor, 'MATCH', $pattern, 'COUNT', 1000) : $host->scan($cursor, $pattern, 1000); + $keys = $host instanceof \Predis\ClientInterface ? $host->scan($cursor ?? 0, 'MATCH', $pattern, 'COUNT', 1000) : $host->scan($cursor, $pattern, 1000); if (isset($keys[1]) && \is_array($keys[1])) { $cursor = $keys[0]; $keys = $keys[1]; @@ -464,22 +505,19 @@ } $this->doDelete($keys); } - } while ($cursor = (int) $cursor); + } while ($cursor); } return $cleared; } - /** - * {@inheritdoc} - */ protected function doDelete(array $ids) { if (!$ids) { return true; } - if ($this->redis instanceof \Predis\ClientInterface && $this->redis->getConnection() instanceof ClusterInterface) { + if ($this->redis instanceof \Predis\ClientInterface && ($this->redis->getConnection() instanceof ClusterInterface || $this->redis->getConnection() instanceof Predis2ClusterInterface)) { static $del; $del = $del ?? (class_exists(UNLINK::class) ? 'unlink' : 'del'); @@ -507,9 +545,6 @@ return true; } - /** - * {@inheritdoc} - */ protected function doSave(array $values, int $lifetime) { if (!$values = $this->marshaller->marshall($values, $failed)) { @@ -535,12 +570,12 @@ return $failed; } - private function pipeline(\Closure $generator, object $redis = null): \Generator + private function pipeline(\Closure $generator, ?object $redis = null): \Generator { $ids = []; $redis = $redis ?? $this->redis; - if ($redis instanceof RedisClusterProxy || $redis instanceof \RedisCluster || ($redis instanceof \Predis\ClientInterface && $redis->getConnection() instanceof RedisCluster)) { + if ($redis instanceof RedisClusterProxy || $redis instanceof \RedisCluster || ($redis instanceof \Predis\ClientInterface && ($redis->getConnection() instanceof RedisCluster || $redis->getConnection() instanceof Predis2RedisCluster))) { // phpredis & predis don't support pipelining with RedisCluster // see https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#pipelining // see https://github.com/nrk/predis/issues/267#issuecomment-123781423 @@ -602,7 +637,7 @@ $hosts = [$this->redis]; if ($this->redis instanceof \Predis\ClientInterface) { $connection = $this->redis->getConnection(); - if ($connection instanceof ClusterInterface && $connection instanceof \Traversable) { + if (($connection instanceof ClusterInterface || $connection instanceof Predis2ClusterInterface) && $connection instanceof \Traversable) { $hosts = []; foreach ($connection as $c) { $hosts[] = new \Predis\Client($c); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Cache/composer.json symfony-5.4.52+dfsg/src/Symfony/Component/Cache/composer.json --- symfony-5.4.23+dfsg/src/Symfony/Component/Cache/composer.json 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Cache/composer.json 2026-05-20 08:22:01.000000000 +0000 @@ -34,8 +34,8 @@ "require-dev": { "cache/integration-tests": "dev-master", "doctrine/cache": "^1.6|^2.0", - "doctrine/dbal": "^2.13.1|^3.0", - "predis/predis": "^1.1", + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0", "symfony/config": "^4.4|^5.0|^6.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0", diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/Config/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/Config/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/Config/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Builder/ClassBuilder.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Builder/ClassBuilder.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Builder/ClassBuilder.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Builder/ClassBuilder.php 2026-05-20 08:22:01.000000000 +0000 @@ -122,7 +122,7 @@ $this->methods[] = new Method(strtr($body, ['NAME' => $this->camelCase($name)] + $params)); } - public function addProperty(string $name, string $classType = null, string $defaultValue = null): Property + public function addProperty(string $name, ?string $classType = null, ?string $defaultValue = null): Property { $property = new Property($name, '_' !== $name[0] ? $this->camelCase($name) : $name); if (null !== $classType) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/ConfigCacheInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/ConfigCacheInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/ConfigCacheInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/ConfigCacheInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -45,5 +45,5 @@ * * @throws \RuntimeException When the cache file cannot be written */ - public function write(string $content, array $metadata = null); + public function write(string $content, ?array $metadata = null); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/BaseNode.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/BaseNode.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/BaseNode.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/BaseNode.php 2026-05-20 08:22:01.000000000 +0000 @@ -45,7 +45,7 @@ /** * @throws \InvalidArgumentException if the name contains a period */ - public function __construct(?string $name, NodeInterface $parent = null, string $pathSeparator = self::DEFAULT_PATH_SEPARATOR) + public function __construct(?string $name, ?NodeInterface $parent = null, string $pathSeparator = self::DEFAULT_PATH_SEPARATOR) { if (str_contains($name = (string) $name, $pathSeparator)) { throw new \InvalidArgumentException('The name must not contain ".'.$pathSeparator.'".'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php 2026-05-20 08:22:01.000000000 +0000 @@ -39,7 +39,7 @@ /** * {@inheritdoc} */ - public function __construct(?string $name, NodeParentInterface $parent = null) + public function __construct(?string $name, ?NodeParentInterface $parent = null) { parent::__construct($name, $parent); @@ -197,7 +197,7 @@ * * @return $this */ - public function fixXmlConfig(string $singular, string $plural = null) + public function fixXmlConfig(string $singular, ?string $plural = null) { $this->normalization()->remap($singular, $plural); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/BooleanNodeDefinition.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/BooleanNodeDefinition.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/BooleanNodeDefinition.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/BooleanNodeDefinition.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,7 +24,7 @@ /** * {@inheritdoc} */ - public function __construct(?string $name, NodeParentInterface $parent = null) + public function __construct(?string $name, ?NodeParentInterface $parent = null) { parent::__construct($name, $parent); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/ExprBuilder.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/ExprBuilder.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/ExprBuilder.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/ExprBuilder.php 2026-05-20 08:22:01.000000000 +0000 @@ -35,7 +35,7 @@ * * @return $this */ - public function always(\Closure $then = null) + public function always(?\Closure $then = null) { $this->ifPart = function () { return true; }; @@ -53,7 +53,7 @@ * * @return $this */ - public function ifTrue(\Closure $closure = null) + public function ifTrue(?\Closure $closure = null) { if (null === $closure) { $closure = function ($v) { return true === $v; }; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php 2026-05-20 08:22:01.000000000 +0000 @@ -39,7 +39,7 @@ * * @return $this */ - public function setParent(ParentNodeDefinitionInterface $parent = null) + public function setParent(?ParentNodeDefinitionInterface $parent = null) { $this->parent = $parent; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/NodeDefinition.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/NodeDefinition.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/NodeDefinition.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/NodeDefinition.php 2026-05-20 08:22:01.000000000 +0000 @@ -38,7 +38,7 @@ protected $parent; protected $attributes = []; - public function __construct(?string $name, NodeParentInterface $parent = null) + public function __construct(?string $name, ?NodeParentInterface $parent = null) { $this->parent = $parent; $this->name = $name; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/NormalizationBuilder.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/NormalizationBuilder.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/NormalizationBuilder.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/NormalizationBuilder.php 2026-05-20 08:22:01.000000000 +0000 @@ -35,7 +35,7 @@ * * @return $this */ - public function remap(string $key, string $plural = null) + public function remap(string $key, ?string $plural = null) { $this->remappings[] = [$key, null === $plural ? $key.'s' : $plural]; @@ -47,7 +47,7 @@ * * @return ExprBuilder|$this */ - public function before(\Closure $closure = null) + public function before(?\Closure $closure = null) { if (null !== $closure) { $this->before[] = $closure; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/TreeBuilder.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/TreeBuilder.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/TreeBuilder.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/TreeBuilder.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ protected $tree; protected $root; - public function __construct(string $name, string $type = 'array', NodeBuilder $builder = null) + public function __construct(string $name, string $type = 'array', ?NodeBuilder $builder = null) { $builder = $builder ?? new NodeBuilder(); $this->root = $builder->node($name, $type)->setParent($this); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/ValidationBuilder.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/ValidationBuilder.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Builder/ValidationBuilder.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Builder/ValidationBuilder.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ * * @return ExprBuilder|$this */ - public function rule(\Closure $closure = null) + public function rule(?\Closure $closure = null) { if (null !== $closure) { $this->rules[] = $closure; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Dumper/XmlReferenceDumper.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Dumper/XmlReferenceDumper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Dumper/XmlReferenceDumper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Dumper/XmlReferenceDumper.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,12 +27,12 @@ { private $reference; - public function dump(ConfigurationInterface $configuration, string $namespace = null) + public function dump(ConfigurationInterface $configuration, ?string $namespace = null) { return $this->dumpNode($configuration->getConfigTreeBuilder()->buildTree(), $namespace); } - public function dumpNode(NodeInterface $node, string $namespace = null) + public function dumpNode(NodeInterface $node, ?string $namespace = null) { $this->reference = ''; $this->writeNode($node, 0, true, $namespace); @@ -42,7 +42,7 @@ return $ref; } - private function writeNode(NodeInterface $node, int $depth = 0, bool $root = false, string $namespace = null) + private function writeNode(NodeInterface $node, int $depth = 0, bool $root = false, ?string $namespace = null) { $rootName = ($root ? 'config' : $node->getName()); $rootNamespace = ($namespace ?: ($root ? 'http://example.org/schema/dic/'.$node->getName() : null)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Dumper/YamlReferenceDumper.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Dumper/YamlReferenceDumper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Dumper/YamlReferenceDumper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Dumper/YamlReferenceDumper.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,7 +18,6 @@ use Symfony\Component\Config\Definition\NodeInterface; use Symfony\Component\Config\Definition\PrototypedArrayNode; use Symfony\Component\Config\Definition\ScalarNode; -use Symfony\Component\Config\Definition\VariableNode; use Symfony\Component\Yaml\Inline; /** @@ -71,7 +70,7 @@ return $ref; } - private function writeNode(NodeInterface $node, NodeInterface $parentNode = null, int $depth = 0, bool $prototypedArray = false) + private function writeNode(NodeInterface $node, ?NodeInterface $parentNode = null, int $depth = 0, bool $prototypedArray = false) { $comments = []; $default = ''; @@ -90,19 +89,12 @@ $children = $this->getPrototypeChildren($node); } - if (!$children) { - if ($node->hasDefaultValue() && \count($defaultArray = $node->getDefaultValue())) { - $default = ''; - } elseif (!\is_array($example)) { - $default = '[]'; - } + if (!$children && !($node->hasDefaultValue() && \count($defaultArray = $node->getDefaultValue()))) { + $default = '[]'; } } elseif ($node instanceof EnumNode) { $comments[] = 'One of '.implode('; ', array_map('json_encode', $node->getValues())); $default = $node->hasDefaultValue() ? Inline::dump($node->getDefaultValue()) : '~'; - } elseif (VariableNode::class === \get_class($node) && \is_array($example)) { - // If there is an array example, we are sure we dont need to print a default value - $default = ''; } else { $default = '~'; @@ -170,7 +162,7 @@ $this->writeLine('# '.$message.':', $depth * 4 + 4); - $this->writeArray(array_map([Inline::class, 'dump'], $example), $depth + 1); + $this->writeArray(array_map([Inline::class, 'dump'], $example), $depth + 1, true); } if ($children) { @@ -191,7 +183,7 @@ $this->reference .= sprintf($format, $text)."\n"; } - private function writeArray(array $array, int $depth) + private function writeArray(array $array, int $depth, bool $asComment = false) { $isIndexed = array_values($array) === $array; @@ -202,14 +194,16 @@ $val = $value; } + $prefix = $asComment ? '# ' : ''; + if ($isIndexed) { - $this->writeLine('- '.$val, $depth * 4); + $this->writeLine($prefix.'- '.$val, $depth * 4); } else { - $this->writeLine(sprintf('%-20s %s', $key.':', $val), $depth * 4); + $this->writeLine(sprintf('%s%-20s %s', $prefix, $key.':', $val), $depth * 4); } if (\is_array($value)) { - $this->writeArray($value, $depth + 1); + $this->writeArray($value, $depth + 1, $asComment); } } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/EnumNode.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/EnumNode.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/EnumNode.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/EnumNode.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,7 +22,7 @@ { private $values; - public function __construct(?string $name, NodeInterface $parent = null, array $values = [], string $pathSeparator = BaseNode::DEFAULT_PATH_SEPARATOR) + public function __construct(?string $name, ?NodeInterface $parent = null, array $values = [], string $pathSeparator = BaseNode::DEFAULT_PATH_SEPARATOR) { $values = array_unique($values); if (empty($values)) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/NumericNode.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/NumericNode.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/NumericNode.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/NumericNode.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,7 +27,7 @@ * @param int|float|null $min * @param int|float|null $max */ - public function __construct(?string $name, NodeInterface $parent = null, $min = null, $max = null, string $pathSeparator = BaseNode::DEFAULT_PATH_SEPARATOR) + public function __construct(?string $name, ?NodeInterface $parent = null, $min = null, $max = null, string $pathSeparator = BaseNode::DEFAULT_PATH_SEPARATOR) { parent::__construct($name, $parent, $pathSeparator); $this->min = $min; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Processor.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Processor.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Definition/Processor.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Definition/Processor.php 2026-05-20 08:22:01.000000000 +0000 @@ -67,7 +67,7 @@ * @param string $key The key to normalize * @param string|null $plural The plural form of the key if it is irregular */ - public static function normalizeConfig(array $config, string $key, string $plural = null): array + public static function normalizeConfig(array $config, string $key, ?string $plural = null): array { if (null === $plural) { $plural = $key.'s'; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Exception/FileLoaderImportCircularReferenceException.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Exception/FileLoaderImportCircularReferenceException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Exception/FileLoaderImportCircularReferenceException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Exception/FileLoaderImportCircularReferenceException.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,7 +18,7 @@ */ class FileLoaderImportCircularReferenceException extends LoaderLoadException { - public function __construct(array $resources, ?int $code = 0, \Throwable $previous = null) + public function __construct(array $resources, ?int $code = 0, ?\Throwable $previous = null) { if (null === $code) { trigger_deprecation('symfony/config', '5.3', 'Passing null as $code to "%s()" is deprecated, pass 0 instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Exception/FileLocatorFileNotFoundException.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Exception/FileLocatorFileNotFoundException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Exception/FileLocatorFileNotFoundException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Exception/FileLocatorFileNotFoundException.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ { private $paths; - public function __construct(string $message = '', int $code = 0, \Throwable $previous = null, array $paths = []) + public function __construct(string $message = '', int $code = 0, ?\Throwable $previous = null, array $paths = []) { parent::__construct($message, $code, $previous); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Exception/LoaderLoadException.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Exception/LoaderLoadException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Exception/LoaderLoadException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Exception/LoaderLoadException.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ * @param \Throwable|null $previous A previous exception * @param string|null $type The type of resource */ - public function __construct(string $resource, string $sourceResource = null, ?int $code = 0, \Throwable $previous = null, string $type = null) + public function __construct(string $resource, ?string $sourceResource = null, ?int $code = 0, ?\Throwable $previous = null, ?string $type = null) { if (null === $code) { trigger_deprecation('symfony/config', '5.3', 'Passing null as $code to "%s()" is deprecated, pass 0 instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/FileLocator.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/FileLocator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/FileLocator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/FileLocator.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ /** * {@inheritdoc} */ - public function locate(string $name, string $currentPath = null, bool $first = true) + public function locate(string $name, ?string $currentPath = null, bool $first = true) { if ('' === $name) { throw new \InvalidArgumentException('An empty file name is not valid to be located.'); @@ -84,7 +84,8 @@ && ':' === $file[1] && ('\\' === $file[2] || '/' === $file[2]) ) - || null !== parse_url($file, \PHP_URL_SCHEME) + || parse_url($file, \PHP_URL_SCHEME) + || str_starts_with($file, 'phar:///') // "parse_url()" doesn't handle absolute phar path, despite being valid ) { return true; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/FileLocatorInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/FileLocatorInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/FileLocatorInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/FileLocatorInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,5 +30,5 @@ * @throws \InvalidArgumentException If $name is empty * @throws FileLocatorFileNotFoundException If a file is not found */ - public function locate(string $name, string $currentPath = null, bool $first = true); + public function locate(string $name, ?string $currentPath = null, bool $first = true); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/DelegatingLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/DelegatingLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/DelegatingLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/DelegatingLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ /** * {@inheritdoc} */ - public function load($resource, string $type = null) + public function load($resource, ?string $type = null) { if (false === $loader = $this->resolver->resolve($resource, $type)) { throw new LoaderLoadException($resource, null, 0, null, $type); @@ -43,7 +43,7 @@ /** * {@inheritdoc} */ - public function supports($resource, string $type = null) + public function supports($resource, ?string $type = null) { return false !== $this->resolver->resolve($resource, $type); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/FileLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/FileLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/FileLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/FileLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ private $currentDir; - public function __construct(FileLocatorInterface $locator, string $env = null) + public function __construct(FileLocatorInterface $locator, ?string $env = null) { $this->locator = $locator; parent::__construct($env); @@ -70,7 +70,7 @@ * @throws FileLoaderImportCircularReferenceException * @throws FileLocatorFileNotFoundException */ - public function import($resource, string $type = null, bool $ignoreErrors = false, string $sourceResource = null, $exclude = null) + public function import($resource, ?string $type = null, bool $ignoreErrors = false, ?string $sourceResource = null, $exclude = null) { if (\is_string($resource) && \strlen($resource) !== ($i = strcspn($resource, '*?{[')) && !str_contains($resource, "\n")) { $excluded = []; @@ -133,7 +133,7 @@ yield from $resource; } - private function doImport($resource, string $type = null, bool $ignoreErrors = false, string $sourceResource = null) + private function doImport($resource, ?string $type = null, bool $ignoreErrors = false, ?string $sourceResource = null) { try { $loader = $this->resolve($resource, $type); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/GlobFileLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/GlobFileLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/GlobFileLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/GlobFileLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ /** * {@inheritdoc} */ - public function load($resource, string $type = null) + public function load($resource, ?string $type = null) { return $this->import($resource); } @@ -29,7 +29,7 @@ /** * {@inheritdoc} */ - public function supports($resource, string $type = null) + public function supports($resource, ?string $type = null) { return 'glob' === $type; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/Loader.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/Loader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/Loader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/Loader.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ protected $resolver; protected $env; - public function __construct(string $env = null) + public function __construct(?string $env = null) { $this->env = $env; } @@ -52,7 +52,7 @@ * * @return mixed */ - public function import($resource, string $type = null) + public function import($resource, ?string $type = null) { return $this->resolve($resource, $type)->load($resource, $type); } @@ -67,7 +67,7 @@ * * @throws LoaderLoadException If no loader is found */ - public function resolve($resource, string $type = null) + public function resolve($resource, ?string $type = null) { if ($this->supports($resource, $type)) { return $this; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/LoaderInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/LoaderInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/LoaderInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/LoaderInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,7 +27,7 @@ * * @throws \Exception If something went wrong */ - public function load($resource, string $type = null); + public function load($resource, ?string $type = null); /** * Returns whether this class supports the given resource. @@ -36,7 +36,7 @@ * * @return bool */ - public function supports($resource, string $type = null); + public function supports($resource, ?string $type = null); /** * Gets the loader resolver. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/LoaderResolver.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/LoaderResolver.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/LoaderResolver.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/LoaderResolver.php 2026-05-20 08:22:01.000000000 +0000 @@ -39,7 +39,7 @@ /** * {@inheritdoc} */ - public function resolve($resource, string $type = null) + public function resolve($resource, ?string $type = null) { foreach ($this->loaders as $loader) { if ($loader->supports($resource, $type)) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/LoaderResolverInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/LoaderResolverInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Loader/LoaderResolverInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Loader/LoaderResolverInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,5 +26,5 @@ * * @return LoaderInterface|false */ - public function resolve($resource, string $type = null); + public function resolve($resource, ?string $type = null); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Resource/ClassExistenceResource.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Resource/ClassExistenceResource.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Resource/ClassExistenceResource.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Resource/ClassExistenceResource.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,7 +34,7 @@ * @param string $resource The fully-qualified class name * @param bool|null $exists Boolean when the existence check has already been done */ - public function __construct(string $resource, bool $exists = null) + public function __construct(string $resource, ?bool $exists = null) { $this->resource = $resource; if (null !== $exists) { @@ -143,7 +143,7 @@ * * @internal */ - public static function throwOnRequiredClass(string $class, \Exception $previous = null) + public static function throwOnRequiredClass(string $class, ?\Exception $previous = null) { // If the passed class is the resource being checked, we shouldn't throw. if (null === $previous && self::$autoloadedClass === $class) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Resource/DirectoryResource.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Resource/DirectoryResource.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Resource/DirectoryResource.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Resource/DirectoryResource.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ * * @throws \InvalidArgumentException */ - public function __construct(string $resource, string $pattern = null) + public function __construct(string $resource, ?string $pattern = null) { $this->resource = realpath($resource) ?: (file_exists($resource) ? $resource : false); $this->pattern = $pattern; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Resource/FileExistenceResource.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Resource/FileExistenceResource.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Resource/FileExistenceResource.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Resource/FileExistenceResource.php 2026-05-20 08:22:01.000000000 +0000 @@ -38,7 +38,7 @@ public function __toString(): string { - return $this->resource; + return 'existence.'.$this->resource; } public function getResource(): string diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/ResourceCheckerConfigCache.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/ResourceCheckerConfigCache.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/ResourceCheckerConfigCache.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/ResourceCheckerConfigCache.php 2026-05-20 08:22:01.000000000 +0000 @@ -115,7 +115,7 @@ * * @throws \RuntimeException When cache file can't be written */ - public function write(string $content, array $metadata = null) + public function write(string $content, ?array $metadata = null) { $mode = 0666; $umask = umask(); @@ -156,7 +156,7 @@ $signalingException = new \UnexpectedValueException(); $prevUnserializeHandler = ini_set('unserialize_callback_func', self::class.'::handleUnserializeCallback'); $prevErrorHandler = set_error_handler(function ($type, $msg, $file, $line, $context = []) use (&$prevErrorHandler, $signalingException) { - if (__FILE__ === $file) { + if (__FILE__ === $file && !\in_array($type, [\E_DEPRECATED, \E_USER_DEPRECATED], true)) { throw $signalingException; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -160,7 +160,7 @@ /** * Generate the ConfigBuilder or return an already generated instance. */ - private function generateConfigBuilder(string $configurationClass, string $outputDir = null) + private function generateConfigBuilder(string $configurationClass, ?string $outputDir = null) { $outputDir ?? $outputDir = sys_get_temp_dir().\DIRECTORY_SEPARATOR.uniqid('sf_config_builder', true); if (!str_contains($outputDir, __DIR__)) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/ConfigCacheTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/ConfigCacheTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/ConfigCacheTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/ConfigCacheTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -72,7 +72,7 @@ { $p = (new \ReflectionClass(SelfCheckingResourceChecker::class))->getProperty('cache'); $p->setAccessible(true); - $p->setValue(SelfCheckingResourceChecker::class, []); + $p->setValue(null, []); $freshResource = new ResourceStub(); $freshResource->setFresh(true); @@ -87,7 +87,7 @@ { $p = (new \ReflectionClass(SelfCheckingResourceChecker::class))->getProperty('cache'); $p->setAccessible(true); - $p->setValue(SelfCheckingResourceChecker::class, []); + $p->setValue(null, []); $staleResource = new ResourceStub(); $staleResource->setFresh(false); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Definition/BaseNodeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Definition/BaseNodeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Definition/BaseNodeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Definition/BaseNodeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,7 +36,36 @@ } } - $node = $this->getMockForAbstractClass(BaseNode::class, $constructorArgs); + $node = new class(...$constructorArgs) extends BaseNode { + protected function validateType($value): void + { + } + + protected function normalizeValue($value) + { + return null; + } + + protected function mergeValues($leftSide, $rightSide) + { + return null; + } + + protected function finalizeValue($value) + { + return null; + } + + public function hasDefaultValue(): bool + { + return true; + } + + public function getDefaultValue() + { + return null; + } + }; $this->assertSame($expected, $node->getPath()); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -223,7 +223,7 @@ * @param array|null $config The config you want to use for the finalization, if nothing provided * a simple ['key'=>'value'] will be used */ - protected function finalizeTestBuilder(NodeDefinition $nodeDefinition, array $config = null): array + protected function finalizeTestBuilder(NodeDefinition $nodeDefinition, ?array $config = null): array { return $nodeDefinition ->end() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Definition/Dumper/XmlReferenceDumperTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Definition/Dumper/XmlReferenceDumperTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Definition/Dumper/XmlReferenceDumperTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Definition/Dumper/XmlReferenceDumperTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -109,6 +109,8 @@ + + EOL diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Definition/Dumper/YamlReferenceDumperTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Definition/Dumper/YamlReferenceDumperTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Definition/Dumper/YamlReferenceDumperTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Definition/Dumper/YamlReferenceDumperTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -114,11 +114,11 @@ # which should be indented child3: ~ # Example: 'example setting' scalar_prototyped: [] - variable: + variable: ~ # Examples: - - foo - - bar + # - foo + # - bar parameters: # Prototype: Parameter name @@ -142,6 +142,11 @@ # Prototype name: [] + array_with_array_example_and_no_default_value: [] + + # Examples: + # - foo + # - bar custom_node: true EOL; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/FileLocatorTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/FileLocatorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/FileLocatorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/FileLocatorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -39,6 +39,7 @@ ['\\server\\foo.xml'], ['https://server/foo.xml'], ['phar://server/foo.xml'], + ['phar:///server/foo.xml'], ]; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Fixtures/Configuration/ExampleConfiguration.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Fixtures/Configuration/ExampleConfiguration.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Fixtures/Configuration/ExampleConfiguration.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Fixtures/Configuration/ExampleConfiguration.php 2026-05-20 08:22:01.000000000 +0000 @@ -96,6 +96,9 @@ ->end() ->end() ->end() + ->arrayNode('array_with_array_example_and_no_default_value') + ->example(['foo', 'bar']) + ->end() ->append(new CustomNodeDefinition('acme')) ->end() ; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,13 +25,15 @@ $locatorMock = $this->createMock(FileLocatorInterface::class); $locatorMockForAdditionalLoader = $this->createMock(FileLocatorInterface::class); - $locatorMockForAdditionalLoader->expects($this->any())->method('locate')->will($this->onConsecutiveCalls( - ['path/to/file1'], // Default - ['path/to/file1', 'path/to/file2'], // First is imported - ['path/to/file1', 'path/to/file2'], // Second is imported - ['path/to/file1'], // Exception - ['path/to/file1', 'path/to/file2'] // Exception - )); + $locatorMockForAdditionalLoader->expects($this->any()) + ->method('locate') + ->willReturn( + ['path/to/file1'], + ['path/to/file1', 'path/to/file2'], + ['path/to/file1', 'path/to/file2'], + ['path/to/file1'], + ['path/to/file1', 'path/to/file2'] + ); $fileLoader = new TestFileLoader($locatorMock); $fileLoader->setSupports(false); @@ -155,12 +157,12 @@ { private $supports = true; - public function load($resource, string $type = null) + public function load($resource, ?string $type = null) { return $resource; } - public function supports($resource, string $type = null): bool + public function supports($resource, ?string $type = null): bool { return $this->supports; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Loader/LoaderTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Loader/LoaderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Loader/LoaderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Loader/LoaderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -104,11 +104,11 @@ class ProjectLoader1 extends Loader { - public function load($resource, string $type = null) + public function load($resource, ?string $type = null) { } - public function supports($resource, string $type = null): bool + public function supports($resource, ?string $type = null): bool { return \is_string($resource) && 'foo' === pathinfo($resource, \PATHINFO_EXTENSION); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Resource/FileExistenceResourceTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Resource/FileExistenceResourceTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Resource/FileExistenceResourceTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Resource/FileExistenceResourceTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,7 +36,7 @@ public function testToString() { - $this->assertSame($this->file, (string) $this->resource); + $this->assertSame('existence.'.$this->file, (string) $this->resource); } public function testGetResource() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Resource/ReflectionClassResourceTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Resource/ReflectionClassResourceTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Resource/ReflectionClassResourceTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Resource/ReflectionClassResourceTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -64,7 +64,7 @@ /** * @dataProvider provideHashedSignature */ - public function testHashedSignature(bool $changeExpected, int $changedLine, ?string $changedCode, \Closure $setContext = null) + public function testHashedSignature(bool $changeExpected, int $changedLine, ?string $changedCode, ?\Closure $setContext = null) { if ($setContext) { $setContext(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Util/XmlUtilsTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Util/XmlUtilsTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Config/Tests/Util/XmlUtilsTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Config/Tests/Util/XmlUtilsTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -76,7 +76,8 @@ } $mock = $this->createMock(Validator::class); - $mock->expects($this->exactly(2))->method('validate')->will($this->onConsecutiveCalls(false, true)); + $mock->expects($this->exactly(2))->method('validate') + ->willReturn(false, true); try { XmlUtils::loadFile($fixtures.'valid.xml', [$mock, 'validate']); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/Console/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/Console/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/Console/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Application.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Application.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Application.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Application.php 2026-05-20 08:22:01.000000000 +0000 @@ -134,7 +134,7 @@ * * @throws \Exception When running fails. Bypass this when {@link setCatchExceptions()}. */ - public function run(InputInterface $input = null, OutputInterface $output = null) + public function run(?InputInterface $input = null, ?OutputInterface $output = null) { if (\function_exists('putenv')) { @putenv('LINES='.$this->terminal->getHeight()); @@ -165,9 +165,9 @@ } } - $this->configureIO($input, $output); - try { + $this->configureIO($input, $output); + $exitCode = $this->doRun($input, $output); } catch (\Exception $e) { if (!$this->catchExceptions) { @@ -778,7 +778,7 @@ * * @return Command[] */ - public function all(string $namespace = null) + public function all(?string $namespace = null) { $this->init(); @@ -858,7 +858,7 @@ } if (str_contains($message, "@anonymous\0")) { - $message = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/', function ($m) { + $message = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)?[0-9a-fA-F]++/', function ($m) { return class_exists($m[0], false) ? (get_parent_class($m[0]) ?: key(class_implements($m[0])) ?: 'class').'@anonymous' : $m[0]; }, $message); } @@ -1147,7 +1147,7 @@ * * @return string */ - public function extractNamespace(string $name, int $limit = null) + public function extractNamespace(string $name, ?int $limit = null) { $parts = explode(':', $name, -1); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/CI/GithubActionReporter.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/CI/GithubActionReporter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/CI/GithubActionReporter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/CI/GithubActionReporter.php 2026-05-20 08:22:01.000000000 +0000 @@ -57,7 +57,7 @@ * * @see https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-an-error-message */ - public function error(string $message, string $file = null, int $line = null, int $col = null): void + public function error(string $message, ?string $file = null, ?int $line = null, ?int $col = null): void { $this->log('error', $message, $file, $line, $col); } @@ -67,7 +67,7 @@ * * @see https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-a-warning-message */ - public function warning(string $message, string $file = null, int $line = null, int $col = null): void + public function warning(string $message, ?string $file = null, ?int $line = null, ?int $col = null): void { $this->log('warning', $message, $file, $line, $col); } @@ -77,12 +77,12 @@ * * @see https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-a-debug-message */ - public function debug(string $message, string $file = null, int $line = null, int $col = null): void + public function debug(string $message, ?string $file = null, ?int $line = null, ?int $col = null): void { $this->log('debug', $message, $file, $line, $col); } - private function log(string $type, string $message, string $file = null, int $line = null, int $col = null): void + private function log(string $type, string $message, ?string $file = null, ?int $line = null, ?int $col = null): void { // Some values must be encoded. $message = strtr($message, self::ESCAPED_DATA); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Command/Command.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/Command.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Command/Command.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/Command.php 2026-05-20 08:22:01.000000000 +0000 @@ -96,7 +96,7 @@ * * @throws LogicException When the command name is empty */ - public function __construct(string $name = null) + public function __construct(?string $name = null) { $this->definition = new InputDefinition(); @@ -132,7 +132,7 @@ $this->ignoreValidationErrors = true; } - public function setApplication(Application $application = null) + public function setApplication(?Application $application = null) { $this->application = $application; if ($application) { @@ -433,7 +433,7 @@ * * @throws InvalidArgumentException When argument mode is not valid */ - public function addArgument(string $name, int $mode = null, string $description = '', $default = null) + public function addArgument(string $name, ?int $mode = null, string $description = '', $default = null) { $this->definition->addArgument(new InputArgument($name, $mode, $description, $default)); if (null !== $this->fullDefinition) { @@ -454,7 +454,7 @@ * * @throws InvalidArgumentException If option mode is invalid or incompatible */ - public function addOption(string $name, $shortcut = null, int $mode = null, string $description = '', $default = null) + public function addOption(string $name, $shortcut = null, ?int $mode = null, string $description = '', $default = null) { $this->definition->addOption(new InputOption($name, $shortcut, $mode, $description, $default)); if (null !== $this->fullDefinition) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Command/CompleteCommand.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/CompleteCommand.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Command/CompleteCommand.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/CompleteCommand.php 2026-05-20 08:22:01.000000000 +0000 @@ -155,10 +155,10 @@ throw $e; } - return self::FAILURE; + return 2; } - return self::SUCCESS; + return 0; } private function createCompletionInput(InputInterface $input): CompletionInput diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Command/DumpCompletionCommand.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/DumpCompletionCommand.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Command/DumpCompletionCommand.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/DumpCompletionCommand.php 2026-05-20 08:22:01.000000000 +0000 @@ -85,7 +85,7 @@ if ($input->getOption('debug')) { $this->tailDebugLog($commandName, $output); - return self::SUCCESS; + return 0; } $shell = $input->getArgument('shell') ?? self::guessShell(); @@ -102,12 +102,12 @@ $output->writeln(sprintf('Shell not detected, Symfony shell completion only supports "%s").', implode('", "', $supportedShells))); } - return self::INVALID; + return 2; } $output->write(str_replace(['{{ COMMAND_NAME }}', '{{ VERSION }}'], [$commandName, $this->getApplication()->getVersion()], file_get_contents($completionFile))); - return self::SUCCESS; + return 0; } private static function guessShell(): string diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Command/LazyCommand.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/LazyCommand.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Command/LazyCommand.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/LazyCommand.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,7 +43,7 @@ $this->getCommand()->ignoreValidationErrors(); } - public function setApplication(Application $application = null): void + public function setApplication(?Application $application = null): void { if ($this->command instanceof parent) { $this->command->setApplication($application); @@ -117,7 +117,7 @@ /** * @return $this */ - public function addArgument(string $name, int $mode = null, string $description = '', $default = null): self + public function addArgument(string $name, ?int $mode = null, string $description = '', $default = null): self { $this->getCommand()->addArgument($name, $mode, $description, $default); @@ -127,7 +127,7 @@ /** * @return $this */ - public function addOption(string $name, $shortcut = null, int $mode = null, string $description = '', $default = null): self + public function addOption(string $name, $shortcut = null, ?int $mode = null, string $description = '', $default = null): self { $this->getCommand()->addOption($name, $shortcut, $mode, $description, $default); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Command/LockableTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/LockableTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Command/LockableTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Command/LockableTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ /** * Locks a command. */ - private function lock(string $name = null, bool $blocking = false): bool + private function lock(?string $name = null, bool $blocking = false): bool { if (!class_exists(SemaphoreStore::class)) { throw new LogicException('To enable the locking feature you must install the symfony/lock component.'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Completion/CompletionInput.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Completion/CompletionInput.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Completion/CompletionInput.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Completion/CompletionInput.php 2026-05-20 08:22:01.000000000 +0000 @@ -53,7 +53,7 @@ * Create an input based on an COMP_WORDS token list. * * @param string[] $tokens the set of split tokens (e.g. COMP_WORDS or argv) - * @param $currentIndex the index of the cursor (e.g. COMP_CWORD) + * @param int $currentIndex the index of the cursor (e.g. COMP_CWORD) */ public static function fromTokens(array $tokens, int $currentIndex): self { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Descriptor/ApplicationDescription.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Descriptor/ApplicationDescription.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Descriptor/ApplicationDescription.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Descriptor/ApplicationDescription.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,7 +43,7 @@ */ private $aliases; - public function __construct(Application $application, string $namespace = null, bool $showHidden = false) + public function __construct(Application $application, ?string $namespace = null, bool $showHidden = false) { $this->application = $application; $this->namespace = $namespace; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Descriptor/XmlDescriptor.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Descriptor/XmlDescriptor.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Descriptor/XmlDescriptor.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Descriptor/XmlDescriptor.php 2026-05-20 08:22:01.000000000 +0000 @@ -79,7 +79,7 @@ return $dom; } - public function getApplicationDocument(Application $application, string $namespace = null, bool $short = false): \DOMDocument + public function getApplicationDocument(Application $application, ?string $namespace = null, bool $short = false): \DOMDocument { $dom = new \DOMDocument('1.0', 'UTF-8'); $dom->appendChild($rootXml = $dom->createElement('symfony')); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Event/ConsoleCommandEvent.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Event/ConsoleCommandEvent.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Event/ConsoleCommandEvent.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Event/ConsoleCommandEvent.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,7 +12,10 @@ namespace Symfony\Component\Console\Event; /** - * Allows to do things before the command is executed, like skipping the command or changing the input. + * Allows to do things before the command is executed, like skipping the command or executing code before the command is + * going to be executed. + * + * Changing the input arguments will have no effect. * * @author Fabien Potencier */ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Event/ConsoleErrorEvent.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Event/ConsoleErrorEvent.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Event/ConsoleErrorEvent.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Event/ConsoleErrorEvent.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ private $error; private $exitCode; - public function __construct(InputInterface $input, OutputInterface $output, \Throwable $error, Command $command = null) + public function __construct(InputInterface $input, OutputInterface $output, \Throwable $error, ?Command $command = null) { parent::__construct($command, $input, $output); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/EventListener/ErrorListener.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/EventListener/ErrorListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/EventListener/ErrorListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/EventListener/ErrorListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ { private $logger; - public function __construct(LoggerInterface $logger = null) + public function __construct(?LoggerInterface $logger = null) { $this->logger = $logger; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Exception/CommandNotFoundException.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Exception/CommandNotFoundException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Exception/CommandNotFoundException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Exception/CommandNotFoundException.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ * @param int $code Exception code * @param \Throwable|null $previous Previous exception used for the exception chaining */ - public function __construct(string $message, array $alternatives = [], int $code = 0, \Throwable $previous = null) + public function __construct(string $message, array $alternatives = [], int $code = 0, ?\Throwable $previous = null) { parent::__construct($message, $code, $previous); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Formatter/NullOutputFormatterStyle.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/NullOutputFormatterStyle.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Formatter/NullOutputFormatterStyle.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/NullOutputFormatterStyle.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,7 +27,7 @@ /** * {@inheritdoc} */ - public function setBackground(string $color = null): void + public function setBackground(?string $color = null): void { // do nothing } @@ -35,7 +35,7 @@ /** * {@inheritdoc} */ - public function setForeground(string $color = null): void + public function setForeground(?string $color = null): void { // do nothing } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatter.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatter.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,6 +13,8 @@ use Symfony\Component\Console\Exception\InvalidArgumentException; +use function Symfony\Component\String\b; + /** * Formatter class for console output. * @@ -258,7 +260,7 @@ } preg_match('~(\\n)$~', $text, $matches); - $text = $prefix.preg_replace('~([^\\n]{'.$width.'})\\ *~', "\$1\n", $text); + $text = $prefix.$this->addLineBreaks($text, $width); $text = rtrim($text, "\n").($matches[1] ?? ''); if (!$currentLineLength && '' !== $current && "\n" !== substr($current, -1)) { @@ -282,4 +284,11 @@ return implode("\n", $lines); } + + private function addLineBreaks(string $text, int $width): string + { + $encoding = mb_detect_encoding($text, null, true) ?: 'UTF-8'; + + return b($text)->toCodePointString($encoding)->wordwrap($width, "\n", true)->toByteString($encoding); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ * @param string|null $foreground The style foreground color name * @param string|null $background The style background color name */ - public function __construct(string $foreground = null, string $background = null, array $options = []) + public function __construct(?string $foreground = null, ?string $background = null, array $options = []) { $this->color = new Color($this->foreground = $foreground ?: '', $this->background = $background ?: '', $this->options = $options); } @@ -41,7 +41,7 @@ /** * {@inheritdoc} */ - public function setForeground(string $color = null) + public function setForeground(?string $color = null) { $this->color = new Color($this->foreground = $color ?: '', $this->background, $this->options); } @@ -49,7 +49,7 @@ /** * {@inheritdoc} */ - public function setBackground(string $color = null) + public function setBackground(?string $color = null) { $this->color = new Color($this->foreground, $this->background = $color ?: '', $this->options); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyleInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyleInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyleInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyleInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,12 +21,12 @@ /** * Sets style foreground color. */ - public function setForeground(string $color = null); + public function setForeground(?string $color = null); /** * Sets style background color. */ - public function setBackground(string $color = null); + public function setBackground(?string $color = null); /** * Sets some specific style option. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyleStack.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyleStack.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyleStack.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Formatter/OutputFormatterStyleStack.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ private $emptyStyle; - public function __construct(OutputFormatterStyleInterface $emptyStyle = null) + public function __construct(?OutputFormatterStyleInterface $emptyStyle = null) { $this->emptyStyle = $emptyStyle ?? new OutputFormatterStyle(); $this->reset(); @@ -55,7 +55,7 @@ * * @throws InvalidArgumentException When style tags incorrectly nested */ - public function pop(OutputFormatterStyleInterface $style = null) + public function pop(?OutputFormatterStyleInterface $style = null) { if (empty($this->styles)) { return $this->emptyStyle; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/Dumper.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/Dumper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/Dumper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/Dumper.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ private $cloner; private $handler; - public function __construct(OutputInterface $output, CliDumper $dumper = null, ClonerInterface $cloner = null) + public function __construct(OutputInterface $output, ?CliDumper $dumper = null, ?ClonerInterface $cloner = null) { $this->output = $output; $this->dumper = $dumper; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/Helper.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/Helper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/Helper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/Helper.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ /** * {@inheritdoc} */ - public function setHelperSet(HelperSet $helperSet = null) + public function setHelperSet(?HelperSet $helperSet = null) { $this->helperSet = $helperSet; } @@ -96,7 +96,7 @@ * * @return string */ - public static function substr(?string $string, int $from, int $length = null) + public static function substr(?string $string, int $from, ?int $length = null) { $string ?? $string = ''; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/HelperInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/HelperInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/HelperInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/HelperInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ /** * Sets the helper set associated with this helper. */ - public function setHelperSet(HelperSet $helperSet = null); + public function setHelperSet(?HelperSet $helperSet = null); /** * Gets the helper set associated with this helper. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/HelperSet.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/HelperSet.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/HelperSet.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/HelperSet.php 2026-05-20 08:22:01.000000000 +0000 @@ -37,7 +37,7 @@ } } - public function set(HelperInterface $helper, string $alias = null) + public function set(HelperInterface $helper, ?string $alias = null) { $this->helpers[$helper->getName()] = $helper; if (null !== $alias) { @@ -76,7 +76,7 @@ /** * @deprecated since Symfony 5.4 */ - public function setCommand(Command $command = null) + public function setCommand(?Command $command = null) { trigger_deprecation('symfony/console', '5.4', 'Method "%s()" is deprecated.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/ProcessHelper.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/ProcessHelper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/ProcessHelper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/ProcessHelper.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ * @param callable|null $callback A PHP callback to run whenever there is some * output available on STDOUT or STDERR */ - public function run(OutputInterface $output, $cmd, string $error = null, callable $callback = null, int $verbosity = OutputInterface::VERBOSITY_VERY_VERBOSE): Process + public function run(OutputInterface $output, $cmd, ?string $error = null, ?callable $callback = null, int $verbosity = OutputInterface::VERBOSITY_VERY_VERBOSE): Process { if (!class_exists(Process::class)) { throw new \LogicException('The ProcessHelper cannot be run as the Process component is not installed. Try running "compose require symfony/process".'); @@ -98,7 +98,7 @@ * * @see run() */ - public function mustRun(OutputInterface $output, $cmd, string $error = null, callable $callback = null): Process + public function mustRun(OutputInterface $output, $cmd, ?string $error = null, ?callable $callback = null): Process { $process = $this->run($output, $cmd, $error, $callback); @@ -112,7 +112,7 @@ /** * Wraps a Process callback to add debugging output. */ - public function wrapCallback(OutputInterface $output, Process $process, callable $callback = null): callable + public function wrapCallback(OutputInterface $output, Process $process, ?callable $callback = null): callable { if ($output instanceof ConsoleOutputInterface) { $output = $output->getErrorOutput(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/ProgressBar.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/ProgressBar.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/ProgressBar.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/ProgressBar.php 2026-05-20 08:22:01.000000000 +0000 @@ -169,9 +169,12 @@ $this->messages[$name] = $message; } + /** + * @return string|null + */ public function getMessage(string $name = 'message') { - return $this->messages[$name]; + return $this->messages[$name] ?? null; } public function getStartTime(): int @@ -293,7 +296,7 @@ * * @param int|null $max Number of steps to complete the bar (0 if indeterminate), if null it will be inferred from $iterable */ - public function iterate(iterable $iterable, int $max = null): iterable + public function iterate(iterable $iterable, ?int $max = null): iterable { $this->start($max ?? (is_countable($iterable) ? \count($iterable) : 0)); @@ -311,7 +314,7 @@ * * @param int|null $max Number of steps to complete the bar (0 if indeterminate), null to leave unchanged */ - public function start(int $max = null) + public function start(?int $max = null) { $this->startTime = time(); $this->step = 0; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/ProgressIndicator.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/ProgressIndicator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/ProgressIndicator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/ProgressIndicator.php 2026-05-20 08:22:01.000000000 +0000 @@ -50,7 +50,7 @@ * @param int $indicatorChangeInterval Change interval in milliseconds * @param array|null $indicatorValues Animated indicator characters */ - public function __construct(OutputInterface $output, string $format = null, int $indicatorChangeInterval = 100, array $indicatorValues = null) + public function __construct(OutputInterface $output, ?string $format = null, int $indicatorChangeInterval = 100, ?array $indicatorValues = null) { $this->output = $output; @@ -129,8 +129,6 @@ /** * Finish the indicator with message. - * - * @param $message */ public function finish(string $message) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/QuestionHelper.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/QuestionHelper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/QuestionHelper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/QuestionHelper.php 2026-05-20 08:22:01.000000000 +0000 @@ -128,7 +128,18 @@ } if (false === $ret) { + $isBlocked = stream_get_meta_data($inputStream)['blocked'] ?? true; + + if (!$isBlocked) { + stream_set_blocking($inputStream, true); + } + $ret = $this->readInput($inputStream, $question); + + if (!$isBlocked) { + stream_set_blocking($inputStream, false); + } + if (false === $ret) { throw new MissingInputException('Aborted.'); } @@ -492,21 +503,7 @@ return self::$stdinIsInteractive; } - if (\function_exists('stream_isatty')) { - return self::$stdinIsInteractive = @stream_isatty(fopen('php://stdin', 'r')); - } - - if (\function_exists('posix_isatty')) { - return self::$stdinIsInteractive = @posix_isatty(fopen('php://stdin', 'r')); - } - - if (!\function_exists('exec')) { - return self::$stdinIsInteractive = true; - } - - exec('stty 2> /dev/null', $output, $status); - - return self::$stdinIsInteractive = 1 !== $status; + return self::$stdinIsInteractive = @stream_isatty(fopen('php://stdin', 'r')); } /** diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/Table.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/Table.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/Table.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/Table.php 2026-05-20 08:22:01.000000000 +0000 @@ -451,7 +451,7 @@ * * +-----+-----------+-------+ */ - private function renderRowSeparator(int $type = self::SEPARATOR_MID, string $title = null, string $titleFormat = null) + private function renderRowSeparator(int $type = self::SEPARATOR_MID, ?string $title = null, ?string $titleFormat = null) { if (0 === $count = $this->numberOfColumns) { return; @@ -516,7 +516,7 @@ * * | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | */ - private function renderRow(array $row, string $cellFormat, string $firstCellFormat = null) + private function renderRow(array $row, string $cellFormat, ?string $firstCellFormat = null) { $rowContent = $this->renderColumnSeparator(self::BORDER_OUTSIDE); $columns = $this->getRowColumns($row); @@ -621,9 +621,10 @@ if (!strstr($cell ?? '', "\n")) { continue; } - $escaped = implode("\n", array_map([OutputFormatter::class, 'escapeTrailingBackslash'], explode("\n", $cell))); + $eol = str_contains($cell ?? '', "\r\n") ? "\r\n" : "\n"; + $escaped = implode($eol, array_map([OutputFormatter::class, 'escapeTrailingBackslash'], explode($eol, $cell))); $cell = $cell instanceof TableCell ? new TableCell($escaped, ['colspan' => $cell->getColspan()]) : $escaped; - $lines = explode("\n", str_replace("\n", "\n", $cell)); + $lines = explode($eol, str_replace($eol, ''.$eol, $cell)); foreach ($lines as $lineKey => $line) { if ($colspan > 1) { $line = new TableCell($line, ['colspan' => $colspan]); @@ -685,8 +686,9 @@ $nbLines = $cell->getRowspan() - 1; $lines = [$cell]; if (strstr($cell, "\n")) { - $lines = explode("\n", str_replace("\n", "\n", $cell)); - $nbLines = \count($lines) > $nbLines ? substr_count($cell, "\n") : $nbLines; + $eol = str_contains($cell, "\r\n") ? "\r\n" : "\n"; + $lines = explode($eol, str_replace($eol, ''.$eol.'', $cell)); + $nbLines = \count($lines) > $nbLines ? substr_count($cell, $eol) : $nbLines; $rows[$line][$column] = new TableCell($lines[0], ['colspan' => $cell->getColspan(), 'style' => $cell->getStyle()]); unset($lines[0]); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/TableStyle.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/TableStyle.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Helper/TableStyle.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Helper/TableStyle.php 2026-05-20 08:22:01.000000000 +0000 @@ -90,7 +90,7 @@ * * @return $this */ - public function setHorizontalBorderChars(string $outside, string $inside = null): self + public function setHorizontalBorderChars(string $outside, ?string $inside = null): self { $this->horizontalOutsideBorderChar = $outside; $this->horizontalInsideBorderChar = $inside ?? $outside; @@ -115,7 +115,7 @@ * * @return $this */ - public function setVerticalBorderChars(string $outside, string $inside = null): self + public function setVerticalBorderChars(string $outside, ?string $inside = null): self { $this->verticalOutsideBorderChar = $outside; $this->verticalInsideBorderChar = $inside ?? $outside; @@ -169,7 +169,7 @@ * * @return $this */ - public function setCrossingChars(string $cross, string $topLeft, string $topMid, string $topRight, string $midRight, string $bottomRight, string $bottomMid, string $bottomLeft, string $midLeft, string $topLeftBottom = null, string $topMidBottom = null, string $topRightBottom = null): self + public function setCrossingChars(string $cross, string $topLeft, string $topMid, string $topRight, string $midRight, string $bottomRight, string $bottomMid, string $bottomLeft, string $midLeft, ?string $topLeftBottom = null, ?string $topMidBottom = null, ?string $topRightBottom = null): self { $this->crossingChar = $cross; $this->crossingTopLeftChar = $topLeft; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Input/ArgvInput.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/ArgvInput.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Input/ArgvInput.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/ArgvInput.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,7 +43,7 @@ private $tokens; private $parsed; - public function __construct(array $argv = null, InputDefinition $definition = null) + public function __construct(?array $argv = null, ?InputDefinition $definition = null) { $argv = $argv ?? $_SERVER['argv'] ?? []; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Input/ArrayInput.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/ArrayInput.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Input/ArrayInput.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/ArrayInput.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,7 +27,7 @@ { private $parameters; - public function __construct(array $parameters, InputDefinition $definition = null) + public function __construct(array $parameters, ?InputDefinition $definition = null) { $this->parameters = $parameters; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Input/Input.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/Input.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Input/Input.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/Input.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ protected $arguments = []; protected $interactive = true; - public function __construct(InputDefinition $definition = null) + public function __construct(?InputDefinition $definition = null) { if (null === $definition) { $this->definition = new InputDefinition(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Input/InputArgument.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/InputArgument.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Input/InputArgument.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/InputArgument.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,13 +32,13 @@ /** * @param string $name The argument name - * @param int|null $mode The argument mode: self::REQUIRED or self::OPTIONAL + * @param int|null $mode The argument mode: a bit mask of self::REQUIRED, self::OPTIONAL and self::IS_ARRAY * @param string $description A description text * @param string|bool|int|float|array|null $default The default value (for self::OPTIONAL mode only) * * @throws InvalidArgumentException When argument mode is not valid */ - public function __construct(string $name, int $mode = null, string $description = '', $default = null) + public function __construct(string $name, ?int $mode = null, string $description = '', $default = null) { if (null === $mode) { $mode = self::OPTIONAL; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Input/InputOption.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/InputOption.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Input/InputOption.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Input/InputOption.php 2026-05-20 08:22:01.000000000 +0000 @@ -59,7 +59,7 @@ * * @throws InvalidArgumentException If option mode is invalid or incompatible */ - public function __construct(string $name, $shortcut = null, int $mode = null, string $description = '', $default = null) + public function __construct(string $name, $shortcut = null, ?int $mode = null, string $description = '', $default = null) { if (str_starts_with($name, '--')) { $name = substr($name, 2); @@ -69,7 +69,7 @@ throw new InvalidArgumentException('An option name cannot be empty.'); } - if (empty($shortcut)) { + if ('' === $shortcut || [] === $shortcut || false === $shortcut) { $shortcut = null; } @@ -78,10 +78,10 @@ $shortcut = implode('|', $shortcut); } $shortcuts = preg_split('{(\|)-?}', ltrim($shortcut, '-')); - $shortcuts = array_filter($shortcuts); + $shortcuts = array_filter($shortcuts, 'strlen'); $shortcut = implode('|', $shortcuts); - if (empty($shortcut)) { + if ('' === $shortcut) { throw new InvalidArgumentException('An option shortcut cannot be empty.'); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Output/ConsoleOutput.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/ConsoleOutput.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Output/ConsoleOutput.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/ConsoleOutput.php 2026-05-20 08:22:01.000000000 +0000 @@ -37,7 +37,7 @@ * @param bool|null $decorated Whether to decorate messages (null for auto-guessing) * @param OutputFormatterInterface|null $formatter Output formatter instance (null to use default OutputFormatter) */ - public function __construct(int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = null, OutputFormatterInterface $formatter = null) + public function __construct(int $verbosity = self::VERBOSITY_NORMAL, ?bool $decorated = null, ?OutputFormatterInterface $formatter = null) { parent::__construct($this->openOutputStream(), $verbosity, $decorated, $formatter); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Output/ConsoleSectionOutput.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/ConsoleSectionOutput.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Output/ConsoleSectionOutput.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/ConsoleSectionOutput.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,7 +43,7 @@ * * @param int $lines Number of lines to clear. If null, then the entire output of this section is cleared */ - public function clear(int $lines = null) + public function clear(?int $lines = null) { if (empty($this->content) || !$this->isDecorated()) { return; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Output/Output.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/Output.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Output/Output.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/Output.php 2026-05-20 08:22:01.000000000 +0000 @@ -37,7 +37,7 @@ * @param bool $decorated Whether to decorate messages * @param OutputFormatterInterface|null $formatter Output formatter instance (null to use default OutputFormatter) */ - public function __construct(?int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = false, OutputFormatterInterface $formatter = null) + public function __construct(?int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = false, ?OutputFormatterInterface $formatter = null) { $this->verbosity = $verbosity ?? self::VERBOSITY_NORMAL; $this->formatter = $formatter ?? new OutputFormatter(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Output/StreamOutput.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/StreamOutput.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Output/StreamOutput.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/StreamOutput.php 2026-05-20 08:22:01.000000000 +0000 @@ -39,7 +39,7 @@ * * @throws InvalidArgumentException When first argument is not a real stream */ - public function __construct($stream, int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = null, OutputFormatterInterface $formatter = null) + public function __construct($stream, int $verbosity = self::VERBOSITY_NORMAL, ?bool $decorated = null, ?OutputFormatterInterface $formatter = null) { if (!\is_resource($stream) || 'stream' !== get_resource_type($stream)) { throw new InvalidArgumentException('The StreamOutput class needs a stream as its first argument.'); @@ -64,9 +64,6 @@ return $this->stream; } - /** - * {@inheritdoc} - */ protected function doWrite(string $message, bool $newline) { if ($newline) { @@ -94,22 +91,33 @@ protected function hasColorSupport() { // Follow https://no-color.org/ - if (isset($_SERVER['NO_COLOR']) || false !== getenv('NO_COLOR')) { + if ('' !== (($_SERVER['NO_COLOR'] ?? getenv('NO_COLOR'))[0] ?? '')) { + return false; + } + + // Detect msysgit/mingw and assume this is a tty because detection + // does not work correctly, see https://github.com/composer/composer/issues/9690 + if (!@stream_isatty($this->stream) && !\in_array(strtoupper((string) getenv('MSYSTEM')), ['MINGW32', 'MINGW64'], true)) { return false; } - if ('Hyper' === getenv('TERM_PROGRAM')) { + if ('\\' === \DIRECTORY_SEPARATOR && @sapi_windows_vt100_support($this->stream)) { return true; } - if (\DIRECTORY_SEPARATOR === '\\') { - return (\function_exists('sapi_windows_vt100_support') - && @sapi_windows_vt100_support($this->stream)) - || false !== getenv('ANSICON') - || 'ON' === getenv('ConEmuANSI') - || 'xterm' === getenv('TERM'); + if ('Hyper' === getenv('TERM_PROGRAM') + || false !== getenv('COLORTERM') + || false !== getenv('ANSICON') + || 'ON' === getenv('ConEmuANSI') + ) { + return true; + } + + if ('dumb' === $term = (string) getenv('TERM')) { + return false; } - return stream_isatty($this->stream); + // See https://github.com/chalk/supports-color/blob/d4f413efaf8da045c5ab440ed418ef02dbb28bf1/index.js#L157 + return preg_match('/^((screen|xterm|vt100|vt220|putty|rxvt|ansi|cygwin|linux).*)|(.*-256(color)?(-bce)?)$/', $term); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Output/TrimmedBufferOutput.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/TrimmedBufferOutput.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Output/TrimmedBufferOutput.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Output/TrimmedBufferOutput.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,7 +24,7 @@ private $maxLength; private $buffer = ''; - public function __construct(int $maxLength, ?int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = false, OutputFormatterInterface $formatter = null) + public function __construct(int $maxLength, ?int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = false, ?OutputFormatterInterface $formatter = null) { if ($maxLength <= 0) { throw new InvalidArgumentException(sprintf('"%s()" expects a strictly positive maxLength. Got %d.', __METHOD__, $maxLength)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Question/Question.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Question/Question.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Question/Question.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Question/Question.php 2026-05-20 08:22:01.000000000 +0000 @@ -186,7 +186,7 @@ * * @return $this */ - public function setAutocompleterCallback(callable $callback = null): self + public function setAutocompleterCallback(?callable $callback = null): self { if ($this->hidden && null !== $callback) { throw new LogicException('A hidden question cannot use the autocompleter.'); @@ -202,7 +202,7 @@ * * @return $this */ - public function setValidator(callable $validator = null) + public function setValidator(?callable $validator = null) { $this->validator = $validator; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Resources/completion.bash symfony-5.4.52+dfsg/src/Symfony/Component/Console/Resources/completion.bash --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Resources/completion.bash 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Resources/completion.bash 2026-05-20 08:22:01.000000000 +0000 @@ -7,7 +7,7 @@ _sf_{{ COMMAND_NAME }}() { # Use newline as only separator to allow space in completion values - IFS=$'\n' + local IFS=$'\n' local sf_cmd="${COMP_WORDS[0]}" # for an alias, get the real script behind it diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/SingleCommandApplication.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/SingleCommandApplication.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/SingleCommandApplication.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/SingleCommandApplication.php 2026-05-20 08:22:01.000000000 +0000 @@ -46,7 +46,7 @@ return $this; } - public function run(InputInterface $input = null, OutputInterface $output = null): int + public function run(?InputInterface $input = null, ?OutputInterface $output = null): int { if ($this->running) { return parent::run($input, $output); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Style/StyleInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Style/StyleInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Style/StyleInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Style/StyleInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -85,14 +85,14 @@ * * @return mixed */ - public function ask(string $question, string $default = null, callable $validator = null); + public function ask(string $question, ?string $default = null, ?callable $validator = null); /** * Asks a question with the user input hidden. * * @return mixed */ - public function askHidden(string $question, callable $validator = null); + public function askHidden(string $question, ?callable $validator = null); /** * Asks for confirmation. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Style/SymfonyStyle.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Style/SymfonyStyle.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Style/SymfonyStyle.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Style/SymfonyStyle.php 2026-05-20 08:22:01.000000000 +0000 @@ -61,7 +61,7 @@ * * @param string|array $messages The message to write in the block */ - public function block($messages, string $type = null, string $style = null, string $prefix = ' ', bool $padding = false, bool $escape = true) + public function block($messages, ?string $type = null, ?string $style = null, string $prefix = ' ', bool $padding = false, bool $escape = true) { $messages = \is_array($messages) ? array_values($messages) : [$messages]; @@ -250,7 +250,7 @@ /** * {@inheritdoc} */ - public function ask(string $question, string $default = null, callable $validator = null) + public function ask(string $question, ?string $default = null, ?callable $validator = null) { $question = new Question($question, $default); $question->setValidator($validator); @@ -261,7 +261,7 @@ /** * {@inheritdoc} */ - public function askHidden(string $question, callable $validator = null) + public function askHidden(string $question, ?callable $validator = null) { $question = new Question($question); @@ -338,7 +338,7 @@ /** * @see ProgressBar::iterate() */ - public function progressIterate(iterable $iterable, int $max = null): iterable + public function progressIterate(iterable $iterable, ?int $max = null): iterable { yield from $this->createProgressBar()->iterate($iterable, $max); @@ -463,7 +463,7 @@ $this->bufferedOutput->write($message, $newLine, $type); } - private function createBlock(iterable $messages, string $type = null, string $style = null, string $prefix = ' ', bool $padding = false, bool $escape = false): array + private function createBlock(iterable $messages, ?string $type = null, ?string $style = null, string $prefix = ' ', bool $padding = false, bool $escape = false): array { $indentLength = 0; $prefixLength = Helper::width(Helper::removeDecoration($this->getFormatter(), $prefix)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Terminal.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Terminal.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Terminal.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Terminal.php 2026-05-20 08:22:01.000000000 +0000 @@ -64,14 +64,12 @@ return self::$stty; } - // skip check if exec function is disabled - if (!\function_exists('exec')) { + // skip check if shell_exec function is disabled + if (!\function_exists('shell_exec')) { return false; } - exec('stty 2>&1', $output, $exitcode); - - return self::$stty = 0 === $exitcode; + return self::$stty = (bool) shell_exec('stty 2> '.('\\' === \DIRECTORY_SEPARATOR ? 'NUL' : '/dev/null')); } private static function initDimensions() @@ -160,8 +158,7 @@ $cp = \function_exists('sapi_windows_cp_set') ? sapi_windows_cp_get() : 0; - $process = proc_open($command, $descriptorspec, $pipes, null, null, ['suppress_errors' => true]); - if (!\is_resource($process)) { + if (!$process = @proc_open($command, $descriptorspec, $pipes, null, null, ['suppress_errors' => true])) { return null; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/ApplicationTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/ApplicationTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/ApplicationTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/ApplicationTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -41,6 +41,7 @@ use Symfony\Component\Console\SignalRegistry\SignalRegistry; use Symfony\Component\Console\Terminal; use Symfony\Component\Console\Tester\ApplicationTester; +use Symfony\Component\Console\Tests\Fixtures\MockableAppliationWithTerminalWidth; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\EventDispatcherInterface; @@ -876,7 +877,9 @@ public function testRenderExceptionLineBreaks() { - $application = $this->getMockBuilder(Application::class)->addMethods(['getTerminalWidth'])->getMock(); + $application = $this->getMockBuilder(MockableAppliationWithTerminalWidth::class) + ->onlyMethods(['getTerminalWidth']) + ->getMock(); $application->setAutoExit(false); $application->expects($this->any()) ->method('getTerminalWidth') @@ -1536,7 +1539,7 @@ $tester = new ApplicationTester($application); $tester->run(['command' => 'dym']); - $this->assertStringContainsString('before.dym.error.after.', $tester->getDisplay(), 'The PHP Error did not dispached events'); + $this->assertStringContainsString('before.dym.error.after.', $tester->getDisplay(), 'The PHP error did not dispatch events'); } public function testRunDispatchesAllEventsWithError() @@ -1553,7 +1556,7 @@ $tester = new ApplicationTester($application); $tester->run(['command' => 'dym']); - $this->assertStringContainsString('before.dym.error.after.', $tester->getDisplay(), 'The PHP Error did not dispached events'); + $this->assertStringContainsString('before.dym.error.after.', $tester->getDisplay(), 'The PHP error did not dispatch events'); } public function testRunWithErrorFailingStatusCode() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/CI/GithubActionReporterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/CI/GithubActionReporterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/CI/GithubActionReporterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/CI/GithubActionReporterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,7 +34,7 @@ /** * @dataProvider annotationsFormatProvider */ - public function testAnnotationsFormat(string $type, string $message, string $file = null, int $line = null, int $col = null, string $expected) + public function testAnnotationsFormat(string $type, string $message, ?string $file, ?int $line, ?int $col, string $expected) { $reporter = new GithubActionReporter($buffer = new BufferedOutput()); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Completion/CompletionInputTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Completion/CompletionInputTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Completion/CompletionInputTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Completion/CompletionInputTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -133,4 +133,19 @@ yield ['bin/console cache:clear "multi word string"', ['bin/console', 'cache:clear', '"multi word string"']]; yield ['bin/console cache:clear \'multi word string\'', ['bin/console', 'cache:clear', '\'multi word string\'']]; } + + public function testToString() + { + $input = CompletionInput::fromTokens(['foo', 'bar', 'baz'], 0); + $this->assertSame('foo| bar baz', (string) $input); + + $input = CompletionInput::fromTokens(['foo', 'bar', 'baz'], 1); + $this->assertSame('foo bar| baz', (string) $input); + + $input = CompletionInput::fromTokens(['foo', 'bar', 'baz'], 2); + $this->assertSame('foo bar baz|', (string) $input); + + $input = CompletionInput::fromTokens(['foo', 'bar', 'baz'], 11); + $this->assertSame('foo bar baz |', (string) $input); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Fixtures/MockableAppliationWithTerminalWidth.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Fixtures/MockableAppliationWithTerminalWidth.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Fixtures/MockableAppliationWithTerminalWidth.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Fixtures/MockableAppliationWithTerminalWidth.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,22 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Console\Tests\Fixtures; + +use Symfony\Component\Console\Application; + +class MockableAppliationWithTerminalWidth extends Application +{ + public function getTerminalWidth(): int + { + return 0; + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -162,7 +162,7 @@ /** * @dataProvider provideInlineStyleOptionsCases */ - public function testInlineStyleOptions(string $tag, string $expected = null, string $input = null, bool $truecolor = false) + public function testInlineStyleOptions(string $tag, ?string $expected = null, ?string $input = null, bool $truecolor = false) { if ($truecolor && 'truecolor' !== getenv('COLORTERM')) { $this->markTestSkipped('The terminal does not support true colors.'); @@ -200,7 +200,7 @@ ]; } - public function provideInlineStyleTagsWithUnknownOptions() + public static function provideInlineStyleTagsWithUnknownOptions() { return [ ['', 'abc'], @@ -367,10 +367,10 @@ $formatter = new OutputFormatter(true); $this->assertSame("fo\no\e[37;41mb\e[39;49m\n\e[37;41mar\e[39;49m\nba\nz", $formatter->formatAndWrap('foobar baz', 2)); - $this->assertSame("pr\ne \e[37;41m\e[39;49m\n\e[37;41mfo\e[39;49m\n\e[37;41mo \e[39;49m\n\e[37;41mba\e[39;49m\n\e[37;41mr \e[39;49m\n\e[37;41mba\e[39;49m\n\e[37;41mz\e[39;49m \npo\nst", $formatter->formatAndWrap('pre foo bar baz post', 2)); + $this->assertSame("pr\ne \e[37;41m\e[39;49m\n\e[37;41mfo\e[39;49m\n\e[37;41mo\e[39;49m\n\e[37;41mba\e[39;49m\n\e[37;41mr\e[39;49m\n\e[37;41mba\e[39;49m\n\e[37;41mz\e[39;49m \npo\nst", $formatter->formatAndWrap('pre foo bar baz post', 2)); $this->assertSame("pre\e[37;41m\e[39;49m\n\e[37;41mfoo\e[39;49m\n\e[37;41mbar\e[39;49m\n\e[37;41mbaz\e[39;49m\npos\nt", $formatter->formatAndWrap('pre foo bar baz post', 3)); - $this->assertSame("pre \e[37;41m\e[39;49m\n\e[37;41mfoo \e[39;49m\n\e[37;41mbar \e[39;49m\n\e[37;41mbaz\e[39;49m \npost", $formatter->formatAndWrap('pre foo bar baz post', 4)); - $this->assertSame("pre \e[37;41mf\e[39;49m\n\e[37;41moo ba\e[39;49m\n\e[37;41mr baz\e[39;49m\npost", $formatter->formatAndWrap('pre foo bar baz post', 5)); + $this->assertSame("pre \e[37;41m\e[39;49m\n\e[37;41mfoo\e[39;49m\n\e[37;41mbar\e[39;49m\n\e[37;41mbaz\e[39;49m \npost", $formatter->formatAndWrap('pre foo bar baz post', 4)); + $this->assertSame("pre \e[37;41mf\e[39;49m\n\e[37;41moo\e[39;49m\n\e[37;41mbar\e[39;49m\n\e[37;41mbaz\e[39;49m p\nost", $formatter->formatAndWrap('pre foo bar baz post', 5)); $this->assertSame("Lore\nm \e[37;41mip\e[39;49m\n\e[37;41msum\e[39;49m \ndolo\nr \e[32msi\e[39m\n\e[32mt\e[39m am\net", $formatter->formatAndWrap('Lorem ipsum dolor sit amet', 4)); $this->assertSame("Lorem \e[37;41mip\e[39;49m\n\e[37;41msum\e[39;49m dolo\nr \e[32msit\e[39m am\net", $formatter->formatAndWrap('Lorem ipsum dolor sit amet', 8)); $this->assertSame("Lorem \e[37;41mipsum\e[39;49m dolor \e[32m\e[39m\n\e[32msit\e[39m, \e[37;41mamet\e[39;49m et \e[32mlauda\e[39m\n\e[32mntium\e[39m architecto", $formatter->formatAndWrap('Lorem ipsum dolor sit, amet et laudantium architecto', 18)); @@ -378,10 +378,12 @@ $formatter = new OutputFormatter(); $this->assertSame("fo\nob\nar\nba\nz", $formatter->formatAndWrap('foobar baz', 2)); - $this->assertSame("pr\ne \nfo\no \nba\nr \nba\nz \npo\nst", $formatter->formatAndWrap('pre foo bar baz post', 2)); + $this->assertSame("pr\ne \nfo\no\nba\nr\nba\nz \npo\nst", $formatter->formatAndWrap('pre foo bar baz post', 2)); $this->assertSame("pre\nfoo\nbar\nbaz\npos\nt", $formatter->formatAndWrap('pre foo bar baz post', 3)); - $this->assertSame("pre \nfoo \nbar \nbaz \npost", $formatter->formatAndWrap('pre foo bar baz post', 4)); - $this->assertSame("pre f\noo ba\nr baz\npost", $formatter->formatAndWrap('pre foo bar baz post', 5)); + $this->assertSame("pre \nfoo\nbar\nbaz \npost", $formatter->formatAndWrap('pre foo bar baz post', 4)); + $this->assertSame("pre f\noo\nbar\nbaz p\nost", $formatter->formatAndWrap('pre foo bar baz post', 5)); + $this->assertSame("Â rèälly\nlöng tîtlè\nthät cöüld\nnèêd\nmúltîplê\nlínès", $formatter->formatAndWrap('Â rèälly löng tîtlè thät cöüld nèêd múltîplê línès', 10)); + $this->assertSame("Â rèälly\nlöng tîtlè\nthät cöüld\nnèêd\nmúltîplê\n línès", $formatter->formatAndWrap("Â rèälly löng tîtlè thät cöüld nèêd múltîplê\n línès", 10)); $this->assertSame('', $formatter->formatAndWrap(null, 5)); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Helper/HelperSetTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Helper/HelperSetTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Helper/HelperSetTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Helper/HelperSetTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -117,7 +117,7 @@ } } - private function getGenericMockHelper($name, HelperSet $helperset = null) + private function getGenericMockHelper($name, ?HelperSet $helperset = null) { $mock_helper = $this->createMock(HelperInterface::class); $mock_helper->expects($this->any()) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -1173,4 +1173,11 @@ stream_get_contents($output->getStream()) ); } + + public function testGetNotSetMessage() + { + $progressBar = new ProgressBar($this->getOutputStream()); + + $this->assertNull($progressBar->getMessage()); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -430,7 +430,7 @@ $this->assertEquals('8AM', $dialog->ask($this->createStreamableInputInterfaceMock($this->getInputStream("8AM\n")), $this->createOutputInterface(), $question)); } - public function testAskHiddenResponseTrimmed() + public function testAskHiddenResponseNotTrimmed() { if ('\\' === \DIRECTORY_SEPARATOR) { $this->markTestSkipped('This test is not supported on Windows'); @@ -442,7 +442,7 @@ $question->setHidden(true); $question->setTrimmable(false); - $this->assertEquals(' 8AM', $dialog->ask($this->createStreamableInputInterfaceMock($this->getInputStream(' 8AM')), $this->createOutputInterface(), $question)); + $this->assertEquals(' 8AM'.\PHP_EOL, $dialog->ask($this->createStreamableInputInterfaceMock($this->getInputStream(' 8AM'.\PHP_EOL)), $this->createOutputInterface(), $question)); } public function testAskMultilineResponseWithEOF() @@ -914,6 +914,10 @@ public function testAutocompleteMoveCursorBackwards() { + if (!Terminal::hasSttyAvailable()) { + $this->markTestSkipped('`stty` is required to test autocomplete functionality'); + } + // F $inputStream = $this->getInputStream("F\t\177\177\177"); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Helper/TableTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Helper/TableTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Helper/TableTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Helper/TableTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -102,7 +102,7 @@ ['ISBN', 'Title', 'Author'], $books, 'default', -<<<'TABLE' + <<<'TABLE' +---------------+--------------------------+------------------+ | ISBN | Title | Author | +---------------+--------------------------+------------------+ @@ -118,30 +118,30 @@ ['ISBN', 'Title', 'Author'], $books, 'compact', -<<<'TABLE' -ISBN Title Author -99921-58-10-7 Divine Comedy Dante Alighieri -9971-5-0210-0 A Tale of Two Cities Charles Dickens -960-425-059-0 The Lord of the Rings J. R. R. Tolkien -80-902734-1-6 And Then There Were None Agatha Christie - -TABLE + implode("\n", [ + 'ISBN Title Author ', + '99921-58-10-7 Divine Comedy Dante Alighieri ', + '9971-5-0210-0 A Tale of Two Cities Charles Dickens ', + '960-425-059-0 The Lord of the Rings J. R. R. Tolkien ', + '80-902734-1-6 And Then There Were None Agatha Christie ', + '', + ]), ], [ ['ISBN', 'Title', 'Author'], $books, 'borderless', -<<<'TABLE' - =============== ========================== ================== - ISBN Title Author - =============== ========================== ================== - 99921-58-10-7 Divine Comedy Dante Alighieri - 9971-5-0210-0 A Tale of Two Cities Charles Dickens - 960-425-059-0 The Lord of the Rings J. R. R. Tolkien - 80-902734-1-6 And Then There Were None Agatha Christie - =============== ========================== ================== - -TABLE + implode("\n", [ + ' =============== ========================== ================== ', + ' ISBN Title Author ', + ' =============== ========================== ================== ', + ' 99921-58-10-7 Divine Comedy Dante Alighieri ', + ' 9971-5-0210-0 A Tale of Two Cities Charles Dickens ', + ' 960-425-059-0 The Lord of the Rings J. R. R. Tolkien ', + ' 80-902734-1-6 And Then There Were None Agatha Christie ', + ' =============== ========================== ================== ', + '', + ]), ], [ ['ISBN', 'Title', 'Author'], @@ -191,7 +191,7 @@ ['80-902734-1-6', 'And Then There Were None', 'Agatha Christie'], ], 'default', -<<<'TABLE' + <<<'TABLE' +---------------+--------------------------+------------------+ | ISBN | Title | | +---------------+--------------------------+------------------+ @@ -212,7 +212,7 @@ ['80-902734-1-6', 'And Then There Were None', 'Agatha Christie'], ], 'default', -<<<'TABLE' + <<<'TABLE' +---------------+--------------------------+------------------+ | 99921-58-10-7 | Divine Comedy | Dante Alighieri | | 9971-5-0210-0 | | | @@ -231,7 +231,7 @@ ['960-425-059-0', 'The Lord of the Rings', "J. R. R.\nTolkien"], ], 'default', -<<<'TABLE' + <<<'TABLE' +---------------+----------------------------+-----------------+ | ISBN | Title | Author | +---------------+----------------------------+-----------------+ @@ -251,7 +251,7 @@ ['ISBN', 'Title'], [], 'default', -<<<'TABLE' + <<<'TABLE' +------+-------+ | ISBN | Title | +------+-------+ @@ -271,7 +271,7 @@ ['9971-5-0210-0', 'A Tale of Two Cities', 'Charles Dickens'], ], 'default', -<<<'TABLE' + <<<'TABLE' +---------------+----------------------+-----------------+ | ISBN | Title | Author | +---------------+----------------------+-----------------+ @@ -288,7 +288,7 @@ ['9971-5-0210-0', 'A Tale of Two Cities', 'Charles Dickens'], ], 'default', -<<<'TABLE' + <<<'TABLE' +----------------------------------+----------------------+-----------------+ | ISBN | Title | Author | +----------------------------------+----------------------+-----------------+ @@ -320,7 +320,7 @@ ], ], 'default', -<<<'TABLE' + <<<'TABLE' +-------------------------------+-------------------------------+-----------------------------+ | ISBN | Title | Author | +-------------------------------+-------------------------------+-----------------------------+ @@ -347,7 +347,7 @@ ], ], 'default', -<<<'TABLE' + <<<'TABLE' +-----+-----+-----+ | Foo | Bar | Baz | +-----+-----+-----+ @@ -366,7 +366,7 @@ ], ], 'default', -<<<'TABLE' + <<<'TABLE' +-----+-----+------+ | Foo | Bar | Baz | +-----+-----+------+ @@ -392,7 +392,7 @@ ['80-902734-1-7', 'Test'], ], 'default', -<<<'TABLE' + <<<'TABLE' +---------------+---------------+-----------------+ | ISBN | Title | Author | +---------------+---------------+-----------------+ @@ -425,7 +425,7 @@ ['J. R. R'], ], 'default', -<<<'TABLE' + <<<'TABLE' +------------------+---------+-----------------+ | ISBN | Title | Author | +------------------+---------+-----------------+ @@ -460,7 +460,7 @@ ], ], 'default', -<<<'TABLE' + <<<'TABLE' +-----------------+-------+-----------------+ | ISBN | Title | Author | +-----------------+-------+-----------------+ @@ -497,7 +497,7 @@ ['Charles Dickens'], ], 'default', -<<<'TABLE' + <<<'TABLE' +-----------------+-------+-----------------+ | ISBN | Title | Author | +-----------------+-------+-----------------+ @@ -524,7 +524,7 @@ ['Charles Dickens'], ], 'default', -<<<'TABLE' + <<<'TABLE' +---------------+-----------------+ | ISBN | Author | +---------------+-----------------+ @@ -542,7 +542,7 @@ ], [], 'default', -<<<'TABLE' + <<<'TABLE' +------+-------+--------+ | Main title | +------+-------+--------+ @@ -560,9 +560,9 @@ new TableCell('3', ['colspan' => 2]), new TableCell('4', ['colspan' => 2]), ], - ], + ], 'default', -<<<'TABLE' + <<<'TABLE' +---+--+--+---+--+---+--+---+--+ | 1 | 2 | 3 | 4 | +---+--+--+---+--+---+--+---+--+ @@ -595,7 +595,7 @@ +-----------------+------------------+---------+ TABLE - , + , true, ], 'Row with formatted cells containing a newline' => [ @@ -607,7 +607,7 @@ new TableSeparator(), [ 'foo', - new TableCell('Dont break'."\n".'here', ['rowspan' => 2]), + new TableCell('Dont break'."\n".'here', ['rowspan' => 2]), ], [ 'bar', @@ -624,77 +624,77 @@ +-------+------------+ TABLE - , + , true, ], 'TabeCellStyle with align. Also with rowspan and colspan > 1' => [ - [ - new TableCell( - 'ISBN', - [ - 'style' => new TableCellStyle([ - 'align' => 'right', - ]), - ] - ), - 'Title', - new TableCell( - 'Author', - [ - 'style' => new TableCellStyle([ - 'align' => 'center', - ]), - ] - ), - ], - [ - [ - new TableCell( - '978', - [ - 'style' => new TableCellStyle([ - 'align' => 'center', - ]), - ] - ), - 'De Monarchia', - new TableCell( - "Dante Alighieri \nspans multiple rows rows Dante Alighieri \nspans multiple rows rows", - [ - 'rowspan' => 2, - 'style' => new TableCellStyle([ - 'align' => 'center', - ]), - ] - ), - ], - [ - '99921-58-10-7', - 'Divine Comedy', - ], - new TableSeparator(), - [ - new TableCell( - 'test', - [ - 'colspan' => 2, - 'style' => new TableCellStyle([ - 'align' => 'center', - ]), - ] - ), - new TableCell( - 'tttt', - [ - 'style' => new TableCellStyle([ - 'align' => 'right', - ]), - ] - ), - ], - ], - 'default', -<<<'TABLE' + [ + new TableCell( + 'ISBN', + [ + 'style' => new TableCellStyle([ + 'align' => 'right', + ]), + ] + ), + 'Title', + new TableCell( + 'Author', + [ + 'style' => new TableCellStyle([ + 'align' => 'center', + ]), + ] + ), + ], + [ + [ + new TableCell( + '978', + [ + 'style' => new TableCellStyle([ + 'align' => 'center', + ]), + ] + ), + 'De Monarchia', + new TableCell( + "Dante Alighieri \nspans multiple rows rows Dante Alighieri \nspans multiple rows rows", + [ + 'rowspan' => 2, + 'style' => new TableCellStyle([ + 'align' => 'center', + ]), + ] + ), + ], + [ + '99921-58-10-7', + 'Divine Comedy', + ], + new TableSeparator(), + [ + new TableCell( + 'test', + [ + 'colspan' => 2, + 'style' => new TableCellStyle([ + 'align' => 'center', + ]), + ] + ), + new TableCell( + 'tttt', + [ + 'style' => new TableCellStyle([ + 'align' => 'right', + ]), + ] + ), + ], + ], + 'default', + <<<'TABLE' +---------------+---------------+-------------------------------------------+ | ISBN | Title | Author | +---------------+---------------+-------------------------------------------+ @@ -706,66 +706,66 @@ +---------------+---------------+-------------------------------------------+ TABLE - , - ], + , + ], 'TabeCellStyle with fg,bg. Also with rowspan and colspan > 1' => [ [], [ - [ - new TableCell( - '978', - [ - 'style' => new TableCellStyle([ - 'fg' => 'black', - 'bg' => 'green', - ]), - ] - ), - 'De Monarchia', - new TableCell( - "Dante Alighieri \nspans multiple rows rows Dante Alighieri \nspans multiple rows rows", - [ - 'rowspan' => 2, - 'style' => new TableCellStyle([ - 'fg' => 'red', - 'bg' => 'green', - 'align' => 'center', - ]), - ] - ), - ], - - [ - '99921-58-10-7', - 'Divine Comedy', - ], - new TableSeparator(), - [ - new TableCell( - 'test', - [ - 'colspan' => 2, - 'style' => new TableCellStyle([ - 'fg' => 'red', - 'bg' => 'green', - 'align' => 'center', - ]), - ] - ), - new TableCell( - 'tttt', - [ - 'style' => new TableCellStyle([ - 'fg' => 'red', - 'bg' => 'green', - 'align' => 'right', - ]), - ] - ), - ], + [ + new TableCell( + '978', + [ + 'style' => new TableCellStyle([ + 'fg' => 'black', + 'bg' => 'green', + ]), + ] + ), + 'De Monarchia', + new TableCell( + "Dante Alighieri \nspans multiple rows rows Dante Alighieri \nspans multiple rows rows", + [ + 'rowspan' => 2, + 'style' => new TableCellStyle([ + 'fg' => 'red', + 'bg' => 'green', + 'align' => 'center', + ]), + ] + ), + ], + + [ + '99921-58-10-7', + 'Divine Comedy', + ], + new TableSeparator(), + [ + new TableCell( + 'test', + [ + 'colspan' => 2, + 'style' => new TableCellStyle([ + 'fg' => 'red', + 'bg' => 'green', + 'align' => 'center', + ]), + ] + ), + new TableCell( + 'tttt', + [ + 'style' => new TableCellStyle([ + 'fg' => 'red', + 'bg' => 'green', + 'align' => 'right', + ]), + ] + ), + ], ], 'default', -<<<'TABLE' + <<<'TABLE' +---------------+---------------+-------------------------------------------+ | 978 | De Monarchia | Dante Alighieri | | 99921-58-10-7 | Divine Comedy | spans multiple rows rows Dante Alighieri | @@ -775,9 +775,9 @@ +---------------+---------------+-------------------------------------------+ TABLE - , - true, - ], + , + true, + ], 'TabeCellStyle with cellFormat. Also with rowspan and colspan > 1' => [ [ new TableCell( @@ -820,7 +820,7 @@ ], ], 'default', -<<<'TABLE' + <<<'TABLE' +----------------+---------------+---------------------+ | ISBN | Title | Author | +----------------+---------------+---------------------+ @@ -832,7 +832,7 @@ TABLE , true, - ], + ], ]; } @@ -1017,15 +1017,16 @@ public function testThrowsWhenTheCellInAnArray() { - $this->expectException(InvalidArgumentException::class); - $this->expectExceptionMessage('A cell must be a TableCell, a scalar or an object implementing "__toString()", "array" given.'); - $table = new Table($output = $this->getOutputStream()); + $table = new Table($this->getOutputStream()); $table ->setHeaders(['ISBN', 'Title', 'Author', 'Price']) ->setRows([ ['99921-58-10-7', [], 'Dante Alighieri', '9.95'], ]); + $this->expectException(InvalidArgumentException::class); + $this->expectExceptionMessage('A cell must be a TableCell, a scalar or an object implementing "__toString()", "array" given.'); + $table->render(); } @@ -1288,7 +1289,7 @@ TABLE , true, - ], + ], 'header contains multiple lines' => [ 'Multiline'."\n".'header'."\n".'here', 'footer', @@ -1378,12 +1379,14 @@ $expected = <<
LocaleLocaleFallback localeDomainDomain Times used Message ID Message Preview
{{ message.locale }}{{ message.fallbackLocale|default('-') }}
setColumnMaxWidth(1, 15); $table->setColumnMaxWidth(2, 15); $table->setRows([ - [new TableCell('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor', ['colspan' => 3])], - new TableSeparator(), - [new TableCell('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor', ['colspan' => 3])], - new TableSeparator(), - [new TableCell('Lorem ipsum dolor sit amet, consectetur ', ['colspan' => 2]), 'hello world'], - new TableSeparator(), - ['hello world', new TableCell('Lorem ipsum dolor sit amet, consectetur adipiscing elit', ['colspan' => 2])], - new TableSeparator(), - ['hello ', new TableCell('world', ['colspan' => 1]), 'Lorem ipsum dolor sit amet, consectetur'], - new TableSeparator(), - ['Symfony ', new TableCell('Test', ['colspan' => 1]), 'Lorem ipsum dolor sit amet, consectetur'], - ]) + [new TableCell('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor', ['colspan' => 3])], + new TableSeparator(), + [new TableCell('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor', ['colspan' => 3])], + new TableSeparator(), + [new TableCell('Lorem ipsum dolor sit amet, consectetur ', ['colspan' => 2]), 'hello world'], + new TableSeparator(), + ['hello world', new TableCell('Lorem ipsum dolor sit amet, consectetur adipiscing elit', ['colspan' => 2])], + new TableSeparator(), + ['hello ', new TableCell('world', ['colspan' => 1]), 'Lorem ipsum dolor sit amet, consectetur'], + new TableSeparator(), + ['Symfony ', new TableCell('Test', ['colspan' => 1]), 'Lorem ipsum dolor sit amet, consectetur'], + ]) ; $table->render(); @@ -1577,8 +1580,8 @@ | Lorem ipsum dolor sit amet, consectetur adipi | | scing elit, sed do eiusmod tempor | +-----------------+-----------------+-----------------+ -| Lorem ipsum dolor sit amet, consectetur adipi | -| scing elit, sed do eiusmod tempor | +| Lorem ipsum dolor sit amet, consectetur | +| adipiscing elit, sed do eiusmod tempor | +-----------------+-----------------+-----------------+ | Lorem ipsum dolor sit amet, co | hello world | | nsectetur | | @@ -1586,13 +1589,13 @@ | hello world | Lorem ipsum dolor sit amet, co | | | nsectetur adipiscing elit | +-----------------+-----------------+-----------------+ -| hello | world | Lorem ipsum dol | -| | | or sit amet, co | -| | | nsectetur | +| hello | world | Lorem ipsum | +| | | dolor sit amet, | +| | | consectetur | +-----------------+-----------------+-----------------+ | Symfony | Test | Lorem ipsum dol | -| | | or sit amet, co | -| | | nsectetur | +| | | or sit amet, | +| | | consectetur | +-----------------+-----------------+-----------------+ TABLE; @@ -1614,8 +1617,9 @@ $expected = <<
assertEquals('f|ff|fff', $option->getShortcut(), '__construct() removes the leading - of the shortcuts'); $option = new InputOption('foo'); $this->assertNull($option->getShortcut(), '__construct() makes the shortcut null by default'); + $option = new InputOption('foo', ''); + $this->assertNull($option->getShortcut(), '__construct() makes the shortcut null when given an empty string'); + $option = new InputOption('foo', []); + $this->assertNull($option->getShortcut(), '__construct() makes the shortcut null when given an empty array'); + $option = new InputOption('foo', ['f', '', 'fff']); + $this->assertEquals('f|fff', $option->getShortcut(), '__construct() removes empty shortcuts'); + $option = new InputOption('foo', 'f||fff'); + $this->assertEquals('f|fff', $option->getShortcut(), '__construct() removes empty shortcuts'); + $option = new InputOption('foo', '0'); + $this->assertEquals('0', $option->getShortcut(), '-0 is an acceptable shortcut value'); + $option = new InputOption('foo', ['0', 'z']); + $this->assertEquals('0|z', $option->getShortcut(), '-0 is an acceptable shortcut value when embedded in an array'); + $option = new InputOption('foo', '0|z'); + $this->assertEquals('0|z', $option->getShortcut(), '-0 is an acceptable shortcut value when embedded in a string-list'); + $option = new InputOption('foo', false); + $this->assertNull($option->getShortcut(), '__construct() makes the shortcut null when given a false as value'); } public function testModes() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Question/QuestionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Question/QuestionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/Question/QuestionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/Question/QuestionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -157,7 +157,7 @@ public function testSetAutocompleterValuesWithTraversable() { $question1 = new Question('Test question 1'); - $iterator1 = $this->getMockForAbstractClass(\IteratorAggregate::class); + $iterator1 = $this->createMock(\IteratorAggregate::class); $iterator1 ->expects($this->once()) ->method('getIterator') @@ -165,7 +165,7 @@ $question1->setAutocompleterValues($iterator1); $question2 = new Question('Test question 2'); - $iterator2 = $this->getMockForAbstractClass(\IteratorAggregate::class); + $iterator2 = $this->createMock(\IteratorAggregate::class); $iterator2 ->expects($this->once()) ->method('getIterator') diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/TerminalTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/TerminalTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Console/Tests/TerminalTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Console/Tests/TerminalTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -41,7 +41,7 @@ foreach (['height', 'width', 'stty'] as $name) { $property = new \ReflectionProperty(Terminal::class, $name); $property->setAccessible(true); - $property->setValue(null); + $property->setValue(null, null); } } @@ -77,8 +77,8 @@ $this->markTestSkipped('Must be on windows'); } - $sttyString = exec('(stty -a | grep columns) 2>&1', $output, $exitcode); - if (0 !== $exitcode) { + $sttyString = shell_exec('(stty -a | grep columns) 2> NUL'); + if (!$sttyString) { $this->markTestSkipped('Must have stty support'); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/Node/ElementNode.php symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Node/ElementNode.php --- symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/Node/ElementNode.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Node/ElementNode.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ private $namespace; private $element; - public function __construct(string $namespace = null, string $element = null) + public function __construct(?string $namespace = null, ?string $element = null) { $this->namespace = $namespace; $this->element = $element; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/Node/SelectorNode.php symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Node/SelectorNode.php --- symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/Node/SelectorNode.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Node/SelectorNode.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ private $tree; private $pseudoElement; - public function __construct(NodeInterface $tree, string $pseudoElement = null) + public function __construct(NodeInterface $tree, ?string $pseudoElement = null) { $this->tree = $tree; $this->pseudoElement = $pseudoElement ? strtolower($pseudoElement) : null; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/Parser/Parser.php symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Parser/Parser.php --- symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/Parser/Parser.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Parser/Parser.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ { private $tokenizer; - public function __construct(Tokenizer $tokenizer = null) + public function __construct(?Tokenizer $tokenizer = null) { $this->tokenizer = $tokenizer ?? new Tokenizer(); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/Tests/XPath/Fixtures/ids.html symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Tests/XPath/Fixtures/ids.html --- symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/Tests/XPath/Fixtures/ids.html 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Tests/XPath/Fixtures/ids.html 2026-05-20 08:22:01.000000000 +0000 @@ -45,4 +45,8 @@
- +
+ +
+ + diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -114,7 +114,7 @@ $document->loadHTMLFile(__DIR__.'/Fixtures/ids.html'); $document = simplexml_import_dom($document); $elements = $document->xpath($translator->cssToXPath($css)); - $this->assertCount(\count($elementsId), $elementsId); + $this->assertCount(\count($elementsId), $elements); foreach ($elements as $element) { if (null !== $element->attributes()->id) { $this->assertContains((string) $element->attributes()->id, $elementsId); @@ -302,14 +302,14 @@ ['li:nth-last-child(-n+1)', ['seventh-li']], ['li:nth-last-child(-n+3)', ['fifth-li', 'sixth-li', 'seventh-li']], ['ol:first-of-type', ['first-ol']], - ['ol:nth-child(1)', ['first-ol']], + ['ol:nth-child(4)', ['first-ol']], ['ol:nth-of-type(2)', ['second-ol']], ['ol:nth-last-of-type(1)', ['second-ol']], - ['span:only-child', ['foobar-span']], + ['span:only-child', ['foobar-span', 'no-siblings-of-any-type']], ['li div:only-child', ['li-div']], ['div *:only-child', ['li-div', 'foobar-span']], ['p:only-of-type', ['paragraph']], - [':only-of-type', ['html', 'li-div', 'foobar-span', 'paragraph']], + [':only-of-type', ['html', 'li-div', 'foobar-span', 'no-siblings-of-any-type']], ['div#foobar-div :only-of-type', ['foobar-span']], ['a:empty', ['name-anchor']], ['a:EMpty', ['name-anchor']], @@ -318,8 +318,8 @@ ['html:root', ['html']], ['li:root', []], ['* :root', []], - ['*:contains("link")', ['html', 'outer-div', 'tag-anchor', 'nofollow-anchor']], - [':CONtains("link")', ['html', 'outer-div', 'tag-anchor', 'nofollow-anchor']], + ['*:contains("link")', ['html', 'nil', 'outer-div', 'tag-anchor', 'nofollow-anchor']], + [':CONtains("link")', ['html', 'nil', 'outer-div', 'tag-anchor', 'nofollow-anchor']], ['*:contains("LInk")', []], // case sensitive ['*:contains("e")', ['html', 'nil', 'outer-div', 'first-ol', 'first-li', 'paragraph', 'p-em']], ['*:contains("E")', []], // case-sensitive diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/XPath/Translator.php symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/XPath/Translator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/CssSelector/XPath/Translator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/CssSelector/XPath/Translator.php 2026-05-20 08:22:01.000000000 +0000 @@ -48,7 +48,7 @@ private $pseudoClassTranslators = []; private $attributeMatchingTranslators = []; - public function __construct(ParserInterface $parser = null) + public function __construct(?ParserInterface $parser = null) { $this->mainParser = $parser ?? new Parser(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Argument/BoundArgument.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Argument/BoundArgument.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Argument/BoundArgument.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Argument/BoundArgument.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ private $type; private $file; - public function __construct($value, bool $trackUsage = true, int $type = 0, string $file = null) + public function __construct($value, bool $trackUsage = true, int $type = 0, ?string $file = null) { $this->value = $value; if ($trackUsage) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Argument/ServiceLocator.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Argument/ServiceLocator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Argument/ServiceLocator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Argument/ServiceLocator.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,7 +24,7 @@ private $serviceMap; private $serviceTypes; - public function __construct(\Closure $factory, array $serviceMap, array $serviceTypes = null) + public function __construct(\Closure $factory, array $serviceMap, ?array $serviceTypes = null) { $this->factory = $factory; $this->serviceMap = $serviceMap; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Argument/TaggedIteratorArgument.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Argument/TaggedIteratorArgument.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Argument/TaggedIteratorArgument.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Argument/TaggedIteratorArgument.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ * @param bool $needsIndexes Whether indexes are required and should be generated when computing the map * @param string|null $defaultPriorityMethod The static method that should be called to get each service's priority when their tag doesn't define the "priority" attribute */ - public function __construct(string $tag, string $indexAttribute = null, string $defaultIndexMethod = null, bool $needsIndexes = false, string $defaultPriorityMethod = null) + public function __construct(string $tag, ?string $indexAttribute = null, ?string $defaultIndexMethod = null, bool $needsIndexes = false, ?string $defaultPriorityMethod = null) { parent::__construct([]); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Attribute/AutoconfigureTag.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Attribute/AutoconfigureTag.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Attribute/AutoconfigureTag.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Attribute/AutoconfigureTag.php 2026-05-20 08:22:01.000000000 +0000 @@ -19,7 +19,7 @@ #[\Attribute(\Attribute::TARGET_CLASS | \Attribute::IS_REPEATABLE)] class AutoconfigureTag extends Autoconfigure { - public function __construct(string $name = null, array $attributes = []) + public function __construct(?string $name = null, array $attributes = []) { parent::__construct( tags: [ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php 2026-05-20 08:22:01.000000000 +0000 @@ -202,6 +202,10 @@ return new \ReflectionMethod(static function (...$arguments) {}, '__invoke'); } + if ($r->hasMethod('__callStatic') && ($r = $r->getMethod('__callStatic')) && $r->isPublic()) { + return new \ReflectionMethod(static function (...$arguments) {}, '__invoke'); + } + throw new RuntimeException(sprintf('Invalid service "%s": method "%s()" does not exist.', $this->currentId, $class !== $this->currentId ? $class.'::'.$method : $method)); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php 2026-05-20 08:22:01.000000000 +0000 @@ -52,6 +52,15 @@ $this->defaultArgument = new class() { public $value; public $names; + public $bag; + + public function withValue(\ReflectionParameter $parameter): self + { + $clone = clone $this; + $clone->value = $this->bag->escapeValue($parameter->getDefaultValue()); + + return $clone; + } }; } @@ -60,6 +69,8 @@ */ public function process(ContainerBuilder $container) { + $this->defaultArgument->bag = $container->getParameterBag(); + try { $this->typesClone = clone $this; parent::process($container); @@ -67,6 +78,7 @@ $this->decoratedClass = null; $this->decoratedId = null; $this->methodCalls = null; + $this->defaultArgument->bag = null; $this->defaultArgument->names = null; $this->getPreviousValue = null; $this->decoratedMethodIndex = null; @@ -200,13 +212,16 @@ unset($arguments[$j]); $arguments[$namedArguments[$j]] = $value; } - if ($namedArguments || !$value instanceof $this->defaultArgument) { + if (!$value instanceof $this->defaultArgument) { continue; } if (\PHP_VERSION_ID >= 80100 && (\is_array($value->value) ? $value->value : \is_object($value->value))) { - unset($arguments[$j]); $namedArguments = $value->names; + } + + if ($namedArguments) { + unset($arguments[$j]); } else { $arguments[$j] = $value->value; } @@ -287,8 +302,7 @@ } // specifically pass the default value - $arguments[$index] = clone $this->defaultArgument; - $arguments[$index]->value = $parameter->getDefaultValue(); + $arguments[$index] = $this->defaultArgument->withValue($parameter); continue; } @@ -298,8 +312,7 @@ $failureMessage = $this->createTypeNotFoundMessageCallback($ref, sprintf('argument "$%s" of method "%s()"', $parameter->name, $class !== $this->currentId ? $class.'::'.$method : $method)); if ($parameter->isDefaultValueAvailable()) { - $value = clone $this->defaultArgument; - $value->value = $parameter->getDefaultValue(); + $value = $this->defaultArgument->withValue($parameter); } elseif (!$parameter->allowsNull()) { throw new AutowiringFailedException($this->currentId, $failureMessage); } @@ -582,7 +595,7 @@ } } - private function getCombinedAlias(string $type, string $name = null): ?string + private function getCombinedAlias(string $type, ?string $name = null): ?string { if (str_contains($type, '&')) { $types = explode('&', $type); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,9 +25,6 @@ { private $serviceLocatorContextIds = []; - /** - * {@inheritdoc} - */ public function process(ContainerBuilder $container) { $this->serviceLocatorContextIds = []; @@ -58,15 +55,7 @@ if (isset($this->serviceLocatorContextIds[$currentId])) { $currentId = $this->serviceLocatorContextIds[$currentId]; $locator = $this->container->getDefinition($this->currentId)->getFactory()[0]; - - foreach ($locator->getArgument(0) as $k => $v) { - if ($v->getValues()[0] === $value) { - if ($k !== $id) { - $currentId = $k.'" in the container provided to "'.$currentId; - } - throw new ServiceNotFoundException($id, $currentId, null, $this->getAlternatives($id)); - } - } + $this->throwServiceNotFoundException($value, $currentId, $locator->getArgument(0)); } if ('.' === $currentId[0] && $graph->hasNode($currentId)) { @@ -80,14 +69,21 @@ $currentId = $sourceId; break; } + + if (isset($this->serviceLocatorContextIds[$sourceId])) { + $currentId = $this->serviceLocatorContextIds[$sourceId]; + $locator = $this->container->getDefinition($this->currentId); + $this->throwServiceNotFoundException($value, $currentId, $locator->getArgument(0)); + } } } - throw new ServiceNotFoundException($id, $currentId, null, $this->getAlternatives($id)); + $this->throwServiceNotFoundException($value, $currentId, $value); } - private function getAlternatives(string $id): array + private function throwServiceNotFoundException(Reference $ref, string $sourceId, $value): void { + $id = (string) $ref; $alternatives = []; foreach ($this->container->getServiceIds() as $knownId) { if ('' === $knownId || '.' === $knownId[0]) { @@ -100,6 +96,31 @@ } } - return $alternatives; + $pass = new class() extends AbstractRecursivePass { + public $ref; + public $sourceId; + public $alternatives; + + /** + * @return mixed + */ + public function processValue($value, bool $isRoot = false) + { + if ($this->ref !== $value) { + return parent::processValue($value, $isRoot); + } + $sourceId = $this->sourceId; + if (null !== $this->currentId && $this->currentId !== (string) $value) { + $sourceId = $this->currentId.'" in the container provided to "'.$sourceId; + } + + throw new ServiceNotFoundException((string) $value, $sourceId, null, $this->alternatives); + } + }; + $pass->ref = $ref; + $pass->sourceId = $sourceId; + $pass->alternatives = $alternatives; + + $pass->processValue($value, true); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/CheckTypeDeclarationsPass.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/CheckTypeDeclarationsPass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/CheckTypeDeclarationsPass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/CheckTypeDeclarationsPass.php 2026-05-20 08:22:01.000000000 +0000 @@ -139,11 +139,17 @@ $envPlaceholderUniquePrefix = $this->container->getParameterBag() instanceof EnvPlaceholderParameterBag ? $this->container->getParameterBag()->getEnvPlaceholderUniquePrefix() : null; for ($i = 0; $i < $checksCount; ++$i) { - if (!$reflectionParameters[$i]->hasType() || $reflectionParameters[$i]->isVariadic()) { + $p = $reflectionParameters[$i]; + if (!$p->hasType() || $p->isVariadic()) { + continue; + } + if (\array_key_exists($p->name, $values)) { + $i = $p->name; + } elseif (!\array_key_exists($i, $values)) { continue; } - $this->checkType($checkedDefinition, $values[$i], $reflectionParameters[$i], $envPlaceholderUniquePrefix); + $this->checkType($checkedDefinition, $values[$i], $p, $envPlaceholderUniquePrefix); } if ($reflectionFunction->isVariadic() && ($lastParameter = end($reflectionParameters))->hasType()) { @@ -158,7 +164,7 @@ /** * @throws InvalidParameterTypeException When a parameter is not compatible with the declared type */ - private function checkType(Definition $checkedDefinition, $value, \ReflectionParameter $parameter, ?string $envPlaceholderUniquePrefix, \ReflectionType $reflectionType = null): void + private function checkType(Definition $checkedDefinition, $value, \ReflectionParameter $parameter, ?string $envPlaceholderUniquePrefix, ?\ReflectionType $reflectionType = null): void { $reflectionType = $reflectionType ?? $parameter->getType(); @@ -210,7 +216,7 @@ $class = null; if ($value instanceof Definition) { - if ($value->getFactory()) { + if ($value->hasErrors() || $value->getFactory()) { return; } @@ -308,6 +314,10 @@ if (false === $value) { return; } + } elseif ('true' === $type) { + if (true === $value) { + return; + } } elseif ($reflectionType->isBuiltin()) { $checkFunction = sprintf('is_%s', $type); if ($checkFunction($value)) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/DecoratorServicePass.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/DecoratorServicePass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/DecoratorServicePass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/DecoratorServicePass.php 2026-05-20 08:22:01.000000000 +0000 @@ -120,6 +120,10 @@ $container->setAlias($inner, $id)->setPublic($public); } + + foreach ($decoratingDefinitions as $inner => $definition) { + $definition->addTag('container.decorator', ['id' => $inner]); + } } protected function processValue($value, bool $isRoot = false) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/DefinitionErrorExceptionPass.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/DefinitionErrorExceptionPass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/DefinitionErrorExceptionPass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/DefinitionErrorExceptionPass.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,6 +11,8 @@ namespace Symfony\Component\DependencyInjection\Compiler; +use Symfony\Component\DependencyInjection\Argument\ArgumentInterface; +use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Exception\RuntimeException; @@ -23,34 +25,87 @@ */ class DefinitionErrorExceptionPass extends AbstractRecursivePass { + private $erroredDefinitions = []; + private $sourceReferences = []; + + /** + * @return void + */ + public function process(ContainerBuilder $container) + { + try { + parent::process($container); + + $visitedIds = []; + + foreach ($this->erroredDefinitions as $id => $definition) { + if ($this->isErrorForRuntime($id, $visitedIds)) { + continue; + } + + // only show the first error so the user can focus on it + $errors = $definition->getErrors(); + + throw new RuntimeException(reset($errors)); + } + } finally { + $this->erroredDefinitions = []; + $this->sourceReferences = []; + } + } + /** * {@inheritdoc} */ protected function processValue($value, bool $isRoot = false) { + if ($value instanceof ArgumentInterface) { + parent::processValue($value->getValues()); + + return $value; + } + + if ($value instanceof Reference && $this->currentId !== $targetId = (string) $value) { + if (ContainerInterface::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE === $value->getInvalidBehavior()) { + $this->sourceReferences[$targetId][$this->currentId] ?? $this->sourceReferences[$targetId][$this->currentId] = true; + } else { + $this->sourceReferences[$targetId][$this->currentId] = false; + } + + return $value; + } + if (!$value instanceof Definition || !$value->hasErrors()) { return parent::processValue($value, $isRoot); } - if ($isRoot && !$value->isPublic()) { - $graph = $this->container->getCompiler()->getServiceReferenceGraph(); - $runtimeException = false; - foreach ($graph->getNode($this->currentId)->getInEdges() as $edge) { - if (!$edge->getValue() instanceof Reference || ContainerInterface::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE !== $edge->getValue()->getInvalidBehavior()) { - $runtimeException = false; - break; - } - $runtimeException = true; + $this->erroredDefinitions[$this->currentId] = $value; + + return parent::processValue($value); + } + + private function isErrorForRuntime(string $id, array &$visitedIds): bool + { + if (!isset($this->sourceReferences[$id])) { + return false; + } + + if (isset($visitedIds[$id])) { + return $visitedIds[$id]; + } + + $visitedIds[$id] = true; + + foreach ($this->sourceReferences[$id] as $sourceId => $isRuntime) { + if ($visitedIds[$sourceId] ?? $visitedIds[$sourceId] = $this->isErrorForRuntime($sourceId, $visitedIds)) { + continue; } - if ($runtimeException) { - return parent::processValue($value, $isRoot); + + if (!$isRuntime) { + return false; } } - // only show the first error so the user can focus on it - $errors = $value->getErrors(); - $message = reset($errors); - - throw new RuntimeException($message); + return true; } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ private $notInlinableIds = []; private $graph; - public function __construct(AnalyzeServiceReferencesPass $analyzingPass = null) + public function __construct(?AnalyzeServiceReferencesPass $analyzingPass = null) { $this->analyzingPass = $analyzingPass; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php 2026-05-20 08:22:01.000000000 +0000 @@ -153,7 +153,7 @@ { private $extensionClass; - public function __construct(ExtensionInterface $extension, ParameterBagInterface $parameterBag = null) + public function __construct(ExtensionInterface $extension, ?ParameterBagInterface $parameterBag = null) { parent::__construct($parameterBag); @@ -187,7 +187,7 @@ /** * {@inheritdoc} */ - public function resolveEnvPlaceholders($value, $format = null, array &$usedEnvs = null) + public function resolveEnvPlaceholders($value, $format = null, ?array &$usedEnvs = null) { if (true !== $format || !\is_string($value)) { return parent::resolveEnvPlaceholders($value, $format, $usedEnvs); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -82,7 +82,8 @@ } elseif (null === $defaultIndex && $defaultPriorityMethod && $class) { $defaultIndex = PriorityTaggedServiceUtil::getDefault($container, $serviceId, $class, $defaultIndexMethod ?? 'getDefaultName', $tagName, $indexAttribute, $checkTaggedItem); } - $index = $index ?? $defaultIndex ?? $defaultIndex = $serviceId; + $decorated = $definition->getTag('container.decorator')[0]['id'] ?? null; + $index = $index ?? $defaultIndex ?? $defaultIndex = $decorated ?? $serviceId; $services[] = [$priority, ++$i, $index, $serviceId, $class]; } @@ -133,6 +134,10 @@ return null; } + if ($r->isInterface()) { + return null; + } + if (null !== $indexAttribute) { $service = $class !== $serviceId ? sprintf('service "%s"', $serviceId) : 'on the corresponding service'; $message = [sprintf('Either method "%s::%s()" should ', $class, $defaultMethod), sprintf(' or tag "%s" on %s is missing attribute "%s".', $tagName, $service, $indexAttribute)]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,6 +11,7 @@ namespace Symfony\Component\DependencyInjection\Compiler; +use Symfony\Component\DependencyInjection\Argument\AbstractArgument; use Symfony\Component\DependencyInjection\Argument\BoundArgument; use Symfony\Component\DependencyInjection\Argument\ServiceLocatorArgument; use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument; @@ -182,10 +183,10 @@ foreach ($reflectionMethod->getParameters() as $key => $parameter) { $names[$key] = $parameter->name; - if (\array_key_exists($key, $arguments) && '' !== $arguments[$key]) { + if (\array_key_exists($key, $arguments) && '' !== $arguments[$key] && !$arguments[$key] instanceof AbstractArgument) { continue; } - if (\array_key_exists($parameter->name, $arguments) && '' !== $arguments[$parameter->name]) { + if (\array_key_exists($parameter->name, $arguments) && '' !== $arguments[$parameter->name] && !$arguments[$parameter->name] instanceof AbstractArgument) { continue; } @@ -219,7 +220,9 @@ foreach ($names as $key => $name) { if (\array_key_exists($name, $arguments) && (0 === $key || \array_key_exists($key - 1, $arguments))) { - $arguments[$key] = $arguments[$name]; + if (!array_key_exists($key, $arguments)) { + $arguments[$key] = $arguments[$name]; + } unset($arguments[$name]); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ResolveInstanceofConditionalsPass.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ResolveInstanceofConditionalsPass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ResolveInstanceofConditionalsPass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ResolveInstanceofConditionalsPass.php 2026-05-20 08:22:01.000000000 +0000 @@ -87,7 +87,7 @@ $instanceofDef->setAbstract(true)->setParent($parent ?: '.abstract.instanceof.'.$id); $parent = '.instanceof.'.$interface.'.'.$key.'.'.$id; $container->setDefinition($parent, $instanceofDef); - $instanceofTags[] = $instanceofDef->getTags(); + $instanceofTags[] = [$interface, $instanceofDef->getTags()]; $instanceofBindings = $instanceofDef->getBindings() + $instanceofBindings; foreach ($instanceofDef->getMethodCalls() as $methodCall) { @@ -126,8 +126,9 @@ // Don't add tags to service decorators $i = \count($instanceofTags); while (0 <= --$i) { - foreach ($instanceofTags[$i] as $k => $v) { - if (null === $definition->getDecoratedService() || \in_array($k, $tagsToKeep, true)) { + [$interface, $tags] = $instanceofTags[$i]; + foreach ($tags as $k => $v) { + if (null === $definition->getDecoratedService() || $interface === $definition->getClass() || \in_array($k, $tagsToKeep, true)) { foreach ($v as $v) { if ($definition->hasTag($k) && \in_array($v, $definition->getTag($k))) { continue; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ServiceLocatorTagPass.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ServiceLocatorTagPass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ServiceLocatorTagPass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ServiceLocatorTagPass.php 2026-05-20 08:22:01.000000000 +0000 @@ -104,7 +104,7 @@ /** * @param Reference[] $refMap */ - public static function register(ContainerBuilder $container, array $refMap, string $callerId = null): Reference + public static function register(ContainerBuilder $container, array $refMap, ?string $callerId = null): Reference { foreach ($refMap as $id => $ref) { if (!$ref instanceof Reference) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraph.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraph.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraph.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraph.php 2026-05-20 08:22:01.000000000 +0000 @@ -74,7 +74,7 @@ /** * Connects 2 nodes together in the Graph. */ - public function connect(?string $sourceId, $sourceValue, ?string $destId, $destValue = null, Reference $reference = null, bool $lazy = false, bool $weak = false, bool $byConstructor = false) + public function connect(?string $sourceId, $sourceValue, ?string $destId, $destValue = null, ?Reference $reference = null, bool $lazy = false, bool $weak = false, bool $byConstructor = false) { if (null === $sourceId || null === $destId) { return; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Container.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Container.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Container.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Container.php 2026-05-20 08:22:01.000000000 +0000 @@ -63,7 +63,7 @@ private $compiled = false; private $getEnv; - public function __construct(ParameterBagInterface $parameterBag = null) + public function __construct(?ParameterBagInterface $parameterBag = null) { $this->parameterBag = $parameterBag ?? new EnvPlaceholderParameterBag(); } @@ -299,7 +299,6 @@ public function reset() { $services = $this->services + $this->privates; - $this->services = $this->factories = $this->privates = []; foreach ($services as $service) { try { @@ -310,6 +309,8 @@ continue; } } + + $this->services = $this->factories = $this->privates = []; } /** @@ -390,7 +391,11 @@ $prefix = 'string'; $localName = $name; } + $processor = $processors->has($prefix) ? $processors->get($prefix) : new EnvVarProcessor($this); + if (false === $i) { + $prefix = ''; + } $this->resolving[$envName] = true; try { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/ContainerAwareInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ContainerAwareInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/ContainerAwareInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ContainerAwareInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,5 +21,5 @@ /** * Sets the container. */ - public function setContainer(ContainerInterface $container = null); + public function setContainer(?ContainerInterface $container = null); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/ContainerAwareTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ContainerAwareTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/ContainerAwareTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ContainerAwareTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -19,11 +19,11 @@ trait ContainerAwareTrait { /** - * @var ContainerInterface + * @var ContainerInterface|null */ protected $container; - public function setContainer(ContainerInterface $container = null) + public function setContainer(?ContainerInterface $container = null) { $this->container = $container; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/ContainerBuilder.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ContainerBuilder.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/ContainerBuilder.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ContainerBuilder.php 2026-05-20 08:22:01.000000000 +0000 @@ -163,7 +163,7 @@ 'mixed' => true, ]; - public function __construct(ParameterBagInterface $parameterBag = null) + public function __construct(?ParameterBagInterface $parameterBag = null) { parent::__construct($parameterBag); @@ -369,7 +369,7 @@ $resource = new ClassExistenceResource($class, false); $classReflector = $resource->isFresh(0) ? false : new \ReflectionClass($class); } else { - $classReflector = class_exists($class) ? new \ReflectionClass($class) : false; + $classReflector = class_exists($class) || interface_exists($class, false) ? new \ReflectionClass($class) : false; } } catch (\ReflectionException $e) { if ($throw) { @@ -440,7 +440,7 @@ * @throws BadMethodCallException When this ContainerBuilder is compiled * @throws \LogicException if the extension is not registered */ - public function loadFromExtension(string $extension, array $values = null) + public function loadFromExtension(string $extension, ?array $values = null) { if ($this->isCompiled()) { throw new BadMethodCallException('Cannot load from an extension on a compiled container.'); @@ -553,7 +553,7 @@ return $this->doGet($id, $invalidBehavior); } - private function doGet(string $id, int $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, array &$inlineServices = null, bool $isConstructorArgument = false) + private function doGet(string $id, int $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, ?array &$inlineServices = null, bool $isConstructorArgument = false) { if (isset($inlineServices[$id])) { return $inlineServices[$id]; @@ -900,7 +900,7 @@ * * @return Definition */ - public function register(string $id, string $class = null) + public function register(string $id, ?string $class = null) { return $this->setDefinition($id, new Definition($class)); } @@ -913,7 +913,7 @@ * * @return Definition */ - public function autowire(string $id, string $class = null) + public function autowire(string $id, ?string $class = null) { return $this->setDefinition($id, (new Definition($class))->setAutowired(true)); } @@ -1037,7 +1037,7 @@ * @throws RuntimeException When the service is a synthetic service * @throws InvalidArgumentException When configure callable is not callable */ - private function createService(Definition $definition, array &$inlineServices, bool $isConstructorArgument = false, string $id = null, bool $tryProxy = true) + private function createService(Definition $definition, array &$inlineServices, bool $isConstructorArgument = false, ?string $id = null, bool $tryProxy = true) { if (null === $id && isset($inlineServices[$h = spl_object_hash($definition)])) { return $inlineServices[$h]; @@ -1353,7 +1353,7 @@ * "$fooBar"-named arguments with $type as type-hint. Such arguments will * receive the service $id when autowiring is used. */ - public function registerAliasForArgument(string $id, string $type, string $name = null): Alias + public function registerAliasForArgument(string $id, string $type, ?string $name = null): Alias { $name = (new Target($name ?? $id))->name; @@ -1393,7 +1393,7 @@ * * @return mixed The value with env parameters resolved if a string or an array is passed */ - public function resolveEnvPlaceholders($value, $format = null, array &$usedEnvs = null) + public function resolveEnvPlaceholders($value, $format = null, ?array &$usedEnvs = null) { if (null === $format) { $format = '%%env(%s)%%'; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Definition.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Definition.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Definition.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Definition.php 2026-05-20 08:22:01.000000000 +0000 @@ -61,7 +61,7 @@ */ public $decorationOnInvalid; - public function __construct(string $class = null, array $arguments = []) + public function __construct(?string $class = null, array $arguments = []) { if (null !== $class) { $this->setClass($class); @@ -135,7 +135,7 @@ * * @throws InvalidArgumentException in case the decorated service id and the new decorated service id are equals */ - public function setDecoratedService(?string $id, string $renamedId = null, int $priority = 0, int $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE) + public function setDecoratedService(?string $id, ?string $renamedId = null, int $priority = 0, int $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE) { if ($renamedId && $id === $renamedId) { throw new InvalidArgumentException(sprintf('The decorated service inner name for "%s" must be different than the service name itself.', $id)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php 2026-05-20 08:22:01.000000000 +0000 @@ -1031,7 +1031,7 @@ return $code; } - private function addInlineService(string $id, Definition $definition, Definition $inlineDef = null, bool $forConstructor = true): string + private function addInlineService(string $id, Definition $definition, ?Definition $inlineDef = null, bool $forConstructor = true): string { $code = ''; @@ -1088,7 +1088,7 @@ return $code; } - private function addServices(array &$services = null): string + private function addServices(?array &$services = null): string { $publicServices = $privateServices = ''; $definitions = $this->container->getDefinitions(); @@ -1130,7 +1130,7 @@ } } - private function addNewInstance(Definition $definition, string $return = '', string $id = null): string + private function addNewInstance(Definition $definition, string $return = '', ?string $id = null): string { $tail = $return ? ";\n" : ''; @@ -1704,7 +1704,7 @@ return implode(' && ', $conditions); } - private function getDefinitionsFromArguments(array $arguments, \SplObjectStorage $definitions = null, array &$calls = [], bool $byConstructor = null): \SplObjectStorage + private function getDefinitionsFromArguments(array $arguments, ?\SplObjectStorage $definitions = null, array &$calls = [], ?bool $byConstructor = null): \SplObjectStorage { if (null === $definitions) { $definitions = new \SplObjectStorage(); @@ -1935,7 +1935,7 @@ return sprintf('$this->parameters[%s]', $this->doExport($name)); } - private function getServiceCall(string $id, Reference $reference = null): string + private function getServiceCall(string $id, ?Reference $reference = null): string { while ($this->container->hasAlias($id)) { $id = (string) $this->container->getAlias($id); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php 2026-05-20 08:22:01.000000000 +0000 @@ -317,7 +317,7 @@ return $value; } - private function getServiceCall(string $id, Reference $reference = null): string + private function getServiceCall(string $id, ?Reference $reference = null): string { if (null !== $reference) { switch ($reference->getInvalidBehavior()) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,7 +27,7 @@ /** * @param EnvVarLoaderInterface[] $loaders */ - public function __construct(ContainerInterface $container, \Traversable $loaders = null) + public function __construct(ContainerInterface $container, ?\Traversable $loaders = null) { $this->container = $container; $this->loaders = $loaders ?? new \ArrayIterator(); @@ -126,6 +126,12 @@ } } + $returnNull = false; + if ('' === $prefix) { + $returnNull = true; + $prefix = 'string'; + } + if (false !== $i || 'string' !== $prefix) { $env = $getEnv($name); } elseif (isset($_ENV[$name])) { @@ -177,14 +183,20 @@ } if (null === $env) { + if ($returnNull) { + return null; + } + if (!isset($this->getProvidedTypes()[$prefix])) { throw new RuntimeException(sprintf('Unsupported env var prefix "%s".', $prefix)); } - return null; + if (!\in_array($prefix, ['string', 'bool', 'not', 'int', 'float'], true)) { + return null; + } } - if (!\is_scalar($env)) { + if (null !== $env && !\is_scalar($env)) { throw new RuntimeException(sprintf('Non-scalar env var "%s" cannot be cast to "%s".', $name, $prefix)); } @@ -199,7 +211,7 @@ } if ('int' === $prefix) { - if (false === $env = filter_var($env, \FILTER_VALIDATE_INT) ?: filter_var($env, \FILTER_VALIDATE_FLOAT)) { + if (null !== $env && false === $env = filter_var($env, \FILTER_VALIDATE_INT) ?: filter_var($env, \FILTER_VALIDATE_FLOAT)) { throw new RuntimeException(sprintf('Non-numeric env var "%s" cannot be cast to int.', $name)); } @@ -207,7 +219,7 @@ } if ('float' === $prefix) { - if (false === $env = filter_var($env, \FILTER_VALIDATE_FLOAT)) { + if (null !== $env && false === $env = filter_var($env, \FILTER_VALIDATE_FLOAT)) { throw new RuntimeException(sprintf('Non-numeric env var "%s" cannot be cast to float.', $name)); } @@ -241,15 +253,15 @@ } if ('url' === $prefix) { - $parsedEnv = parse_url($env); + $params = parse_url($env); - if (false === $parsedEnv) { + if (false === $params) { throw new RuntimeException(sprintf('Invalid URL in env var "%s".', $name)); } - if (!isset($parsedEnv['scheme'], $parsedEnv['host'])) { - throw new RuntimeException(sprintf('Invalid URL env var "%s": schema and host expected, "%s" given.', $name, $env)); + if (!isset($params['scheme'], $params['host'])) { + throw new RuntimeException(sprintf('Invalid URL in env var "%s": scheme and host expected.', $name)); } - $parsedEnv += [ + $params += [ 'port' => null, 'user' => null, 'pass' => null, @@ -258,10 +270,13 @@ 'fragment' => null, ]; + $params['user'] = null !== $params['user'] ? rawurldecode($params['user']) : null; + $params['pass'] = null !== $params['pass'] ? rawurldecode($params['pass']) : null; + // remove the '/' separator - $parsedEnv['path'] = '/' === ($parsedEnv['path'] ?? '/') ? '' : substr($parsedEnv['path'], 1); + $params['path'] = '/' === ($params['path'] ?? '/') ? '' : substr($params['path'], 1); - return $parsedEnv; + return $params; } if ('query_string' === $prefix) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/EnvVarProcessorInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/EnvVarProcessorInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/EnvVarProcessorInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/EnvVarProcessorInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ /** * Returns the value of the given variable as managed by the current instance. * - * @param string $prefix The namespace of the variable + * @param string $prefix The namespace of the variable; when the empty string is passed, null values should be kept as is * @param string $name The name of the variable within the namespace * @param \Closure $getEnv A closure that allows fetching more env vars * diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Exception/AutowiringFailedException.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/AutowiringFailedException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Exception/AutowiringFailedException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/AutowiringFailedException.php 2026-05-20 08:22:01.000000000 +0000 @@ -19,13 +19,11 @@ private $serviceId; private $messageCallback; - public function __construct(string $serviceId, $message = '', int $code = 0, \Throwable $previous = null) + public function __construct(string $serviceId, $message = '', int $code = 0, ?\Throwable $previous = null) { $this->serviceId = $serviceId; - if ($message instanceof \Closure - && (\function_exists('xdebug_is_enabled') ? xdebug_is_enabled() : \function_exists('xdebug_info')) - ) { + if ($message instanceof \Closure && \function_exists('xdebug_is_enabled') && xdebug_is_enabled()) { $message = $message(); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,7 +18,7 @@ */ class EnvParameterException extends InvalidArgumentException { - public function __construct(array $envs, \Throwable $previous = null, string $message = 'Incompatible use of dynamic environment variables "%s" found in parameters.') + public function __construct(array $envs, ?\Throwable $previous = null, string $message = 'Incompatible use of dynamic environment variables "%s" found in parameters.') { parent::__construct(sprintf($message, implode('", "', $envs)), 0, $previous); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Exception/ParameterCircularReferenceException.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/ParameterCircularReferenceException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Exception/ParameterCircularReferenceException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/ParameterCircularReferenceException.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ { private $parameters; - public function __construct(array $parameters, \Throwable $previous = null) + public function __construct(array $parameters, ?\Throwable $previous = null) { parent::__construct(sprintf('Circular reference detected for parameter "%s" ("%s" > "%s").', $parameters[0], implode('" > "', $parameters), $parameters[0]), 0, $previous); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Exception/ParameterNotFoundException.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/ParameterNotFoundException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Exception/ParameterNotFoundException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/ParameterNotFoundException.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,7 +34,7 @@ * @param string[] $alternatives Some parameter name alternatives * @param string|null $nonNestedAlternative The alternative parameter name when the user expected dot notation for nested parameters */ - public function __construct(string $key, string $sourceId = null, string $sourceKey = null, \Throwable $previous = null, array $alternatives = [], string $nonNestedAlternative = null) + public function __construct(string $key, ?string $sourceId = null, ?string $sourceKey = null, ?\Throwable $previous = null, array $alternatives = [], ?string $nonNestedAlternative = null) { $this->key = $key; $this->sourceId = $sourceId; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Exception/ServiceCircularReferenceException.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/ServiceCircularReferenceException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Exception/ServiceCircularReferenceException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/ServiceCircularReferenceException.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ private $serviceId; private $path; - public function __construct(string $serviceId, array $path, \Throwable $previous = null) + public function __construct(string $serviceId, array $path, ?\Throwable $previous = null) { parent::__construct(sprintf('Circular reference detected for service "%s", path: "%s".', $serviceId, implode(' -> ', $path)), 0, $previous); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Exception/ServiceNotFoundException.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/ServiceNotFoundException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Exception/ServiceNotFoundException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Exception/ServiceNotFoundException.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,7 +24,7 @@ private $sourceId; private $alternatives; - public function __construct(string $id, string $sourceId = null, \Throwable $previous = null, array $alternatives = [], string $msg = null) + public function __construct(string $id, ?string $sourceId = null, ?\Throwable $previous = null, array $alternatives = [], ?string $msg = null) { if (null !== $msg) { // no-op diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/ExpressionLanguage.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ExpressionLanguage.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/ExpressionLanguage.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ExpressionLanguage.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ /** * {@inheritdoc} */ - public function __construct(CacheItemPoolInterface $cache = null, array $providers = [], callable $serviceCompiler = null) + public function __construct(?CacheItemPoolInterface $cache = null, array $providers = [], ?callable $serviceCompiler = null) { // prepend the default provider to let users override it easily array_unshift($providers, new ExpressionLanguageProvider($serviceCompiler)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/ExpressionLanguageProvider.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ExpressionLanguageProvider.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/ExpressionLanguageProvider.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ExpressionLanguageProvider.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ { private $serviceCompiler; - public function __construct(callable $serviceCompiler = null) + public function __construct(?callable $serviceCompiler = null) { $this->serviceCompiler = $serviceCompiler; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/LazyProxy/ProxyHelper.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/LazyProxy/ProxyHelper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/LazyProxy/ProxyHelper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/LazyProxy/ProxyHelper.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ /** * @return string|null The FQCN or builtin name of the type hint, or null when the type hint references an invalid self|parent context */ - public static function getTypeHint(\ReflectionFunctionAbstract $r, \ReflectionParameter $p = null, bool $noBuiltin = false): ?string + public static function getTypeHint(\ReflectionFunctionAbstract $r, ?\ReflectionParameter $p = null, bool $noBuiltin = false): ?string { if ($p instanceof \ReflectionParameter) { $type = $p->getType(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/ClosureLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/ClosureLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/ClosureLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/ClosureLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ { private $container; - public function __construct(ContainerBuilder $container, string $env = null) + public function __construct(ContainerBuilder $container, ?string $env = null) { $this->container = $container; parent::__construct($env); @@ -34,7 +34,7 @@ /** * {@inheritdoc} */ - public function load($resource, string $type = null) + public function load($resource, ?string $type = null) { return $resource($this->container, $this->env); } @@ -42,7 +42,7 @@ /** * {@inheritdoc} */ - public function supports($resource, string $type = null) + public function supports($resource, ?string $type = null) { return $resource instanceof \Closure; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractServiceConfigurator.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractServiceConfigurator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractServiceConfigurator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractServiceConfigurator.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ protected $id; private $defaultTags = []; - public function __construct(ServicesConfigurator $parent, Definition $definition, string $id = null, array $defaultTags = []) + public function __construct(ServicesConfigurator $parent, Definition $definition, ?string $id = null, array $defaultTags = []) { $this->parent = $parent; $this->definition = $definition; @@ -42,7 +42,7 @@ /** * Registers a service. */ - final public function set(?string $id, string $class = null): ServiceConfigurator + final public function set(?string $id, ?string $class = null): ServiceConfigurator { $this->__destruct(); @@ -106,7 +106,7 @@ /** * Registers a service. */ - final public function __invoke(string $id, string $class = null): ServiceConfigurator + final public function __invoke(string $id, ?string $class = null): ServiceConfigurator { $this->__destruct(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php 2026-05-20 08:22:01.000000000 +0000 @@ -38,7 +38,7 @@ private $anonymousCount = 0; private $env; - public function __construct(ContainerBuilder $container, PhpFileLoader $loader, array &$instanceof, string $path, string $file, string $env = null) + public function __construct(ContainerBuilder $container, PhpFileLoader $loader, array &$instanceof, string $path, string $file, ?string $env = null) { $this->container = $container; $this->loader = $loader; @@ -58,7 +58,7 @@ $this->container->loadFromExtension($namespace, static::processValue($config)); } - final public function import(string $resource, string $type = null, $ignoreErrors = false) + final public function import(string $resource, ?string $type = null, $ignoreErrors = false) { $this->loader->setCurrentDir(\dirname($this->path)); $this->loader->import($resource, $type, $ignoreErrors, $this->file); @@ -128,7 +128,7 @@ * * @deprecated since Symfony 5.1, use inline_service() instead. */ -function inline(string $class = null): InlineServiceConfigurator +function inline(?string $class = null): InlineServiceConfigurator { trigger_deprecation('symfony/dependency-injection', '5.1', '"%s()" is deprecated, use "inline_service()" instead.', __FUNCTION__); @@ -138,7 +138,7 @@ /** * Creates an inline service. */ -function inline_service(string $class = null): InlineServiceConfigurator +function inline_service(?string $class = null): InlineServiceConfigurator { return new InlineServiceConfigurator(new Definition($class)); } @@ -166,7 +166,7 @@ /** * Creates a lazy iterator by tag name. */ -function tagged_iterator(string $tag, string $indexAttribute = null, string $defaultIndexMethod = null, string $defaultPriorityMethod = null): TaggedIteratorArgument +function tagged_iterator(string $tag, ?string $indexAttribute = null, ?string $defaultIndexMethod = null, ?string $defaultPriorityMethod = null): TaggedIteratorArgument { return new TaggedIteratorArgument($tag, $indexAttribute, $defaultIndexMethod, false, $defaultPriorityMethod); } @@ -174,7 +174,7 @@ /** * Creates a service locator by tag name. */ -function tagged_locator(string $tag, string $indexAttribute = null, string $defaultIndexMethod = null, string $defaultPriorityMethod = null): ServiceLocatorArgument +function tagged_locator(string $tag, ?string $indexAttribute = null, ?string $defaultIndexMethod = null, ?string $defaultPriorityMethod = null): ServiceLocatorArgument { return new ServiceLocatorArgument(new TaggedIteratorArgument($tag, $indexAttribute, $defaultIndexMethod, true, $defaultPriorityMethod)); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/DefaultsConfigurator.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/DefaultsConfigurator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/DefaultsConfigurator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/DefaultsConfigurator.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ private $path; - public function __construct(ServicesConfigurator $parent, Definition $definition, string $path = null) + public function __construct(ServicesConfigurator $parent, Definition $definition, ?string $path = null) { parent::__construct($parent, $definition, null, []); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/InstanceofConfigurator.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/InstanceofConfigurator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/InstanceofConfigurator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/InstanceofConfigurator.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ private $path; - public function __construct(ServicesConfigurator $parent, Definition $definition, string $id, string $path = null) + public function __construct(ServicesConfigurator $parent, Definition $definition, string $id, ?string $path = null) { parent::__construct($parent, $definition, $id, []); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ServiceConfigurator.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ServiceConfigurator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ServiceConfigurator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ServiceConfigurator.php 2026-05-20 08:22:01.000000000 +0000 @@ -47,7 +47,7 @@ private $path; private $destructed = false; - public function __construct(ContainerBuilder $container, array $instanceof, bool $allowParent, ServicesConfigurator $parent, Definition $definition, ?string $id, array $defaultTags, string $path = null) + public function __construct(ContainerBuilder $container, array $instanceof, bool $allowParent, ServicesConfigurator $parent, Definition $definition, ?string $id, array $defaultTags, ?string $path = null) { $this->container = $container; $this->instanceof = $instanceof; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ServicesConfigurator.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ServicesConfigurator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ServicesConfigurator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/ServicesConfigurator.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,7 +34,7 @@ private $anonymousHash; private $anonymousCount; - public function __construct(ContainerBuilder $container, PhpFileLoader $loader, array &$instanceof, string $path = null, int &$anonymousCount = 0) + public function __construct(ContainerBuilder $container, PhpFileLoader $loader, array &$instanceof, ?string $path = null, int &$anonymousCount = 0) { $this->defaults = new Definition(); $this->container = $container; @@ -70,7 +70,7 @@ * @param string|null $id The service id, or null to create an anonymous service * @param string|null $class The class of the service, or null when $id is also the class name */ - final public function set(?string $id, string $class = null): ServiceConfigurator + final public function set(?string $id, ?string $class = null): ServiceConfigurator { $defaults = $this->defaults; $definition = new Definition(); @@ -180,7 +180,7 @@ /** * Registers a service. */ - final public function __invoke(string $id, string $class = null): ServiceConfigurator + final public function __invoke(string $id, ?string $class = null): ServiceConfigurator { return $this->set($id, $class); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/Traits/DecorateTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/Traits/DecorateTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/Traits/DecorateTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/Configurator/Traits/DecorateTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ * * @throws InvalidArgumentException in case the decorated service id and the new decorated service id are equals */ - final public function decorate(?string $id, string $renamedId = null, int $priority = 0, int $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE): self + final public function decorate(?string $id, ?string $renamedId = null, int $priority = 0, int $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE): self { $this->definition->setDecoratedService($id, $renamedId, $priority, $invalidBehavior); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/DirectoryLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/DirectoryLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/DirectoryLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/DirectoryLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ /** * {@inheritdoc} */ - public function load($file, string $type = null) + public function load($file, ?string $type = null) { $file = rtrim($file, '/'); $path = $this->locator->locate($file); @@ -45,7 +45,7 @@ /** * {@inheritdoc} */ - public function supports($resource, string $type = null) + public function supports($resource, ?string $type = null) { if ('directory' === $type) { return true; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -40,7 +40,7 @@ protected $singlyImplemented = []; protected $autoRegisterAliasesForSinglyImplementedInterfaces = true; - public function __construct(ContainerBuilder $container, FileLocatorInterface $locator, string $env = null) + public function __construct(ContainerBuilder $container, FileLocatorInterface $locator, ?string $env = null) { $this->container = $container; @@ -52,7 +52,7 @@ * * @param bool|string $ignoreErrors Whether errors should be ignored; pass "not_found" to ignore only when the loaded resource is not found */ - public function import($resource, string $type = null, $ignoreErrors = false, string $sourceResource = null, $exclude = null) + public function import($resource, ?string $type = null, $ignoreErrors = false, ?string $sourceResource = null, $exclude = null) { $args = \func_get_args(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/GlobFileLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/GlobFileLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/GlobFileLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/GlobFileLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ /** * {@inheritdoc} */ - public function load($resource, string $type = null) + public function load($resource, ?string $type = null) { foreach ($this->glob($resource, false, $globResource) as $path => $info) { $this->import($path); @@ -35,7 +35,7 @@ /** * {@inheritdoc} */ - public function supports($resource, string $type = null) + public function supports($resource, ?string $type = null) { return 'glob' === $type; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,7 +24,7 @@ /** * {@inheritdoc} */ - public function load($resource, string $type = null) + public function load($resource, ?string $type = null) { $path = $this->locator->locate($resource); @@ -57,7 +57,7 @@ /** * {@inheritdoc} */ - public function supports($resource, string $type = null) + public function supports($resource, ?string $type = null) { if (!\is_string($resource)) { return false; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/PhpFileLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/PhpFileLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/PhpFileLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/PhpFileLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,7 +36,7 @@ protected $autoRegisterAliasesForSinglyImplementedInterfaces = false; private $generator; - public function __construct(ContainerBuilder $container, FileLocatorInterface $locator, string $env = null, ConfigBuilderGeneratorInterface $generator = null) + public function __construct(ContainerBuilder $container, FileLocatorInterface $locator, ?string $env = null, ?ConfigBuilderGeneratorInterface $generator = null) { parent::__construct($container, $locator, $env); $this->generator = $generator; @@ -45,7 +45,7 @@ /** * {@inheritdoc} */ - public function load($resource, string $type = null) + public function load($resource, ?string $type = null) { // the container and loader variables are exposed to the included file below $container = $this->container; @@ -77,7 +77,7 @@ /** * {@inheritdoc} */ - public function supports($resource, string $type = null) + public function supports($resource, ?string $type = null) { if (!\is_string($resource)) { return false; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,7 +43,7 @@ /** * {@inheritdoc} */ - public function load($resource, string $type = null) + public function load($resource, ?string $type = null) { $path = $this->locator->locate($resource); @@ -70,7 +70,7 @@ return null; } - private function loadXml(\DOMDocument $xml, string $path, \DOMNode $root = null): void + private function loadXml(\DOMDocument $xml, string $path, ?\DOMNode $root = null): void { $defaults = $this->getServiceDefaults($xml, $path, $root); @@ -98,7 +98,7 @@ /** * {@inheritdoc} */ - public function supports($resource, string $type = null) + public function supports($resource, ?string $type = null) { if (!\is_string($resource)) { return false; @@ -111,19 +111,19 @@ return 'xml' === $type; } - private function parseParameters(\DOMDocument $xml, string $file, \DOMNode $root = null) + private function parseParameters(\DOMDocument $xml, string $file, ?\DOMNode $root = null) { if ($parameters = $this->getChildren($root ?? $xml->documentElement, 'parameters')) { $this->container->getParameterBag()->add($this->getArgumentsAsPhp($parameters[0], 'parameter', $file)); } } - private function parseImports(\DOMDocument $xml, string $file, \DOMNode $root = null) + private function parseImports(\DOMDocument $xml, string $file, ?\DOMNode $root = null) { $xpath = new \DOMXPath($xml); $xpath->registerNamespace('container', self::NS); - if (false === $imports = $xpath->query('.//container:imports/container:import', $root)) { + if (false === $imports = $xpath->query('./container:imports/container:import', $root)) { return; } @@ -134,19 +134,19 @@ } } - private function parseDefinitions(\DOMDocument $xml, string $file, Definition $defaults, \DOMNode $root = null) + private function parseDefinitions(\DOMDocument $xml, string $file, Definition $defaults, ?\DOMNode $root = null) { $xpath = new \DOMXPath($xml); $xpath->registerNamespace('container', self::NS); - if (false === $services = $xpath->query('.//container:services/container:service|.//container:services/container:prototype|.//container:services/container:stack', $root)) { + if (false === $services = $xpath->query('./container:services/container:service|./container:services/container:prototype|./container:services/container:stack', $root)) { return; } $this->setCurrentDir(\dirname($file)); $this->instanceof = []; $this->isLoadingInstanceof = true; - $instanceof = $xpath->query('.//container:services/container:instanceof', $root); + $instanceof = $xpath->query('./container:services/container:instanceof', $root); foreach ($instanceof as $service) { $this->setDefinition((string) $service->getAttribute('id'), $this->parseDefinition($service, $file, new Definition())); } @@ -192,12 +192,12 @@ } } - private function getServiceDefaults(\DOMDocument $xml, string $file, \DOMNode $root = null): Definition + private function getServiceDefaults(\DOMDocument $xml, string $file, ?\DOMNode $root = null): Definition { $xpath = new \DOMXPath($xml); $xpath->registerNamespace('container', self::NS); - if (null === $defaultsNode = $xpath->query('.//container:services/container:defaults', $root)->item(0)) { + if (null === $defaultsNode = $xpath->query('./container:services/container:defaults', $root)->item(0)) { return new Definition(); } @@ -404,7 +404,33 @@ try { $dom = XmlUtils::loadFile($file, [$this, 'validateSchema']); } catch (\InvalidArgumentException $e) { - throw new InvalidArgumentException(sprintf('Unable to parse file "%s": ', $file).$e->getMessage(), $e->getCode(), $e); + $invalidSecurityElements = []; + $errors = explode("\n", $e->getMessage()); + foreach ($errors as $i => $error) { + if (preg_match("#^\[ERROR 1871] Element '\{http://symfony\.com/schema/dic/security}([^']+)'#", $error, $matches)) { + $invalidSecurityElements[$i] = $matches[1]; + } + } + if ($invalidSecurityElements) { + $dom = XmlUtils::loadFile($file); + + foreach ($invalidSecurityElements as $errorIndex => $tagName) { + foreach ($dom->getElementsByTagNameNS('http://symfony.com/schema/dic/security', $tagName) as $element) { + if (!$parent = $element->parentNode) { + continue; + } + if ('http://symfony.com/schema/dic/security' !== $parent->namespaceURI) { + continue; + } + if ('provider' === $parent->localName || 'firewall' === $parent->localName) { + unset($errors[$errorIndex]); + } + } + } + } + if ($errors) { + throw new InvalidArgumentException(sprintf('Unable to parse file "%s": ', $file).implode("\n", $errors), $e->getCode(), $e); + } } $this->validateExtensions($dom, $file); @@ -415,7 +441,7 @@ /** * Processes anonymous services. */ - private function processAnonymousServices(\DOMDocument $xml, string $file, \DOMNode $root = null) + private function processAnonymousServices(\DOMDocument $xml, string $file, ?\DOMNode $root = null) { $definitions = []; $count = 0; @@ -777,6 +803,6 @@ */ public static function convertDomElementToArray(\DOMElement $element) { - return XmlUtils::convertDomElementToArray($element); + return XmlUtils::convertDomElementToArray($element, false); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -116,7 +116,7 @@ /** * {@inheritdoc} */ - public function load($resource, string $type = null) + public function load($resource, ?string $type = null) { $path = $this->locator->locate($resource); @@ -183,7 +183,7 @@ /** * {@inheritdoc} */ - public function supports($resource, string $type = null) + public function supports($resource, ?string $type = null) { if (!\is_string($resource)) { return false; @@ -448,8 +448,9 @@ return $return ? $alias : $this->container->setAlias($id, $alias); } + $changes = []; if (null !== $definition) { - // no-op + $changes = $definition->getChanges(); } elseif ($this->isLoadingInstanceof) { $definition = new ChildDefinition(''); } elseif (isset($service['parent'])) { @@ -472,7 +473,7 @@ $definition->setAutoconfigured($defaults['autoconfigure']); } - $definition->setChanges([]); + $definition->setChanges($changes); if (isset($service['class'])) { $definition->setClass($service['class']); @@ -546,7 +547,7 @@ } if (\is_string($k)) { - throw new InvalidArgumentException(sprintf('Invalid method call for service "%s", did you forgot a leading dash before "%s: ..." in "%s"?', $id, $k, $file)); + throw new InvalidArgumentException(sprintf('Invalid method call for service "%s", did you forget a leading dash before "%s: ..." in "%s"?', $id, $k, $file)); } if (isset($call['method']) && \is_string($call['method'])) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/ServiceLocator.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ServiceLocator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/ServiceLocator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/ServiceLocator.php 2026-05-20 08:22:01.000000000 +0000 @@ -134,7 +134,7 @@ return new ServiceCircularReferenceException($id, $path); } - private function formatAlternatives(array $alternatives = null, string $separator = 'and'): string + private function formatAlternatives(?array $alternatives = null, string $separator = 'and'): string { $format = '"%s"%s'; if (null === $alternatives) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,6 +28,7 @@ use Symfony\Component\DependencyInjection\Tests\Fixtures\CaseSensitiveClass; use Symfony\Component\DependencyInjection\Tests\Fixtures\includes\FooVariadic; use Symfony\Component\DependencyInjection\Tests\Fixtures\includes\MultipleArgumentsOptionalScalarNotReallyOptional; +use Symfony\Component\DependencyInjection\Tests\Fixtures\OptionalParameter; use Symfony\Component\DependencyInjection\Tests\Fixtures\WithTarget; use Symfony\Component\DependencyInjection\TypedReference; use Symfony\Contracts\Service\Attribute\Required; @@ -405,6 +406,9 @@ $this->assertEquals(Foo::class, $container->getDefinition('bar')->getArgument(0)); } + /** + * @group legacy + */ public function testOptionalParameter() { $container = new ContainerBuilder(); @@ -1219,4 +1223,17 @@ $this->assertEquals([new TypedReference(A::class, A::class), 'abc'], $container->getDefinition('foo')->getArguments()); } + + public function testAutowireDefaultValueParametersLike() + { + $container = new ContainerBuilder(); + + $container->register('foo', ParametersLikeDefaultValue::class) + ->setAutowired(true) + ->setArgument(1, 'ok'); + + (new AutowirePass())->process($container); + + $this->assertSame('%%not%%one%%parameter%%here%%', $container->getDefinition('foo')->getArgument(0)); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -82,7 +82,11 @@ $this->addToAssertionCount(1); } - public function testWithErroredServiceLocator() + /** + * @testWith [true] + * [false] + */ + public function testWithErroredServiceLocator(bool $inline) { $this->expectException(ServiceNotFoundException::class); $this->expectExceptionMessage('The service "foo" in the container provided to "bar" has a dependency on a non-existent service "baz".'); @@ -91,11 +95,17 @@ ServiceLocatorTagPass::register($container, ['foo' => new Reference('baz')], 'bar'); (new AnalyzeServiceReferencesPass())->process($container); - (new InlineServiceDefinitionsPass())->process($container); + if ($inline) { + (new InlineServiceDefinitionsPass())->process($container); + } $this->process($container); } - public function testWithErroredHiddenService() + /** + * @testWith [true] + * [false] + */ + public function testWithErroredHiddenService(bool $inline) { $this->expectException(ServiceNotFoundException::class); $this->expectExceptionMessage('The service "bar" has a dependency on a non-existent service "foo".'); @@ -104,7 +114,9 @@ ServiceLocatorTagPass::register($container, ['foo' => new Reference('foo')], 'bar'); (new AnalyzeServiceReferencesPass())->process($container); - (new InlineServiceDefinitionsPass())->process($container); + if ($inline) { + (new InlineServiceDefinitionsPass())->process($container); + } $this->process($container); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckTypeDeclarationsPassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckTypeDeclarationsPassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckTypeDeclarationsPassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckTypeDeclarationsPassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,6 +23,7 @@ use Symfony\Component\DependencyInjection\ParameterBag\EnvPlaceholderParameterBag; use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\DependencyInjection\Tests\Fixtures\CheckTypeDeclarationsPass\Bar; +use Symfony\Component\DependencyInjection\Tests\Fixtures\CheckTypeDeclarationsPass\BarErroredDependency; use Symfony\Component\DependencyInjection\Tests\Fixtures\CheckTypeDeclarationsPass\BarMethodCall; use Symfony\Component\DependencyInjection\Tests\Fixtures\CheckTypeDeclarationsPass\BarOptionalArgument; use Symfony\Component\DependencyInjection\Tests\Fixtures\CheckTypeDeclarationsPass\BarOptionalArgumentNotNull; @@ -31,6 +32,7 @@ use Symfony\Component\DependencyInjection\Tests\Fixtures\CheckTypeDeclarationsPass\FooObject; use Symfony\Component\DependencyInjection\Tests\Fixtures\CheckTypeDeclarationsPass\IntersectionConstructor; use Symfony\Component\DependencyInjection\Tests\Fixtures\CheckTypeDeclarationsPass\UnionConstructor; +use Symfony\Component\DependencyInjection\Tests\Fixtures\CheckTypeDeclarationsPass\UnionConstructorPHP82; use Symfony\Component\DependencyInjection\Tests\Fixtures\CheckTypeDeclarationsPass\Waldo; use Symfony\Component\DependencyInjection\Tests\Fixtures\CheckTypeDeclarationsPass\WaldoFoo; use Symfony\Component\DependencyInjection\Tests\Fixtures\CheckTypeDeclarationsPass\Wobble; @@ -263,17 +265,15 @@ public function testProcessFailsWhenPassingBadTypeToOptional() { - $this->expectException(InvalidArgumentException::class); - $this->expectExceptionMessage('Invalid definition for service "bar": argument 1 of "Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\CheckTypeDeclarationsPass\\BarOptionalArgument::__construct()" accepts "stdClass", "string" passed.'); - $container = new ContainerBuilder(); $container->register('bar', BarOptionalArgument::class) ->addArgument('string instead of stdClass'); - (new CheckTypeDeclarationsPass(true))->process($container); + $this->expectException(InvalidArgumentException::class); + $this->expectExceptionMessage('Invalid definition for service "bar": argument 1 of "Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\CheckTypeDeclarationsPass\\BarOptionalArgument::__construct()" accepts "stdClass", "string" passed.'); - $this->assertNull($container->get('bar')->foo); + (new CheckTypeDeclarationsPass(true))->process($container); } public function testProcessSuccessScalarType() @@ -602,17 +602,15 @@ public function testProcessThrowsOnIterableTypeWhenScalarPassed() { - $this->expectException(InvalidArgumentException::class); - $this->expectExceptionMessage('Invalid definition for service "bar_call": argument 1 of "Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\CheckTypeDeclarationsPass\\BarMethodCall::setIterable()" accepts "iterable", "int" passed.'); - $container = new ContainerBuilder(); $container->register('bar_call', BarMethodCall::class) ->addMethodCall('setIterable', [2]); - (new CheckTypeDeclarationsPass(true))->process($container); + $this->expectException(InvalidArgumentException::class); + $this->expectExceptionMessage('Invalid definition for service "bar_call": argument 1 of "Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\CheckTypeDeclarationsPass\\BarMethodCall::setIterable()" accepts "iterable", "int" passed.'); - $this->assertInstanceOf(\stdClass::class, $container->get('bar')->foo); + (new CheckTypeDeclarationsPass(true))->process($container); } public function testProcessResolveExpressions() @@ -868,6 +866,26 @@ } /** + * @requires PHP 8.2 + */ + public function testUnionTypePassesWithTrue() + { + $container = new ContainerBuilder(); + + $container->register('unionTrue', UnionConstructorPHP82::class) + ->setFactory([UnionConstructorPHP82::class, 'createTrue']) + ->setArguments([true]); + + $container->register('unionNull', UnionConstructorPHP82::class) + ->setFactory([UnionConstructorPHP82::class, 'createNull']) + ->setArguments([null]); + + (new CheckTypeDeclarationsPass(true))->process($container); + + $this->addToAssertionCount(1); + } + + /** * @requires PHP 8 */ public function testUnionTypeFailsWithReference() @@ -997,6 +1015,17 @@ $this->addToAssertionCount(1); } + public function testStaticCallableClass() + { + $container = new ContainerBuilder(); + $container->register('foo', StaticCallableClass::class) + ->setFactory([StaticCallableClass::class, 'staticMethodCall']); + + (new CheckTypeDeclarationsPass())->process($container); + + $this->addToAssertionCount(1); + } + public function testIgnoreDefinitionFactoryArgument() { $container = new ContainerBuilder(); @@ -1010,6 +1039,20 @@ $this->addToAssertionCount(1); } + + public function testErroredDefinitionsAreNotChecked() + { + $container = new ContainerBuilder(); + $container->register('errored_dependency', BarErroredDependency::class) + ->setArguments([ + (new Definition(Foo::class)) + ->addError('error'), + ]); + + (new CheckTypeDeclarationsPass(true))->process($container); + + $this->addToAssertionCount(1); + } } class CallableClass @@ -1018,3 +1061,10 @@ { } } + +class StaticCallableClass +{ + public static function __callStatic($name, $arguments) + { + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/DecoratorServicePassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/DecoratorServicePassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/DecoratorServicePassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/DecoratorServicePassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -198,7 +198,7 @@ $this->process($container); $this->assertEmpty($container->getDefinition('baz.inner')->getTags()); - $this->assertEquals(['bar' => ['attr' => 'baz'], 'foobar' => ['attr' => 'bar']], $container->getDefinition('baz')->getTags()); + $this->assertEquals(['bar' => ['attr' => 'baz'], 'foobar' => ['attr' => 'bar'], 'container.decorator' => [['id' => 'foo']]], $container->getDefinition('baz')->getTags()); } public function testProcessMovesTagsFromDecoratedDefinitionToDecoratingDefinitionMultipleTimes() @@ -221,7 +221,7 @@ $this->process($container); $this->assertEmpty($container->getDefinition('deco1')->getTags()); - $this->assertEquals(['bar' => ['attr' => 'baz']], $container->getDefinition('deco2')->getTags()); + $this->assertEquals(['bar' => ['attr' => 'baz'], 'container.decorator' => [['id' => 'foo']]], $container->getDefinition('deco2')->getTags()); } public function testProcessLeavesServiceLocatorTagOnOriginalDefinition() @@ -240,7 +240,7 @@ $this->process($container); $this->assertEquals(['container.service_locator' => [0 => []]], $container->getDefinition('baz.inner')->getTags()); - $this->assertEquals(['bar' => ['attr' => 'baz'], 'foobar' => ['attr' => 'bar']], $container->getDefinition('baz')->getTags()); + $this->assertEquals(['bar' => ['attr' => 'baz'], 'foobar' => ['attr' => 'bar'], 'container.decorator' => [['id' => 'foo']]], $container->getDefinition('baz')->getTags()); } public function testProcessLeavesServiceSubscriberTagOnOriginalDefinition() @@ -259,7 +259,7 @@ $this->process($container); $this->assertEquals(['container.service_subscriber' => [], 'container.service_subscriber.locator' => []], $container->getDefinition('baz.inner')->getTags()); - $this->assertEquals(['bar' => ['attr' => 'baz'], 'foobar' => ['attr' => 'bar']], $container->getDefinition('baz')->getTags()); + $this->assertEquals(['bar' => ['attr' => 'baz'], 'foobar' => ['attr' => 'bar'], 'container.decorator' => [['id' => 'foo']]], $container->getDefinition('baz')->getTags()); } public function testProcessLeavesProxyTagOnOriginalDefinition() @@ -278,7 +278,7 @@ $this->process($container); $this->assertEquals(['proxy' => 'foo'], $container->getDefinition('baz.inner')->getTags()); - $this->assertEquals(['bar' => ['attr' => 'baz'], 'foobar' => ['attr' => 'bar']], $container->getDefinition('baz')->getTags()); + $this->assertEquals(['bar' => ['attr' => 'baz'], 'foobar' => ['attr' => 'bar'], 'container.decorator' => [['id' => 'foo']]], $container->getDefinition('baz')->getTags()); } public function testCannotDecorateSyntheticService() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/DefinitionErrorExceptionPassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/DefinitionErrorExceptionPassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/DefinitionErrorExceptionPassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/DefinitionErrorExceptionPassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,6 +16,7 @@ use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Exception\RuntimeException; +use Symfony\Component\DependencyInjection\Reference; class DefinitionErrorExceptionPassTest extends TestCase { @@ -49,4 +50,25 @@ $pass->process($container); $this->assertSame($def, $container->getDefinition('foo_service_id')->getArgument(0)); } + + public function testSkipNestedErrors() + { + $container = new ContainerBuilder(); + + $container->register('nested_error', 'stdClass') + ->addError('Things went wrong!'); + + $container->register('bar', 'stdClass') + ->addArgument(new Reference('nested_error')); + + $container->register('foo', 'stdClass') + ->addArgument(new Reference('bar', ContainerBuilder::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE)); + + $pass = new DefinitionErrorExceptionPass(); + $pass->process($container); + + $this->expectException(RuntimeException::class); + $this->expectExceptionMessage('Things went wrong!'); + $container->get('foo'); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -239,7 +239,7 @@ /** * @dataProvider getYamlCompileTests */ - public function testYamlContainerCompiles($directory, $actualServiceId, $expectedServiceId, ContainerBuilder $mainContainer = null) + public function testYamlContainerCompiles($directory, $actualServiceId, $expectedServiceId, ?ContainerBuilder $mainContainer = null) { // allow a container to be passed in, which might have autoconfigure settings $container = $mainContainer ?? new ContainerBuilder(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/PriorityTaggedServiceTraitTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/PriorityTaggedServiceTraitTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/PriorityTaggedServiceTraitTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/PriorityTaggedServiceTraitTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -151,6 +151,11 @@ $container->register('service3', IntTagClass::class)->addTag('my_custom_tag'); + $container->register('service4', HelloInterface::class)->addTag('my_custom_tag'); + + $definition = $container->register('debug.service5', \stdClass::class)->addTag('my_custom_tag'); + $definition->addTag('container.decorator', ['id' => 'service5']); + $priorityTaggedServiceTraitImplementation = new PriorityTaggedServiceTraitImplementation(); $tag = new TaggedIteratorArgument('my_custom_tag', 'foo', 'getFooBar'); @@ -158,6 +163,8 @@ 'bar_tab_class_with_defaultmethod' => new TypedReference('service2', BarTagClass::class), 'service1' => new TypedReference('service1', FooTagClass::class), '10' => new TypedReference('service3', IntTagClass::class), + 'service4' => new TypedReference('service4', HelloInterface::class), + 'service5' => new TypedReference('debug.service5', \stdClass::class), ]; $services = $priorityTaggedServiceTraitImplementation->test($tag, $container); $this->assertSame(array_keys($expected), array_keys($services)); @@ -244,3 +251,8 @@ class HelloNamedService2 { } + +interface HelloInterface +{ + public static function getFooBar(): string; +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/RegisterAutoconfigureAttributesPassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/RegisterAutoconfigureAttributesPassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/RegisterAutoconfigureAttributesPassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/RegisterAutoconfigureAttributesPassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -19,6 +19,12 @@ use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\DependencyInjection\Tests\Fixtures\AutoconfigureAttributed; use Symfony\Component\DependencyInjection\Tests\Fixtures\AutoconfiguredInterface; +use Symfony\Component\DependencyInjection\Tests\Fixtures\AutoconfigureRepeated; +use Symfony\Component\DependencyInjection\Tests\Fixtures\AutoconfigureRepeatedBindings; +use Symfony\Component\DependencyInjection\Tests\Fixtures\AutoconfigureRepeatedCalls; +use Symfony\Component\DependencyInjection\Tests\Fixtures\AutoconfigureRepeatedOverwrite; +use Symfony\Component\DependencyInjection\Tests\Fixtures\AutoconfigureRepeatedProperties; +use Symfony\Component\DependencyInjection\Tests\Fixtures\AutoconfigureRepeatedTag; use Symfony\Component\DependencyInjection\Tests\Fixtures\ParentNotExists; /** @@ -35,9 +41,6 @@ (new RegisterAutoconfigureAttributesPass())->process($container); $argument = new BoundArgument(1, false, BoundArgument::INSTANCEOF_BINDING, realpath(__DIR__.'/../Fixtures/AutoconfigureAttributed.php')); - $values = $argument->getValues(); - --$values[1]; - $argument->setValues($values); $expected = (new ChildDefinition('')) ->setLazy(true) @@ -80,6 +83,99 @@ $this->assertEquals([AutoconfiguredInterface::class => $expected], $container->getAutoconfiguredInstanceof()); } + public function testAutoconfiguredRepeated() + { + $container = new ContainerBuilder(); + $container->register('foo', AutoconfigureRepeated::class) + ->setAutoconfigured(true); + + (new RegisterAutoconfigureAttributesPass())->process($container); + + $expected = (new ChildDefinition('')) + ->setLazy(true) + ->setPublic(true) + ->setShared(false); + + $this->assertEquals([AutoconfigureRepeated::class => $expected], $container->getAutoconfiguredInstanceof()); + } + + public function testAutoconfiguredRepeatedOverwrite() + { + $container = new ContainerBuilder(); + $container->register('foo', AutoconfigureRepeatedOverwrite::class) + ->setAutoconfigured(true); + + (new RegisterAutoconfigureAttributesPass())->process($container); + + $expected = (new ChildDefinition('')) + ->setLazy(true) + ->setPublic(false) + ->setShared(true); + + $this->assertEquals([AutoconfigureRepeatedOverwrite::class => $expected], $container->getAutoconfiguredInstanceof()); + } + + public function testAutoconfiguredRepeatedTag() + { + $container = new ContainerBuilder(); + $container->register('foo', AutoconfigureRepeatedTag::class) + ->setAutoconfigured(true); + + (new RegisterAutoconfigureAttributesPass())->process($container); + + $expected = (new ChildDefinition('')) + ->addTag('foo', ['priority' => 2]) + ->addTag('bar'); + + $this->assertEquals([AutoconfigureRepeatedTag::class => $expected], $container->getAutoconfiguredInstanceof()); + } + + public function testAutoconfiguredRepeatedCalls() + { + $container = new ContainerBuilder(); + $container->register('foo', AutoconfigureRepeatedCalls::class) + ->setAutoconfigured(true); + + (new RegisterAutoconfigureAttributesPass())->process($container); + + $expected = (new ChildDefinition('')) + ->addMethodCall('setBar', ['arg2']) + ->addMethodCall('setFoo', ['arg1']); + + $this->assertEquals([AutoconfigureRepeatedCalls::class => $expected], $container->getAutoconfiguredInstanceof()); + } + + public function testAutoconfiguredRepeatedBindingsOverwrite() + { + $container = new ContainerBuilder(); + $container->register('foo', AutoconfigureRepeatedBindings::class) + ->setAutoconfigured(true); + + (new RegisterAutoconfigureAttributesPass())->process($container); + + $expected = (new ChildDefinition('')) + ->setBindings(['$arg' => new BoundArgument('bar', false, BoundArgument::INSTANCEOF_BINDING, realpath(__DIR__.'/../Fixtures/AutoconfigureRepeatedBindings.php'))]); + + $this->assertEquals([AutoconfigureRepeatedBindings::class => $expected], $container->getAutoconfiguredInstanceof()); + } + + public function testAutoconfiguredRepeatedPropertiesOverwrite() + { + $container = new ContainerBuilder(); + $container->register('foo', AutoconfigureRepeatedProperties::class) + ->setAutoconfigured(true); + + (new RegisterAutoconfigureAttributesPass())->process($container); + + $expected = (new ChildDefinition('')) + ->setProperties([ + '$foo' => 'bar', + '$bar' => 'baz', + ]); + + $this->assertEquals([AutoconfigureRepeatedProperties::class => $expected], $container->getAutoconfiguredInstanceof()); + } + public function testMissingParent() { $container = new ContainerBuilder(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveBindingsPassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveBindingsPassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveBindingsPassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveBindingsPassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,6 +12,7 @@ namespace Symfony\Component\DependencyInjection\Tests\Compiler; use PHPUnit\Framework\TestCase; +use Symfony\Component\DependencyInjection\Argument\AbstractArgument; use Symfony\Component\DependencyInjection\Argument\BoundArgument; use Symfony\Component\DependencyInjection\Argument\ServiceLocatorArgument; use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument; @@ -262,11 +263,23 @@ $definition->setArguments(['c' => 'C', 'hostName' => 'H']); $definition->setBindings($bindings); - $container->register('foo', CaseSensitiveClass::class); - $pass = new ResolveBindingsPass(); $pass->process($container); $this->assertEquals(['C', 'K', 'H'], $definition->getArguments()); } + + public function testAbstractArg() + { + $container = new ContainerBuilder(); + + $definition = $container->register(NamedArgumentsDummy::class, NamedArgumentsDummy::class); + $definition->setArguments([new AbstractArgument(), 'apiKey' => new AbstractArgument()]); + $definition->setBindings(['$c' => new BoundArgument('C'), '$apiKey' => new BoundArgument('K')]); + + $pass = new ResolveBindingsPass(); + $pass->process($container); + + $this->assertEquals(['C', 'K'], $definition->getArguments()); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInstanceofConditionalsPassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInstanceofConditionalsPassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInstanceofConditionalsPassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInstanceofConditionalsPassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -318,6 +318,7 @@ $decorator->setDecoratedService('decorated'); $decorator->setInstanceofConditionals([ parent::class => (new ChildDefinition(''))->addTag('tag'), + self::class => (new ChildDefinition(''))->addTag('other-tag'), ]); $decorator->setAutoconfigured(true); $decorator->addTag('manual'); @@ -325,11 +326,18 @@ $container->registerForAutoconfiguration(parent::class) ->addTag('tag') ; + $container->registerForAutoconfiguration(self::class) + ->addTag('last-tag') + ; (new ResolveInstanceofConditionalsPass())->process($container); (new ResolveChildDefinitionsPass())->process($container); - $this->assertSame(['manual' => [[]]], $container->getDefinition('decorator')->getTags()); + $this->assertSame([ + 'manual' => [[]], + 'other-tag' => [[]], + 'last-tag' => [[]], + ], $container->getDefinition('decorator')->getTags()); } public function testDecoratorsKeepBehaviorDescribingTags() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ValidateEnvPlaceholdersPassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ValidateEnvPlaceholdersPassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ValidateEnvPlaceholdersPassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Compiler/ValidateEnvPlaceholdersPassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -365,7 +365,7 @@ private $configuration; private $config; - public function __construct(ConfigurationInterface $configuration = null) + public function __construct(?ConfigurationInterface $configuration = null) { $this->configuration = $configuration ?? new EnvConfiguration(); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceCheckerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceCheckerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceCheckerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceCheckerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -46,7 +46,7 @@ */ public function testIsFresh(callable $mockContainer, $expected) { - $mockContainer($this->container); + $mockContainer($this->container, $this); $this->assertSame($expected, $this->resourceChecker->isFresh($this->resource, time())); } @@ -61,9 +61,9 @@ $container->method('getParameter')->with('locales')->willReturn(['nl', 'es']); }, false]; - yield 'fresh on every identical parameters' => [function (MockObject $container) { - $container->expects(self::exactly(2))->method('hasParameter')->willReturn(true); - $container->expects(self::exactly(2))->method('getParameter') + yield 'fresh on every identical parameters' => [function (MockObject $container, TestCase $testCase) { + $container->expects($testCase->exactly(2))->method('hasParameter')->willReturn(true); + $container->expects($testCase->exactly(2))->method('getParameter') ->willReturnCallback(function (...$args) { static $series = [ [['locales'], ['fr', 'en']], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -839,8 +839,8 @@ $container->register('foo', 'stdClass') ->setPublic(true) ->setProperties([ - 'fake' => '%env(int:FAKE)%', - ]); + 'fake' => '%env(resolve:FAKE)%', + ]); $container->compile(true); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/ContainerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/ContainerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/ContainerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/ContainerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -14,11 +14,13 @@ use PHPUnit\Framework\TestCase; use Symfony\Component\DependencyInjection\Container; use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\DependencyInjection\EnvVarProcessor; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; use Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException; use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException; use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; +use Symfony\Component\DependencyInjection\ServiceLocator; use Symfony\Contracts\Service\ResetInterface; class ContainerTest extends TestCase @@ -405,6 +407,33 @@ $c->get('internal_dependency'); $c->get('internal'); } + + public function testGetEnvDoesNotAutoCastNullWithDefaultEnvVarProcessor() + { + $container = new Container(); + $container->setParameter('env(FOO)', null); + $container->compile(); + + $r = new \ReflectionMethod($container, 'getEnv'); + $r->setAccessible(true); + $this->assertNull($r->invoke($container, 'FOO')); + } + + public function testGetEnvDoesNotAutoCastNullWithEnvVarProcessorsLocatorReturningDefaultEnvVarProcessor() + { + $container = new Container(); + $container->setParameter('env(FOO)', null); + $container->set('container.env_var_processors_locator', new ServiceLocator([ + 'string' => static function () use ($container): EnvVarProcessor { + return new EnvVarProcessor($container); + }, + ])); + $container->compile(); + + $r = new \ReflectionMethod($container, 'getEnv'); + $r->setAccessible(true); + $this->assertNull($r->invoke($container, 'FOO')); + } } class ProjectServiceContainer extends Container diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -17,11 +17,15 @@ use Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument; use Symfony\Component\DependencyInjection\Argument\ServiceLocatorArgument; use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument; +use Symfony\Component\DependencyInjection\Compiler\AutowirePass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\Dumper\XmlDumper; use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; use Symfony\Component\DependencyInjection\Reference; +use Symfony\Component\DependencyInjection\Tests\Fixtures\FooClassWithDefaultArrayAttribute; +use Symfony\Component\DependencyInjection\Tests\Fixtures\FooClassWithDefaultEnumAttribute; +use Symfony\Component\DependencyInjection\Tests\Fixtures\FooClassWithDefaultObjectAttribute; use Symfony\Component\DependencyInjection\Tests\Fixtures\FooClassWithEnumAttribute; use Symfony\Component\DependencyInjection\Tests\Fixtures\FooUnitEnum; use Symfony\Component\DependencyInjection\Tests\Fixtures\FooWithAbstractArgument; @@ -287,6 +291,34 @@ $this->assertEquals(file_get_contents(self::$fixturesPath.'/xml/services_with_enumeration.xml'), $dumper->dump()); } + /** + * @requires PHP 8.1 + * + * @dataProvider provideDefaultClasses + */ + public function testDumpHandlesDefaultAttribute($class, $expectedFile) + { + $container = new ContainerBuilder(); + $container + ->register('foo', $class) + ->setPublic(true) + ->setAutowired(true) + ->setArguments([2 => true]); + + (new AutowirePass())->process($container); + + $dumper = new XmlDumper($container); + + $this->assertSame(file_get_contents(self::$fixturesPath.'/xml/'.$expectedFile), $dumper->dump()); + } + + public static function provideDefaultClasses() + { + yield [FooClassWithDefaultArrayAttribute::class, 'services_with_default_array.xml']; + yield [FooClassWithDefaultObjectAttribute::class, 'services_with_default_object.xml']; + yield [FooClassWithDefaultEnumAttribute::class, 'services_with_default_enumeration.xml']; + } + public function testDumpServiceWithAbstractArgument() { $container = new ContainerBuilder(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -17,12 +17,16 @@ use Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument; use Symfony\Component\DependencyInjection\Argument\ServiceLocatorArgument; use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument; +use Symfony\Component\DependencyInjection\Compiler\AutowirePass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Dumper\YamlDumper; use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; use Symfony\Component\DependencyInjection\Reference; +use Symfony\Component\DependencyInjection\Tests\Fixtures\FooClassWithDefaultArrayAttribute; +use Symfony\Component\DependencyInjection\Tests\Fixtures\FooClassWithDefaultEnumAttribute; +use Symfony\Component\DependencyInjection\Tests\Fixtures\FooClassWithDefaultObjectAttribute; use Symfony\Component\DependencyInjection\Tests\Fixtures\FooClassWithEnumAttribute; use Symfony\Component\DependencyInjection\Tests\Fixtures\FooUnitEnum; use Symfony\Component\DependencyInjection\Tests\Fixtures\FooWithAbstractArgument; @@ -153,6 +157,34 @@ $this->assertEquals(file_get_contents(self::$fixturesPath.'/yaml/services_with_enumeration.yml'), $dumper->dump()); } + /** + * @requires PHP 8.1 + * + * @dataProvider provideDefaultClasses + */ + public function testDumpHandlesDefaultAttribute($class, $expectedFile) + { + $container = new ContainerBuilder(); + $container + ->register('foo', $class) + ->setPublic(true) + ->setAutowired(true) + ->setArguments([2 => true]); + + (new AutowirePass())->process($container); + + $dumper = new YamlDumper($container); + + $this->assertSame(file_get_contents(self::$fixturesPath.'/yaml/'.$expectedFile), $dumper->dump()); + } + + public static function provideDefaultClasses() + { + yield [FooClassWithDefaultArrayAttribute::class, 'services_with_default_array.yml']; + yield [FooClassWithDefaultObjectAttribute::class, 'services_with_default_object.yml']; + yield [FooClassWithDefaultEnumAttribute::class, 'services_with_default_enumeration.yml']; + } + public function testDumpServiceWithAbstractArgument() { $container = new ContainerBuilder(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/EnvVarProcessorTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/EnvVarProcessorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/EnvVarProcessorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/EnvVarProcessorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -760,4 +760,36 @@ ['blog//', 'https://symfony.com/blog//'], ]; } + + /** + * @testWith ["", "string"] + * [null, ""] + * [false, "bool"] + * [true, "not"] + * [0, "int"] + * [0.0, "float"] + */ + public function testGetEnvCastsNullBehavior($expected, string $prefix) + { + $processor = new EnvVarProcessor(new Container()); + + $this->assertSame($expected, $processor->getEnv($prefix, 'default::FOO', static function () use ($processor) { + return $processor->getEnv('default', ':FOO', static function () { + return null; + }); + })); + } + + public function testGetEnvWithEmptyStringPrefixCastsToString() + { + $processor = new EnvVarProcessor(new Container()); + unset($_ENV['FOO']); + $_ENV['FOO'] = 4; + + try { + $this->assertSame('4', $processor->getEnv('', 'FOO', function () { $this->fail('Should not be called'); })); + } finally { + unset($_ENV['FOO']); + } + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeated.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeated.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeated.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeated.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,11 @@ + 'foo'])] +#[Autoconfigure(bind: ['$arg' => 'bar'])] +class AutoconfigureRepeatedBindings +{ +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedCalls.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedCalls.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedCalls.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedCalls.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,18 @@ + 'to be replaced', '$bar' => 'existing to be replaced'])] +#[Autoconfigure(properties: ['$foo' => 'bar', '$bar' => 'baz'])] +class AutoconfigureRepeatedProperties +{ +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedTag.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedTag.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedTag.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/AutoconfigureRepeatedTag.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,11 @@ + 2])] +#[AutoconfigureTag('bar')] +class AutoconfigureRepeatedTag +{ +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Bar.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Bar.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Bar.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Bar.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,12 +15,12 @@ { public $quz; - public function __construct($quz = null, \NonExistent $nonExistent = null, BarInterface $decorated = null, array $foo = [], iterable $baz = []) + public function __construct($quz = null, ?\NonExistent $nonExistent = null, ?BarInterface $decorated = null, array $foo = [], iterable $baz = []) { $this->quz = $quz; } - public static function create(\NonExistent $nonExistent = null, $factory = null) + public static function create(?\NonExistent $nonExistent = null, $factory = null) { } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/BarErroredDependency.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/BarErroredDependency.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/BarErroredDependency.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/BarErroredDependency.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,10 @@ +foo = $foo; } - public function setFoosOptional(Foo $foo, Foo $fooOptional = null) + public function setFoosOptional(Foo $foo, ?Foo $fooOptional = null) { $this->foo = $foo; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/BarOptionalArgument.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/BarOptionalArgument.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/BarOptionalArgument.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/BarOptionalArgument.php 2026-05-20 08:22:01.000000000 +0000 @@ -6,7 +6,7 @@ { public $foo; - public function __construct(\stdClass $foo = null) + public function __construct(?\stdClass $foo = null) { $this->foo = $foo; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/Foo.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/Foo.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/Foo.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/Foo.php 2026-05-20 08:22:01.000000000 +0000 @@ -9,7 +9,7 @@ return new Bar(new \stdClass()); } - public static function createBarArguments(\stdClass $stdClass, \stdClass $stdClassOptional = null) + public static function createBarArguments(\stdClass $stdClass, ?\stdClass $stdClassOptional = null) { return new Bar($stdClass); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/UnionConstructorPHP82.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/UnionConstructorPHP82.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/UnionConstructorPHP82.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/UnionConstructorPHP82.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,16 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\DependencyInjection\Tests\Fixtures; + +use Symfony\Component\DependencyInjection\Tests\Compiler\A; +use Symfony\Component\DependencyInjection\Tests\Compiler\CollisionInterface; +use Symfony\Component\DependencyInjection\Tests\Compiler\Foo; + +class OptionalParameter +{ + public function __construct(?CollisionInterface $c = null, A $a, ?Foo $f = null) + { + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Prototype/Foo.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Prototype/Foo.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Prototype/Foo.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Prototype/Foo.php 2026-05-20 08:22:01.000000000 +0000 @@ -8,7 +8,7 @@ #[When(env: 'dev')] class Foo implements FooInterface, Sub\BarInterface { - public function __construct($bar = null, iterable $foo = null, object $baz = null) + public function __construct($bar = null, ?iterable $foo = null, ?object $baz = null) { } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCaller.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCaller.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCaller.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCaller.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,16 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\DependencyInjection\Tests\Fixtures; + +interface RemoteCaller +{ +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCallerHttp.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCallerHttp.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCallerHttp.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCallerHttp.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,16 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\DependencyInjection\Tests\Fixtures; + +class RemoteCallerHttp implements RemoteCaller +{ +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCallerSocket.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCallerSocket.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCallerSocket.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/RemoteCallerSocket.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,16 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\DependencyInjection\Tests\Fixtures; + +class RemoteCallerSocket implements RemoteCaller +{ +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/anonymous.expected.yml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/anonymous.expected.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/anonymous.expected.yml 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/anonymous.expected.yml 2026-05-20 08:22:01.000000000 +0000 @@ -15,4 +15,6 @@ decorated: class: Symfony\Component\DependencyInjection\Tests\Fixtures\StdClassDecorator public: true + tags: + - container.decorator: { id: decorated } arguments: [!service { class: stdClass }] diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/child.expected.yml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/child.expected.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/child.expected.yml 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/config/child.expected.yml 2026-05-20 08:22:01.000000000 +0000 @@ -7,6 +7,8 @@ foo: class: Class2 public: true + tags: + - container.decorator: { id: bar } file: file.php lazy: true arguments: [!service { class: Class1 }] diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,7 +12,7 @@ 'utf-8 valid string' => "\u{021b}\u{1b56}\ttest", 'binary' => "\xf0\xf0\xf0\xf0", 'binary-control-char' => "This is a Bell char \x07", - 'console banner' => "\e[37;44m#StandWith\e[30;43mUkraine\e[0m", + 'console banner' => "\e[37;44mHello\e[30;43mWorld\e[0m", 'null string' => 'null', 'string of digits' => '123', 'string of digits prefixed with minus character' => '-123', diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes.php 2026-05-20 08:22:01.000000000 +0000 @@ -99,7 +99,7 @@ class E { - public function __construct(D $d = null) + public function __construct(?D $d = null) { } } @@ -155,13 +155,6 @@ } } -class OptionalParameter -{ - public function __construct(CollisionInterface $c = null, A $a, Foo $f = null) - { - } -} - class BadTypeHintedArgument { public function __construct(Dunglas $k, NotARealClass $r) @@ -195,7 +188,7 @@ class MultipleArgumentsOptionalScalar { - public function __construct(A $a, $foo = 'default_val', Lille $lille = null) + public function __construct(A $a, $foo = 'default_val', ?Lille $lille = null) { } } @@ -211,7 +204,7 @@ */ class ClassForResource { - public function __construct($foo, Bar $bar = null) + public function __construct($foo, ?Bar $bar = null) { } @@ -350,7 +343,7 @@ { } - public function setOptionalNotAutowireable(NotARealClass $n = null) + public function setOptionalNotAutowireable(?NotARealClass $n = null) { } @@ -399,7 +392,7 @@ class Decorated implements DecoratorInterface { - public function __construct($quz = null, \NonExistent $nonExistent = null, DecoratorInterface $decorated = null, array $foo = []) + public function __construct($quz = null, ?\NonExistent $nonExistent = null, ?DecoratorInterface $decorated = null, array $foo = []) { } } @@ -431,3 +424,10 @@ { } } + +class ParametersLikeDefaultValue +{ + public function __construct(string $parameterLike = '%not%one%parameter%here%', string $willBeSetToKeepFirstArgumentDefaultValue = 'ok') + { + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php 2026-05-20 08:22:01.000000000 +0000 @@ -109,7 +109,7 @@ 'utf-8 valid string' => 'ț᭖ test', 'binary' => '', 'binary-control-char' => 'This is a Bell char ', - 'console banner' => '#StandWithUkraine', + 'console banner' => 'HelloWorld', 'null string' => 'null', 'string of digits' => '123', 'string of digits prefixed with minus character' => '-123', diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services14.xml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services14.xml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services14.xml 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services14.xml 2026-05-20 08:22:01.000000000 +0000 @@ -3,10 +3,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd"> - - app - - diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ ț᭖ test 8PDw8A== VGhpcyBpcyBhIEJlbGwgY2hhciAH - G1szNzs0NG0jU3RhbmRXaXRoG1szMDs0M21Va3JhaW5lG1swbQ== + G1szNzs0NG1IZWxsbxtbMzA7NDNtV29ybGQbWzBt null 123 -123 diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_array.xml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_array.xml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_array.xml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_array.xml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,15 @@ + + + + + + true + + + The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it. + + + The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it. + + + diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_enumeration.xml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_enumeration.xml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_enumeration.xml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_enumeration.xml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,15 @@ + + + + + + true + + + The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it. + + + The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it. + + + diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_object.xml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_object.xml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_object.xml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services_with_default_object.xml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,15 @@ + + + + + + true + + + The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it. + + + The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it. + + + diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/when-env-services.xml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/when-env-services.xml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/when-env-services.xml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/when-env-services.xml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml 2026-05-20 08:22:01.000000000 +0000 @@ -7,7 +7,7 @@ utf-8 valid string: "ț᭖\ttest" binary: !!binary 8PDw8A== binary-control-char: !!binary VGhpcyBpcyBhIEJlbGwgY2hhciAH - console banner: "\e[37;44m#StandWith\e[30;43mUkraine\e[0m" + console banner: "\e[37;44mHello\e[30;43mWorld\e[0m" null string: 'null' string of digits: '123' string of digits prefixed with minus character: '-123' diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_array.yml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_array.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_array.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_array.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,23 @@ + +services: + service_container: + class: Symfony\Component\DependencyInjection\ContainerInterface + public: true + synthetic: true + foo: + class: Symfony\Component\DependencyInjection\Tests\Fixtures\FooClassWithDefaultArrayAttribute + public: true + autowire: true + arguments: { secondOptional: true } + Psr\Container\ContainerInterface: + alias: service_container + deprecated: + package: symfony/dependency-injection + version: 5.1 + message: The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it. + Symfony\Component\DependencyInjection\ContainerInterface: + alias: service_container + deprecated: + package: symfony/dependency-injection + version: 5.1 + message: The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_enumeration.yml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_enumeration.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_enumeration.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_enumeration.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,23 @@ + +services: + service_container: + class: Symfony\Component\DependencyInjection\ContainerInterface + public: true + synthetic: true + foo: + class: Symfony\Component\DependencyInjection\Tests\Fixtures\FooClassWithDefaultEnumAttribute + public: true + autowire: true + arguments: { secondOptional: true } + Psr\Container\ContainerInterface: + alias: service_container + deprecated: + package: symfony/dependency-injection + version: 5.1 + message: The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it. + Symfony\Component\DependencyInjection\ContainerInterface: + alias: service_container + deprecated: + package: symfony/dependency-injection + version: 5.1 + message: The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_object.yml symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_object.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_object.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services_with_default_object.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,23 @@ + +services: + service_container: + class: Symfony\Component\DependencyInjection\ContainerInterface + public: true + synthetic: true + foo: + class: Symfony\Component\DependencyInjection\Tests\Fixtures\FooClassWithDefaultObjectAttribute + public: true + autowire: true + arguments: { secondOptional: true } + Psr\Container\ContainerInterface: + alias: service_container + deprecated: + package: symfony/dependency-injection + version: 5.1 + message: The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it. + Symfony\Component\DependencyInjection\ContainerInterface: + alias: service_container + deprecated: + package: symfony/dependency-injection + version: 5.1 + message: The "%alias_id%" autowiring alias is deprecated. Define it explicitly in your app if you want to keep using it. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -299,12 +299,12 @@ { public $autoRegisterAliasesForSinglyImplementedInterfaces = true; - public function load($resource, string $type = null) + public function load($resource, ?string $type = null) { return $resource; } - public function supports($resource, string $type = null): bool + public function supports($resource, ?string $type = null): bool { return false; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/GlobFileLoaderTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/GlobFileLoaderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/GlobFileLoaderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/GlobFileLoaderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -38,7 +38,7 @@ class GlobFileLoaderWithoutImport extends GlobFileLoader { - public function import($resource, string $type = null, $ignoreErrors = false, string $sourceResource = null, $exclude = null) + public function import($resource, ?string $type = null, $ignoreErrors = false, ?string $sourceResource = null, $exclude = null) { return null; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -194,6 +194,8 @@ */ public function testWhenEnv() { + $this->expectNotToPerformAssertions(); + $fixtures = realpath(__DIR__.'/../Fixtures'); $container = new ContainerBuilder(); $loader = new PhpFileLoader($container, new FileLocator(), 'dev', new ConfigBuilderGenerator(sys_get_temp_dir())); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -44,6 +44,9 @@ use Symfony\Component\DependencyInjection\Tests\Fixtures\FooWithAbstractArgument; use Symfony\Component\DependencyInjection\Tests\Fixtures\NamedArgumentsDummy; use Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype; +use Symfony\Component\DependencyInjection\Tests\Fixtures\RemoteCaller; +use Symfony\Component\DependencyInjection\Tests\Fixtures\RemoteCallerHttp; +use Symfony\Component\DependencyInjection\Tests\Fixtures\RemoteCallerSocket; use Symfony\Component\ExpressionLanguage\Expression; class XmlFileLoaderTest extends TestCase @@ -1167,4 +1170,19 @@ $this->assertSame(['foo' => 234, 'bar' => 345], $container->getParameterBag()->all()); } + + public function testLoadServicesWithEnvironment() + { + $container = new ContainerBuilder(); + + $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'), 'prod'); + $loader->load('when-env-services.xml'); + + self::assertInstanceOf(RemoteCallerHttp::class, $container->get(RemoteCaller::class)); + + $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'), 'dev'); + $loader->load('when-env-services.xml'); + + self::assertInstanceOf(RemoteCallerSocket::class, $container->get(RemoteCaller::class)); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/TypedReference.php symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/TypedReference.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DependencyInjection/TypedReference.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DependencyInjection/TypedReference.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,7 +27,7 @@ * @param int $invalidBehavior The behavior when the service does not exist * @param string|null $name The name of the argument targeting the service */ - public function __construct(string $id, string $type, int $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, string $name = null) + public function __construct(string $id, string $type, int $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, ?string $name = null) { $this->name = $type === $id ? $name : null; parent::__construct($id, $invalidBehavior); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/AbstractUriElement.php symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/AbstractUriElement.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/AbstractUriElement.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/AbstractUriElement.php 2026-05-20 08:22:01.000000000 +0000 @@ -40,13 +40,13 @@ * * @throws \InvalidArgumentException if the node is not a link */ - public function __construct(\DOMElement $node, string $currentUri = null, ?string $method = 'GET') + public function __construct(\DOMElement $node, ?string $currentUri = null, ?string $method = 'GET') { $this->setNode($node); $this->method = $method ? strtoupper($method) : null; $this->currentUri = $currentUri; - $elementUriIsRelative = null === parse_url(trim($this->getRawUri()), \PHP_URL_SCHEME); + $elementUriIsRelative = !parse_url(trim($this->getRawUri()), \PHP_URL_SCHEME); $baseUriIsAbsolute = null !== $this->currentUri && \in_array(strtolower(substr($this->currentUri, 0, 4)), ['http', 'file']); if ($elementUriIsRelative && !$baseUriIsAbsolute) { throw new \InvalidArgumentException(sprintf('The URL of the element is relative, so you must define its base URI passing an absolute URL to the constructor of the "%s" class ("%s" was passed).', __CLASS__, $this->currentUri)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/Crawler.php symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Crawler.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/Crawler.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Crawler.php 2026-05-20 08:22:01.000000000 +0000 @@ -81,7 +81,7 @@ /** * @param \DOMNodeList|\DOMNode|\DOMNode[]|string|null $node A Node to use as the base for the crawling */ - public function __construct($node = null, string $uri = null, string $baseHref = null) + public function __construct($node = null, ?string $uri = null, ?string $baseHref = null) { $this->uri = $uri; $this->baseHref = $baseHref ?: $uri; @@ -153,7 +153,7 @@ * or ISO-8859-1 as a fallback, which is the default charset defined by the * HTTP 1.1 specification. */ - public function addContent(string $content, string $type = null) + public function addContent(string $content, ?string $type = null) { if (empty($type)) { $type = str_starts_with($content, 'validateOnParse = true; if ('' !== trim($content)) { @$dom->loadXML($content, $options); @@ -366,7 +365,7 @@ * * @return static */ - public function slice(int $offset = 0, int $length = null) + public function slice(int $offset = 0, ?int $length = null) { return $this->createSubCrawler(\array_slice($this->nodes, $offset, $length)); } @@ -546,7 +545,7 @@ * @throws \InvalidArgumentException When current node is empty * @throws \RuntimeException If the CssSelector Component is not available and $selector is provided */ - public function children(string $selector = null) + public function children(?string $selector = null) { if (!$this->nodes) { throw new \InvalidArgumentException('The current node list is empty.'); @@ -610,7 +609,7 @@ * * @throws \InvalidArgumentException When current node is empty */ - public function text(string $default = null, bool $normalizeWhitespace = true) + public function text(?string $default = null, bool $normalizeWhitespace = true) { if (!$this->nodes) { if (null !== $default) { @@ -646,7 +645,7 @@ * * @throws \InvalidArgumentException When current node is empty */ - public function html(string $default = null) + public function html(?string $default = null) { if (!$this->nodes) { if (null !== $default) { @@ -778,7 +777,7 @@ * * @return static * - * @throws \RuntimeException if the CssSelector Component is not available + * @throws \LogicException if the CssSelector Component is not available */ public function filter(string $selector) { @@ -915,7 +914,7 @@ * * @throws \InvalidArgumentException If the current node list is empty or the selected node is not instance of DOMElement */ - public function form(array $values = null, string $method = null) + public function form(?array $values = null, ?string $method = null) { if (!$this->nodes) { throw new \InvalidArgumentException('The current node list is empty.'); @@ -1151,12 +1150,30 @@ private function parseHtml5(string $htmlContent, string $charset = 'UTF-8'): \DOMDocument { - return $this->html5Parser->parse($this->convertToHtmlEntities($htmlContent, $charset)); + if (!$this->supportsEncoding($charset)) { + $htmlContent = $this->convertToHtmlEntities($htmlContent, $charset); + $charset = 'UTF-8'; + } + + return $this->html5Parser->parse($htmlContent, ['encoding' => $charset]); + } + + private function supportsEncoding(string $encoding): bool + { + try { + return '' === @mb_convert_encoding('', $encoding, 'UTF-8'); + } catch (\Throwable $e) { + return false; + } } private function parseXhtml(string $htmlContent, string $charset = 'UTF-8'): \DOMDocument { - $htmlContent = $this->convertToHtmlEntities($htmlContent, $charset); + if ('UTF-8' === $charset && preg_match('//u', $htmlContent)) { + $htmlContent = ''.$htmlContent; + } else { + $htmlContent = $this->convertToHtmlEntities($htmlContent, $charset); + } $internalErrors = libxml_use_internal_errors(true); if (\LIBXML_VERSION < 20900) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/Form.php symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Form.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/Form.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Form.php 2026-05-20 08:22:01.000000000 +0000 @@ -44,7 +44,7 @@ * * @throws \LogicException if the node is not a button inside a form tag */ - public function __construct(\DOMElement $node, string $currentUri = null, string $method = null, string $baseHref = null) + public function __construct(\DOMElement $node, ?string $currentUri = null, ?string $method = null, ?string $baseHref = null) { parent::__construct($node, $currentUri, $method); $this->baseHref = $baseHref; @@ -203,9 +203,8 @@ $uri = parent::getUri(); if (!\in_array($this->getMethod(), ['POST', 'PUT', 'DELETE', 'PATCH'])) { - $query = parse_url($uri, \PHP_URL_QUERY); $currentParameters = []; - if ($query) { + if ($query = parse_url($uri, \PHP_URL_QUERY)) { parse_str($query, $currentParameters); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/Image.php symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Image.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/Image.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Image.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ */ class Image extends AbstractUriElement { - public function __construct(\DOMElement $node, string $currentUri = null) + public function __construct(\DOMElement $node, ?string $currentUri = null) { parent::__construct($node, $currentUri, 'GET'); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTestCase.php symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTestCase.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTestCase.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTestCase.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,7 +24,7 @@ abstract public static function getDoctype(): string; - protected function createCrawler($node = null, string $uri = null, string $baseHref = null) + protected function createCrawler($node = null, ?string $uri = null, ?string $baseHref = null) { return new Crawler($node, $uri, $baseHref); } @@ -153,6 +153,18 @@ $this->assertEquals('foo', $crawler->filterXPath('//div')->attr('class'), '->addXmlContent() adds nodes from an XML string'); } + public function testAddXmlContentDoesNotExpandExternalEntities() + { + $crawler = $this->createCrawler(); + $crawler->addXmlContent( + '' + .']>' + .'&xxe;' + ); + + $this->assertSame('', $crawler->text()); + } + public function testAddXmlContentCharset() { $crawler = $this->createCrawler(); @@ -194,6 +206,10 @@ $crawler = $this->createCrawler(); $crawler->addContent($this->getDoctype().'
'); $this->assertEquals('foo', $crawler->filterXPath('//div')->attr('class'), '->addContent() ignores bad charset'); + + $crawler = $this->createCrawler(); + $crawler->addContent($this->getDoctype().'', 'text/html; charset=UTF-8'); + $this->assertEquals('var foo = "bär";', $crawler->filterXPath('//script')->text(), '->addContent() does not interfere with script content'); } /** diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/Tests/UriResolverTest.php symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Tests/UriResolverTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/Tests/UriResolverTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/Tests/UriResolverTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -84,6 +84,11 @@ ['foo', 'http://localhost?bar=1', 'http://localhost/foo'], ['foo', 'http://localhost#bar', 'http://localhost/foo'], + + ['http://', 'http://localhost', 'http://'], + ['/foo:123', 'http://localhost', 'http://localhost/foo:123'], + ['foo:123', 'http://localhost/', 'foo:123'], + ['foo/bar:1/baz', 'http://localhost/', 'http://localhost/foo/bar:1/baz'], ]; } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/UriResolver.php symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/UriResolver.php --- symfony-5.4.23+dfsg/src/Symfony/Component/DomCrawler/UriResolver.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/DomCrawler/UriResolver.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ $uri = trim($uri); // absolute URL? - if (null !== parse_url($uri, \PHP_URL_SCHEME)) { + if (null !== parse_url(\strlen($uri) !== strcspn($uri, '?#') ? $uri : $uri.'#', \PHP_URL_SCHEME)) { return $uri; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Command/DebugCommand.php symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Command/DebugCommand.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Command/DebugCommand.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Command/DebugCommand.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,6 +12,7 @@ namespace Symfony\Component\Dotenv\Command; use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Formatter\OutputFormatter; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; @@ -49,91 +50,115 @@ return 1; } - $envFiles = $this->getEnvFiles(); - $availableFiles = array_filter($envFiles, function (string $file) { - return is_file($this->getFilePath($file)); - }); + $dotenvPath = $this->projectDirectory; - if (\in_array('.env.local.php', $availableFiles, true)) { + if (is_file($composerFile = $this->projectDirectory.'/composer.json')) { + $runtimeConfig = (json_decode(file_get_contents($composerFile), true))['extra']['runtime'] ?? []; + + if (isset($runtimeConfig['dotenv_path'])) { + $dotenvPath = $this->projectDirectory.'/'.$runtimeConfig['dotenv_path']; + } + } + + $filePath = $dotenvPath.'/.env'; + $envFiles = $this->getEnvFiles($filePath); + $availableFiles = array_filter($envFiles, 'is_file'); + + if (\in_array(sprintf('%s.local.php', $filePath), $availableFiles, true)) { $io->warning('Due to existing dump file (.env.local.php) all other dotenv files are skipped.'); } - if (is_file($this->getFilePath('.env')) && is_file($this->getFilePath('.env.dist'))) { - $io->warning('The file .env.dist gets skipped due to the existence of .env.'); + if (is_file($filePath) && is_file(sprintf('%s.dist', $filePath))) { + $io->warning(sprintf('The file %s.dist gets skipped due to the existence of %1$s.', $this->getRelativeName($filePath))); } $io->section('Scanned Files (in descending priority)'); - $io->listing(array_map(static function (string $envFile) use ($availableFiles) { + $io->listing(array_map(function (string $envFile) use ($availableFiles) { return \in_array($envFile, $availableFiles, true) - ? sprintf('✓ %s', $envFile) - : sprintf('⨯ %s', $envFile); + ? sprintf('✓ %s', $this->getRelativeName($envFile)) + : sprintf('⨯ %s', $this->getRelativeName($envFile)); }, $envFiles)); + $variables = $this->getVariables($availableFiles); + $io->section('Variables'); $io->table( - array_merge(['Variable', 'Value'], $availableFiles), - $this->getVariables($availableFiles) + array_merge(['Variable', 'Value'], array_map([$this, 'getRelativeName'], $availableFiles)), + $variables ); - $io->comment('Note real values might be different between web and CLI.'); + $io->comment('Note that values might be different between web and CLI.'); return 0; } private function getVariables(array $envFiles): array { - $vars = explode(',', $_SERVER['SYMFONY_DOTENV_VARS'] ?? ''); - sort($vars); - - $output = []; + $variables = []; $fileValues = []; - foreach ($vars as $var) { - $realValue = $_SERVER[$var]; - $varDetails = [$var, $realValue]; - foreach ($envFiles as $envFile) { - $values = $fileValues[$envFile] ?? $fileValues[$envFile] = $this->loadValues($envFile); + $dotenvVars = array_flip(explode(',', $_SERVER['SYMFONY_DOTENV_VARS'] ?? '')); - $varString = $values[$var] ?? 'n/a'; - $shortenedVar = $this->getHelper('formatter')->truncate($varString, 30); - $varDetails[] = $varString === $realValue ? ''.$shortenedVar.'' : $shortenedVar; + foreach ($envFiles as $envFile) { + $fileValues[$envFile] = $this->loadValues($envFile); + $variables += $fileValues[$envFile]; + } + + foreach ($variables as $var => $varDetails) { + $realValue = $_SERVER[$var] ?? ''; + $varDetails = [$var, ''.OutputFormatter::escape($realValue).'']; + $varSeen = !isset($dotenvVars[$var]); + + foreach ($envFiles as $envFile) { + if (null === $value = $fileValues[$envFile][$var] ?? null) { + $varDetails[] = 'n/a'; + continue; + } + + $shortenedValue = OutputFormatter::escape($this->getHelper('formatter')->truncate($value, 30)); + $varDetails[] = $value === $realValue && !$varSeen ? ''.$shortenedValue.'' : $shortenedValue; + $varSeen = $varSeen || $value === $realValue; } - $output[] = $varDetails; + $variables[$var] = $varDetails; } - return $output; + ksort($variables); + + return $variables; } - private function getEnvFiles(): array + private function getEnvFiles(string $filePath): array { $files = [ - '.env.local.php', - sprintf('.env.%s.local', $this->kernelEnvironment), - sprintf('.env.%s', $this->kernelEnvironment), + sprintf('%s.local.php', $filePath), + sprintf('%s.%s.local', $filePath, $this->kernelEnvironment), + sprintf('%s.%s', $filePath, $this->kernelEnvironment), ]; if ('test' !== $this->kernelEnvironment) { - $files[] = '.env.local'; + $files[] = sprintf('%s.local', $filePath); } - if (!is_file($this->getFilePath('.env')) && is_file($this->getFilePath('.env.dist'))) { - $files[] = '.env.dist'; + if (!is_file($filePath) && is_file(sprintf('%s.dist', $filePath))) { + $files[] = sprintf('%s.dist', $filePath); } else { - $files[] = '.env'; + $files[] = $filePath; } return $files; } - private function getFilePath(string $file): string + private function getRelativeName(string $filePath): string { - return $this->projectDirectory.\DIRECTORY_SEPARATOR.$file; + if (str_starts_with($filePath, $this->projectDirectory)) { + return substr($filePath, \strlen($this->projectDirectory) + 1); + } + + return basename($filePath); } - private function loadValues(string $file): array + private function loadValues(string $filePath): array { - $filePath = $this->getFilePath($file); - if (str_ends_with($filePath, '.php')) { return include $filePath; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Command/DotenvDumpCommand.php symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Command/DotenvDumpCommand.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Command/DotenvDumpCommand.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Command/DotenvDumpCommand.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ private $projectDir; private $defaultEnv; - public function __construct(string $projectDir, string $defaultEnv = null) + public function __construct(string $projectDir, ?string $defaultEnv = null) { $this->projectDir = $projectDir; $this->defaultEnv = $defaultEnv; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Dotenv.php symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Dotenv.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Dotenv.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Dotenv.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ */ final class Dotenv { - public const VARNAME_REGEX = '(?i:[A-Z][A-Z0-9_]*+)'; + public const VARNAME_REGEX = '(?i:_?[A-Z][A-Z0-9_]*+)'; public const STATE_VARNAME = 0; public const STATE_VALUE = 1; @@ -98,15 +98,16 @@ * .env.local is always ignored in test env because tests should produce the same results for everyone. * .env.dist is loaded when it exists and .env is not found. * - * @param string $path A file to load - * @param string|null $envKey The name of the env vars that defines the app env - * @param string $defaultEnv The app env to use when none is defined - * @param array $testEnvs A list of app envs for which .env.local should be ignored + * @param string $path A file to load + * @param string|null $envKey The name of the env vars that defines the app env + * @param string $defaultEnv The app env to use when none is defined + * @param array $testEnvs A list of app envs for which .env.local should be ignored + * @param bool $overrideExistingVars Whether existing environment variables set by the system should be overridden * * @throws FormatException when a file has a syntax error * @throws PathException when a file does not exist or is not readable */ - public function loadEnv(string $path, string $envKey = null, string $defaultEnv = 'dev', array $testEnvs = ['test'], bool $overrideExistingVars = false): void + public function loadEnv(string $path, ?string $envKey = null, string $defaultEnv = 'dev', array $testEnvs = ['test'], bool $overrideExistingVars = false): void { $k = $envKey ?? $this->envKey; @@ -182,7 +183,7 @@ * Sets values as environment variables (via putenv, $_ENV, and $_SERVER). * * @param array $values An array of env variables - * @param bool $overrideExistingVars true when existing environment variables must be overridden + * @param bool $overrideExistingVars Whether existing environment variables set by the system should be overridden */ public function populate(array $values, bool $overrideExistingVars = false): void { @@ -350,8 +351,8 @@ ++$this->cursor; $value = str_replace(['\\"', '\r', '\n'], ['"', "\r", "\n"], $value); $resolvedValue = $value; - $resolvedValue = $this->resolveVariables($resolvedValue, $loadedVars); $resolvedValue = $this->resolveCommands($resolvedValue, $loadedVars); + $resolvedValue = $this->resolveVariables($resolvedValue, $loadedVars); $resolvedValue = str_replace('\\\\', '\\', $resolvedValue); $v .= $resolvedValue; } else { @@ -373,8 +374,8 @@ } $value = rtrim($value); $resolvedValue = $value; - $resolvedValue = $this->resolveVariables($resolvedValue, $loadedVars); $resolvedValue = $this->resolveCommands($resolvedValue, $loadedVars); + $resolvedValue = $this->resolveVariables($resolvedValue, $loadedVars); $resolvedValue = str_replace('\\\\', '\\', $resolvedValue); if ($resolvedValue === $value && preg_match('/\s+/', $value)) { @@ -494,7 +495,7 @@ (?!\() # no opening parenthesis (?P\{)? # optional brace (?P'.self::VARNAME_REGEX.')? # var name - (?P:[-=][^\}]++)? # optional default value + (?P:[-=][^\}]*+)? # optional default value (?P\})? # optional closing brace /x'; @@ -567,7 +568,13 @@ throw new PathException($path); } - $this->populate($this->parse(file_get_contents($path), $path), $overrideExistingVars); + $data = file_get_contents($path); + + if ("\xEF\xBB\xBF" === substr($data, 0, 3)) { + throw new FormatException('Loading files starting with a byte-order-mark (BOM) is not supported.', new FormatExceptionContext($data, $path, 1, 0)); + } + + $this->populate($this->parse($data, $path), $overrideExistingVars); } } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Exception/FormatException.php symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Exception/FormatException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Exception/FormatException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Exception/FormatException.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ { private $context; - public function __construct(string $message, FormatExceptionContext $context, int $code = 0, \Throwable $previous = null) + public function __construct(string $message, FormatExceptionContext $context, int $code = 0, ?\Throwable $previous = null) { $this->context = $context; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Exception/PathException.php symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Exception/PathException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Exception/PathException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Exception/PathException.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,7 +18,7 @@ */ final class PathException extends \RuntimeException implements ExceptionInterface { - public function __construct(string $path, int $code = 0, \Throwable $previous = null) + public function __construct(string $path, int $code = 0, ?\Throwable $previous = null) { parent::__construct(sprintf('Unable to read the "%s" environment file.', $path), $code, $previous); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Tests/Command/DebugCommandTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Tests/Command/DebugCommandTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Tests/Command/DebugCommandTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Tests/Command/DebugCommandTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,6 +25,8 @@ */ public function testErrorOnUninitializedDotenv() { + unset($_SERVER['SYMFONY_DOTENV_VARS']); + $command = new DebugCommand('dev', __DIR__.'/Fixtures/Scenario1'); $command->setHelperSet(new HelperSet([new FormatterHelper()])); $tester = new CommandTester($command); @@ -34,6 +36,33 @@ $this->assertStringContainsString('[ERROR] Dotenv component is not initialized', $output); } + /** + * @runInSeparateProcess + */ + public function testEmptyDotEnvVarsList() + { + $_SERVER['SYMFONY_DOTENV_VARS'] = ''; + + $command = new DebugCommand('dev', __DIR__.'/Fixtures/Scenario1'); + $command->setHelperSet(new HelperSet([new FormatterHelper()])); + $tester = new CommandTester($command); + $tester->execute([]); + $expectedFormat = <<<'OUTPUT' +%a + ---------- ------- ------------ ------%S + Variable Value .env.local .env%S + ---------- ------- ------------ ------%S + FOO baz bar%S + TEST123 n/a true%S + ---------- ------- ------------ ------%S + + // Note that values might be different between web and CLI.%S +%a +OUTPUT; + + $this->assertStringMatchesFormat($expectedFormat, $tester->getDisplay()); + } + public function testScenario1InDevEnv() { $output = $this->executeCommand(__DIR__.'/Fixtures/Scenario1', 'dev'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Tests/DotenvTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Tests/DotenvTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Tests/DotenvTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Tests/DotenvTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -53,6 +53,7 @@ ["FOO=\nBAR=\${FOO:-\'a{a}a}", "Unsupported character \"'\" found in the default value of variable \"\$FOO\". in \".env\" at line 2.\n...\\nBAR=\${FOO:-\'a{a}a}...\n ^ line 2 offset 24"], ["FOO=\nBAR=\${FOO:-a\$a}", "Unsupported character \"\$\" found in the default value of variable \"\$FOO\". in \".env\" at line 2.\n...FOO=\\nBAR=\${FOO:-a\$a}...\n ^ line 2 offset 20"], ["FOO=\nBAR=\${FOO:-a\"a}", "Unclosed braces on variable expansion in \".env\" at line 2.\n...FOO=\\nBAR=\${FOO:-a\"a}...\n ^ line 2 offset 17"], + ['_=FOO', "Invalid character in variable name in \".env\" at line 1.\n..._=FOO...\n ^ line 1 offset 0"], ]; if ('\\' !== \DIRECTORY_SEPARATOR) { @@ -174,7 +175,19 @@ ["FOO=BAR\nBAR=\${NOTDEFINED:=TEST}", ['FOO' => 'BAR', 'NOTDEFINED' => 'TEST', 'BAR' => 'TEST']], ["FOO=\nBAR=\${FOO:=TEST}", ['FOO' => 'TEST', 'BAR' => 'TEST']], ["FOO=\nBAR=\$FOO:=TEST}", ['FOO' => 'TEST', 'BAR' => 'TEST}']], + ["FOO=BAR\nBAR=\${FOO:-}", ['FOO' => 'BAR', 'BAR' => 'BAR']], + ["FOO=BAR\nBAR=\${NOTDEFINED:-}", ['FOO' => 'BAR', 'BAR' => '']], + ["FOO=\nBAR=\${FOO:-}", ['FOO' => '', 'BAR' => '']], + ["FOO=\nBAR=\$FOO:-}", ['FOO' => '', 'BAR' => '}']], + ["FOO=BAR\nBAR=\${FOO:=}", ['FOO' => 'BAR', 'BAR' => 'BAR']], + ["FOO=BAR\nBAR=\${NOTDEFINED:=}", ['FOO' => 'BAR', 'NOTDEFINED' => '', 'BAR' => '']], + ["FOO=\nBAR=\${FOO:=}", ['FOO' => '', 'BAR' => '']], + ["FOO=\nBAR=\$FOO:=}", ['FOO' => '', 'BAR' => '}']], ["FOO=foo\nFOOBAR=\${FOO}\${BAR}", ['FOO' => 'foo', 'FOOBAR' => 'foo']], + + // underscores + ['_FOO=BAR', ['_FOO' => 'BAR']], + ['_FOO_BAR=FOOBAR', ['_FOO_BAR' => 'FOOBAR']], ]; if ('\\' !== \DIRECTORY_SEPARATOR) { @@ -425,16 +438,16 @@ $this->assertSame('http_value', $_SERVER['HTTP_TEST_ENV_VAR']); } - public function testEnvVarIsOverriden() + public function testEnvVarIsOverridden() { - putenv('TEST_ENV_VAR_OVERRIDEN=original_value'); + putenv('TEST_ENV_VAR_OVERRIDDEN=original_value'); $dotenv = (new Dotenv())->usePutenv(); - $dotenv->populate(['TEST_ENV_VAR_OVERRIDEN' => 'new_value'], true); + $dotenv->populate(['TEST_ENV_VAR_OVERRIDDEN' => 'new_value'], true); - $this->assertSame('new_value', getenv('TEST_ENV_VAR_OVERRIDEN')); - $this->assertSame('new_value', $_ENV['TEST_ENV_VAR_OVERRIDEN']); - $this->assertSame('new_value', $_SERVER['TEST_ENV_VAR_OVERRIDEN']); + $this->assertSame('new_value', getenv('TEST_ENV_VAR_OVERRIDDEN')); + $this->assertSame('new_value', $_ENV['TEST_ENV_VAR_OVERRIDDEN']); + $this->assertSame('new_value', $_SERVER['TEST_ENV_VAR_OVERRIDDEN']); } public function testMemorizingLoadedVarsNamesInSpecialVar() @@ -599,4 +612,14 @@ $resetContext(); rmdir($tmpdir); } + + public function testExceptionWithBom() + { + $dotenv = new Dotenv(); + + $this->expectException(FormatException::class); + $this->expectExceptionMessage('Loading files starting with a byte-order-mark (BOM) is not supported.'); + + $dotenv->load(__DIR__.'/fixtures/file_with_bom'); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Tests/fixtures/file_with_bom symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Tests/fixtures/file_with_bom --- symfony-5.4.23+dfsg/src/Symfony/Component/Dotenv/Tests/fixtures/file_with_bom 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Dotenv/Tests/fixtures/file_with_bom 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1 @@ +FOO=BAR diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Debug.php symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Debug.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Debug.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Debug.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,6 @@ @ini_set('zend.assertions', 1); ini_set('assert.active', 1); - ini_set('assert.warning', 0); ini_set('assert.exception', 1); DebugClassLoader::enable(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/DebugClassLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/DebugClassLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/DebugClassLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/DebugClassLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -301,7 +301,7 @@ $this->checkClass($class, $file); } - private function checkClass(string $class, string $file = null): void + private function checkClass(string $class, ?string $file = null): void { $exists = null === $file || class_exists($class, false) || interface_exists($class, false) || trait_exists($class, false); @@ -416,7 +416,7 @@ $this->checkClass($use); } if (isset(self::$deprecated[$use]) && strncmp($vendor, str_replace('_', '\\', $use), $vendorLen) && !isset(self::$deprecated[$class]) - && !(HttplugClient::class === $class && \in_array($use, [\Http\Message\RequestFactory::class, \Http\Message\StreamFactory::class, \Http\Message\UriFactory::class], true)) + && !(HttplugClient::class === $class && \in_array($use, [\Http\Client\HttpClient::class, \Http\Message\RequestFactory::class, \Http\Message\StreamFactory::class, \Http\Message\UriFactory::class], true)) ) { $type = class_exists($class, false) ? 'class' : (interface_exists($class, false) ? 'interface' : 'trait'); $verb = class_exists($use, false) || interface_exists($class, false) ? 'extends' : (interface_exists($use, false) ? 'implements' : 'uses'); @@ -763,7 +763,7 @@ return $ownInterfaces; } - private function setReturnType(string $types, string $class, string $method, string $filename, ?string $parent, \ReflectionType $returnType = null): void + private function setReturnType(string $types, string $class, string $method, string $filename, ?string $parent, ?\ReflectionType $returnType = null): void { if ('__construct' === $method) { return; @@ -1097,7 +1097,7 @@ $braces = 0; for (; $i < $end; ++$i) { if (!$inClosure) { - $inClosure = str_contains($code[$i], 'function ('); + $inClosure = false !== strpos($code[$i], 'function ('); } if ($inClosure) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Error/FatalError.php symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Error/FatalError.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Error/FatalError.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Error/FatalError.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ * * @param array $error An array as returned by error_get_last() */ - public function __construct(string $message, int $code, array $error, int $traceOffset = null, bool $traceArgs = true, array $trace = null) + public function __construct(string $message, int $code, array $error, ?int $traceOffset = null, bool $traceArgs = true, ?array $trace = null) { parent::__construct($message, $code); @@ -33,7 +33,7 @@ } } } elseif (null !== $traceOffset) { - if (\function_exists('xdebug_get_function_stack') && $trace = @xdebug_get_function_stack()) { + if (\function_exists('xdebug_get_function_stack') && \in_array(\ini_get('xdebug.mode'), ['develop', false], true) && $trace = @xdebug_get_function_stack()) { if (0 < $traceOffset) { array_splice($trace, -$traceOffset); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/ErrorEnhancer/ClassNotFoundErrorEnhancer.php symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/ErrorEnhancer/ClassNotFoundErrorEnhancer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/ErrorEnhancer/ClassNotFoundErrorEnhancer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/ErrorEnhancer/ClassNotFoundErrorEnhancer.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,9 +21,6 @@ */ class ClassNotFoundErrorEnhancer implements ErrorEnhancerInterface { - /** - * {@inheritdoc} - */ public function enhance(\Throwable $error): ?\Throwable { // Some specific versions of PHP produce a fatal error when extending a not found class. @@ -110,7 +107,8 @@ private function findClassInPath(string $path, string $class, string $prefix): array { - if (!$path = realpath($path.'/'.strtr($prefix, '\\_', '//')) ?: realpath($path.'/'.\dirname(strtr($prefix, '\\_', '//'))) ?: realpath($path)) { + $path = realpath($path.'/'.strtr($prefix, '\\_', '//')) ?: realpath($path.'/'.\dirname(strtr($prefix, '\\_', '//'))) ?: realpath($path); + if (!$path || !is_dir($path)) { return []; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/ErrorHandler.php symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/ErrorHandler.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/ErrorHandler.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/ErrorHandler.php 2026-05-20 08:22:01.000000000 +0000 @@ -55,7 +55,6 @@ \E_USER_DEPRECATED => 'User Deprecated', \E_NOTICE => 'Notice', \E_USER_NOTICE => 'User Notice', - \E_STRICT => 'Runtime Notice', \E_WARNING => 'Warning', \E_USER_WARNING => 'User Warning', \E_COMPILE_WARNING => 'Compile Warning', @@ -73,7 +72,6 @@ \E_USER_DEPRECATED => [null, LogLevel::INFO], \E_NOTICE => [null, LogLevel::WARNING], \E_USER_NOTICE => [null, LogLevel::WARNING], - \E_STRICT => [null, LogLevel::WARNING], \E_WARNING => [null, LogLevel::WARNING], \E_USER_WARNING => [null, LogLevel::WARNING], \E_COMPILE_WARNING => [null, LogLevel::WARNING], @@ -108,7 +106,7 @@ /** * Registers the error handler. */ - public static function register(self $handler = null, bool $replace = true): self + public static function register(?self $handler = null, bool $replace = true): self { if (null === self::$reservedMemory) { self::$reservedMemory = str_repeat('x', 32768); @@ -181,8 +179,13 @@ } } - public function __construct(BufferingLogger $bootstrappingLogger = null, bool $debug = false) + public function __construct(?BufferingLogger $bootstrappingLogger = null, bool $debug = false) { + if (\PHP_VERSION_ID < 80400) { + $this->levels[\E_STRICT] = 'Runtime Notice'; + $this->loggers[\E_STRICT] = [null, LogLevel::WARNING]; + } + if ($bootstrappingLogger) { $this->bootstrappingLogger = $bootstrappingLogger; $this->setDefaultLogger($bootstrappingLogger); @@ -457,7 +460,7 @@ return true; } } else { - if (false !== strpos($message, '@anonymous')) { + if (PHP_VERSION_ID < 80303 && false !== strpos($message, '@anonymous')) { $backtrace = debug_backtrace(false, 5); for ($i = 1; isset($backtrace[$i]); ++$i) { @@ -465,8 +468,7 @@ && ('trigger_error' === $backtrace[$i]['function'] || 'user_error' === $backtrace[$i]['function']) ) { if ($backtrace[$i]['args'][0] !== $message) { - $message = $this->parseAnonymousClass($backtrace[$i]['args'][0]); - $logMessage = $this->levels[$type].': '.$message; + $message = $backtrace[$i]['args'][0]; } break; @@ -474,6 +476,11 @@ } } + if (false !== strpos($message, "@anonymous\0")) { + $message = $this->parseAnonymousClass($message); + $logMessage = $this->levels[$type].': '.$message; + } + $errorAsException = new \ErrorException($logMessage, 0, $type, $file, $line); if ($throw || $this->tracedErrors & $type) { @@ -513,7 +520,12 @@ } // Display the original error message instead of the default one. - $this->handleException($errorAsException); + $exitCode = self::$exitCode; + try { + $this->handleException($errorAsException); + } finally { + self::$exitCode = $exitCode; + } // Stop the process by giving back the error to the native handler. return false; @@ -633,7 +645,7 @@ * * @internal */ - public static function handleFatalError(array $error = null): void + public static function handleFatalError(?array $error = null): void { if (null === self::$reservedMemory) { return; @@ -665,6 +677,10 @@ set_exception_handler($h); } if (!$handler) { + if (null === $error && $exitCode = self::$exitCode) { + register_shutdown_function('register_shutdown_function', function () use ($exitCode) { exit($exitCode); }); + } + return; } if ($handler !== $h) { @@ -700,8 +716,7 @@ // Ignore this re-throw } - if ($exit && self::$exitCode) { - $exitCode = self::$exitCode; + if ($exit && $exitCode = self::$exitCode) { register_shutdown_function('register_shutdown_function', function () use ($exitCode) { exit($exitCode); }); } } @@ -791,7 +806,7 @@ */ private function parseAnonymousClass(string $message): string { - return preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/', static function ($m) { + return preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)?[0-9a-fA-F]++/', static function ($m) { return class_exists($m[0], false) ? (get_parent_class($m[0]) ?: key(class_implements($m[0])) ?: 'class').'@anonymous' : $m[0]; }, $message); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php 2026-05-20 08:22:01.000000000 +0000 @@ -47,7 +47,7 @@ * @param string|FileLinkFormatter|null $fileLinkFormat * @param bool|callable $outputBuffer The output buffer as a string or a callable that should return it */ - public function __construct($debug = false, string $charset = null, $fileLinkFormat = null, string $projectDir = null, $outputBuffer = '', LoggerInterface $logger = null) + public function __construct($debug = false, ?string $charset = null, $fileLinkFormat = null, ?string $projectDir = null, $outputBuffer = '', ?LoggerInterface $logger = null) { if (!\is_bool($debug) && !\is_callable($debug)) { throw new \TypeError(sprintf('Argument 1 passed to "%s()" must be a boolean or a callable, "%s" given.', __METHOD__, \gettype($debug))); @@ -72,7 +72,7 @@ { $headers = ['Content-Type' => 'text/html; charset='.$this->charset]; if (\is_bool($this->debug) ? $this->debug : ($this->debug)($exception)) { - $headers['X-Debug-Exception'] = rawurlencode($exception->getMessage()); + $headers['X-Debug-Exception'] = rawurlencode(substr($exception->getMessage(), 0, 2000)); $headers['X-Debug-Exception-File'] = rawurlencode($exception->getFile()).':'.$exception->getLine(); } @@ -173,6 +173,8 @@ $formattedValue = ''.strtolower(var_export($item[1], true)).''; } elseif ('resource' === $item[0]) { $formattedValue = 'resource'; + } elseif (preg_match('/[^\x07-\x0D\x1B\x20-\xFF]/', $item[1])) { + $formattedValue = 'binary string'; } else { $formattedValue = str_replace("\n", '', $this->escape(var_export($item[1], true))); } @@ -233,7 +235,7 @@ * @param int $line The line number * @param string $text Use this text for the link rather than the file path */ - private function formatFile(string $file, int $line, string $text = null): string + private function formatFile(string $file, int $line, ?string $text = null): string { $file = trim($file); @@ -269,13 +271,23 @@ // highlight_file could throw warnings // see https://bugs.php.net/25725 $code = @highlight_file($file, true); - // remove main code/span tags - $code = preg_replace('#^\s*(.*)\s*#s', '\\1', $code); - // split multiline spans - $code = preg_replace_callback('#]++)>((?:[^<]*+
)++[^<]*+)
#', function ($m) { - return "".str_replace('
', "

", $m[2]).''; - }, $code); - $content = explode('
', $code); + if (\PHP_VERSION_ID >= 80300) { + // remove main pre/code tags + $code = preg_replace('#^\s*(.*)\s*#s', '\\1', $code); + // split multiline span tags + $code = preg_replace_callback('#]++)>((?:[^<\\n]*+\\n)++[^<]*+)#', function ($m) { + return "".str_replace("\n", "\n", $m[2]).''; + }, $code); + $content = explode("\n", $code); + } else { + // remove main code/span tags + $code = preg_replace('#^\s*(.*)\s*#s', '\\1', $code); + // split multiline spans + $code = preg_replace_callback('#]++)>((?:[^<]*+
)++[^<]*+)
#', function ($m) { + return "".str_replace('
', "

", $m[2]).''; + }, $code); + $content = explode('
', $code); + } $lines = []; if (0 > $srcContext) { @@ -315,7 +327,7 @@ { return preg_replace_callback('/in ("|")?(.+?)\1(?: +(?:on|at))? +line (\d+)/s', function ($match) { return 'in '.$this->formatFile($match[2], $match[3]); - }, $text); + }, $text) ?? $text; } private function formatLogMessage(string $message, array $context) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/ErrorRenderer/SerializerErrorRenderer.php symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/ErrorRenderer/SerializerErrorRenderer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/ErrorRenderer/SerializerErrorRenderer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/ErrorRenderer/SerializerErrorRenderer.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,7 +34,7 @@ * formats not supported by Request::getMimeTypes() should be given as mime types * @param bool|callable $debug The debugging mode as a boolean or a callable that should return it */ - public function __construct(SerializerInterface $serializer, $format, ErrorRendererInterface $fallbackErrorRenderer = null, $debug = false) + public function __construct(SerializerInterface $serializer, $format, ?ErrorRendererInterface $fallbackErrorRenderer = null, $debug = false) { if (!\is_string($format) && !\is_callable($format)) { throw new \TypeError(sprintf('Argument 2 passed to "%s()" must be a string or a callable, "%s" given.', __METHOD__, \gettype($format))); @@ -58,7 +58,7 @@ $headers = ['Vary' => 'Accept']; $debug = \is_bool($this->debug) ? $this->debug : ($this->debug)($exception); if ($debug) { - $headers['X-Debug-Exception'] = rawurlencode($exception->getMessage()); + $headers['X-Debug-Exception'] = rawurlencode(substr($exception->getMessage(), 0, 2000)); $headers['X-Debug-Exception-File'] = rawurlencode($exception->getFile()).':'.$exception->getLine(); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Exception/FlattenException.php symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Exception/FlattenException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Exception/FlattenException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Exception/FlattenException.php 2026-05-20 08:22:01.000000000 +0000 @@ -63,7 +63,7 @@ /** * @return static */ - public static function create(\Exception $exception, int $statusCode = null, array $headers = []): self + public static function create(\Exception $exception, ?int $statusCode = null, array $headers = []): self { return static::createFromThrowable($exception, $statusCode, $headers); } @@ -71,7 +71,7 @@ /** * @return static */ - public static function createFromThrowable(\Throwable $exception, int $statusCode = null, array $headers = []): self + public static function createFromThrowable(\Throwable $exception, ?int $statusCode = null, array $headers = []): self { $e = new static(); $e->setMessage($exception->getMessage()); @@ -226,7 +226,7 @@ public function setMessage(string $message): self { if (false !== strpos($message, "@anonymous\0")) { - $message = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/', function ($m) { + $message = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)?[0-9a-fA-F]++/', function ($m) { return class_exists($m[0], false) ? (get_parent_class($m[0]) ?: key(class_implements($m[0])) ?: 'class').'@anonymous' : $m[0]; }, $message); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Resources/assets/css/exception.css symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Resources/assets/css/exception.css --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Resources/assets/css/exception.css 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Resources/assets/css/exception.css 2026-05-20 08:22:01.000000000 +0000 @@ -242,7 +242,7 @@ .trace-code li { color: #969896; margin: 0; padding-left: 10px; float: left; width: 100%; } .trace-code li + li { margin-top: 5px; } .trace-code li.selected { background: var(--trace-selected-background); margin-top: 2px; } -.trace-code li code { color: var(--base-6); white-space: nowrap; } +.trace-code li code { color: var(--base-6); white-space: pre; } .trace-as-text .stacktrace { line-height: 1.8; margin: 0 0 15px; white-space: pre-wrap; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Resources/assets/js/exception.js symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Resources/assets/js/exception.js --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Resources/assets/js/exception.js 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Resources/assets/js/exception.js 2026-05-20 08:22:01.000000000 +0000 @@ -1,297 +1,285 @@ /* This file is based on WebProfilerBundle/Resources/views/Profiler/base_js.html.twig. If you make any change in this file, verify the same change is needed in the other file. */ /* .tab'); + var tabNavigation = document.createElement('ul'); + tabNavigation.className = 'tab-navigation'; + + var selectedTabId = 'tab-' + i + '-0'; /* select the first tab by default */ + for (var j = 0; j < tabs.length; j++) { + var tabId = 'tab-' + i + '-' + j; + var tabTitle = tabs[j].querySelector('.tab-title').innerHTML; + + var tabNavigationItem = document.createElement('li'); + tabNavigationItem.setAttribute('data-tab-id', tabId); + if (hasClass(tabs[j], 'active')) { selectedTabId = tabId; } + if (hasClass(tabs[j], 'disabled')) { addClass(tabNavigationItem, 'disabled'); } + tabNavigationItem.innerHTML = tabTitle; + tabNavigation.appendChild(tabNavigationItem); - if (navigator.clipboard) { - document.querySelectorAll('[data-clipboard-text]').forEach(function(element) { - removeClass(element, 'hidden'); - element.addEventListener('click', function() { - navigator.clipboard.writeText(element.getAttribute('data-clipboard-text')); - }) - }); - } + var tabContent = tabs[j].querySelector('.tab-content'); + tabContent.parentElement.setAttribute('id', tabId); + } - return { - addEventListener: addEventListener, + tabGroups[i].insertBefore(tabNavigation, tabGroups[i].firstChild); + addClass(document.querySelector('[data-tab-id="' + selectedTabId + '"]'), 'active'); + } - createTabs: function() { - var tabGroups = document.querySelectorAll('.sf-tabs:not([data-processed=true])'); + /* display the active tab and add the 'click' event listeners */ + for (i = 0; i < tabGroups.length; i++) { + tabNavigation = tabGroups[i].querySelectorAll(':scope >.tab-navigation li'); + + for (j = 0; j < tabNavigation.length; j++) { + tabId = tabNavigation[j].getAttribute('data-tab-id'); + document.getElementById(tabId).querySelector('.tab-title').className = 'hidden'; + + if (hasClass(tabNavigation[j], 'active')) { + document.getElementById(tabId).className = 'block'; + } else { + document.getElementById(tabId).className = 'hidden'; + } - /* create the tab navigation for each group of tabs */ - for (var i = 0; i < tabGroups.length; i++) { - var tabs = tabGroups[i].querySelectorAll(':scope > .tab'); - var tabNavigation = document.createElement('ul'); - tabNavigation.className = 'tab-navigation'; - - var selectedTabId = 'tab-' + i + '-0'; /* select the first tab by default */ - for (var j = 0; j < tabs.length; j++) { - var tabId = 'tab-' + i + '-' + j; - var tabTitle = tabs[j].querySelector('.tab-title').innerHTML; - - var tabNavigationItem = document.createElement('li'); - tabNavigationItem.setAttribute('data-tab-id', tabId); - if (hasClass(tabs[j], 'active')) { selectedTabId = tabId; } - if (hasClass(tabs[j], 'disabled')) { addClass(tabNavigationItem, 'disabled'); } - tabNavigationItem.innerHTML = tabTitle; - tabNavigation.appendChild(tabNavigationItem); + tabNavigation[j].addEventListener('click', function(e) { + var activeTab = e.target || e.srcElement; - var tabContent = tabs[j].querySelector('.tab-content'); - tabContent.parentElement.setAttribute('id', tabId); + /* needed because when the tab contains HTML contents, user can click */ + /* on any of those elements instead of their parent '
  • ' element */ + while (activeTab.tagName.toLowerCase() !== 'li') { + activeTab = activeTab.parentNode; } - tabGroups[i].insertBefore(tabNavigation, tabGroups[i].firstChild); - addClass(document.querySelector('[data-tab-id="' + selectedTabId + '"]'), 'active'); - } + /* get the full list of tabs through the parent of the active tab element */ + var tabNavigation = activeTab.parentNode.children; + for (var k = 0; k < tabNavigation.length; k++) { + var tabId = tabNavigation[k].getAttribute('data-tab-id'); + document.getElementById(tabId).className = 'hidden'; + removeClass(tabNavigation[k], 'active'); + } - /* display the active tab and add the 'click' event listeners */ - for (i = 0; i < tabGroups.length; i++) { - tabNavigation = tabGroups[i].querySelectorAll(':scope >.tab-navigation li'); - - for (j = 0; j < tabNavigation.length; j++) { - tabId = tabNavigation[j].getAttribute('data-tab-id'); - document.getElementById(tabId).querySelector('.tab-title').className = 'hidden'; - - if (hasClass(tabNavigation[j], 'active')) { - document.getElementById(tabId).className = 'block'; - } else { - document.getElementById(tabId).className = 'hidden'; - } + addClass(activeTab, 'active'); + var activeTabId = activeTab.getAttribute('data-tab-id'); + document.getElementById(activeTabId).className = 'block'; + }); + } - tabNavigation[j].addEventListener('click', function(e) { - var activeTab = e.target || e.srcElement; + tabGroups[i].setAttribute('data-processed', 'true'); + } + })(); - /* needed because when the tab contains HTML contents, user can click */ - /* on any of those elements instead of their parent '
  • ' element */ - while (activeTab.tagName.toLowerCase() !== 'li') { - activeTab = activeTab.parentNode; - } + (function createToggles() { + var toggles = document.querySelectorAll('.sf-toggle:not([data-processed=true])'); - /* get the full list of tabs through the parent of the active tab element */ - var tabNavigation = activeTab.parentNode.children; - for (var k = 0; k < tabNavigation.length; k++) { - var tabId = tabNavigation[k].getAttribute('data-tab-id'); - document.getElementById(tabId).className = 'hidden'; - removeClass(tabNavigation[k], 'active'); - } + for (var i = 0; i < toggles.length; i++) { + var elementSelector = toggles[i].getAttribute('data-toggle-selector'); + var element = document.querySelector(elementSelector); + + addClass(element, 'sf-toggle-content'); + + if (toggles[i].hasAttribute('data-toggle-initial') && toggles[i].getAttribute('data-toggle-initial') == 'display') { + addClass(toggles[i], 'sf-toggle-on'); + addClass(element, 'sf-toggle-visible'); + } else { + addClass(toggles[i], 'sf-toggle-off'); + addClass(element, 'sf-toggle-hidden'); + } - addClass(activeTab, 'active'); - var activeTabId = activeTab.getAttribute('data-tab-id'); - document.getElementById(activeTabId).className = 'block'; - }); - } + addEventListener(toggles[i], 'click', function(e) { + e.preventDefault(); - tabGroups[i].setAttribute('data-processed', 'true'); + if ('' !== window.getSelection().toString()) { + /* Don't do anything on text selection */ + return; } - }, - - createToggles: function() { - var toggles = document.querySelectorAll('.sf-toggle:not([data-processed=true])'); - - for (var i = 0; i < toggles.length; i++) { - var elementSelector = toggles[i].getAttribute('data-toggle-selector'); - var element = document.querySelector(elementSelector); - - addClass(element, 'sf-toggle-content'); - - if (toggles[i].hasAttribute('data-toggle-initial') && toggles[i].getAttribute('data-toggle-initial') == 'display') { - addClass(toggles[i], 'sf-toggle-on'); - addClass(element, 'sf-toggle-visible'); - } else { - addClass(toggles[i], 'sf-toggle-off'); - addClass(element, 'sf-toggle-hidden'); - } - - addEventListener(toggles[i], 'click', function(e) { - e.preventDefault(); - - if ('' !== window.getSelection().toString()) { - /* Don't do anything on text selection */ - return; - } - var toggle = e.target || e.srcElement; + var toggle = e.target || e.srcElement; - /* needed because when the toggle contains HTML contents, user can click */ - /* on any of those elements instead of their parent '.sf-toggle' element */ - while (!hasClass(toggle, 'sf-toggle')) { - toggle = toggle.parentNode; - } + /* needed because when the toggle contains HTML contents, user can click */ + /* on any of those elements instead of their parent '.sf-toggle' element */ + while (!hasClass(toggle, 'sf-toggle')) { + toggle = toggle.parentNode; + } - var element = document.querySelector(toggle.getAttribute('data-toggle-selector')); + var element = document.querySelector(toggle.getAttribute('data-toggle-selector')); - toggleClass(toggle, 'sf-toggle-on'); - toggleClass(toggle, 'sf-toggle-off'); - toggleClass(element, 'sf-toggle-hidden'); - toggleClass(element, 'sf-toggle-visible'); + toggleClass(toggle, 'sf-toggle-on'); + toggleClass(toggle, 'sf-toggle-off'); + toggleClass(element, 'sf-toggle-hidden'); + toggleClass(element, 'sf-toggle-visible'); + + /* the toggle doesn't change its contents when clicking on it */ + if (!toggle.hasAttribute('data-toggle-alt-content')) { + return; + } - /* the toggle doesn't change its contents when clicking on it */ - if (!toggle.hasAttribute('data-toggle-alt-content')) { - return; - } + if (!toggle.hasAttribute('data-toggle-original-content')) { + toggle.setAttribute('data-toggle-original-content', toggle.innerHTML); + } - if (!toggle.hasAttribute('data-toggle-original-content')) { - toggle.setAttribute('data-toggle-original-content', toggle.innerHTML); - } + var currentContent = toggle.innerHTML; + var originalContent = toggle.getAttribute('data-toggle-original-content'); + var altContent = toggle.getAttribute('data-toggle-alt-content'); + toggle.innerHTML = currentContent !== altContent ? altContent : originalContent; + }); - var currentContent = toggle.innerHTML; - var originalContent = toggle.getAttribute('data-toggle-original-content'); - var altContent = toggle.getAttribute('data-toggle-alt-content'); - toggle.innerHTML = currentContent !== altContent ? altContent : originalContent; - }); + /* Prevents from disallowing clicks on links inside toggles */ + var toggleLinks = toggles[i].querySelectorAll('a'); + for (var j = 0; j < toggleLinks.length; j++) { + addEventListener(toggleLinks[j], 'click', function(e) { + e.stopPropagation(); + }); + } - /* Prevents from disallowing clicks on links inside toggles */ - var toggleLinks = toggles[i].querySelectorAll('a'); - for (var j = 0; j < toggleLinks.length; j++) { - addEventListener(toggleLinks[j], 'click', function(e) { - e.stopPropagation(); - }); - } + /* Prevents from disallowing clicks on "copy to clipboard" elements inside toggles */ + var copyToClipboardElements = toggles[i].querySelectorAll('span[data-clipboard-text]'); + for (var k = 0; k < copyToClipboardElements.length; k++) { + addEventListener(copyToClipboardElements[k], 'click', function(e) { + e.stopPropagation(); + }); + } - /* Prevents from disallowing clicks on "copy to clipboard" elements inside toggles */ - var copyToClipboardElements = toggles[i].querySelectorAll('span[data-clipboard-text]'); - for (var k = 0; k < copyToClipboardElements.length; k++) { - addEventListener(copyToClipboardElements[k], 'click', function(e) { - e.stopPropagation(); - }); - } + toggles[i].setAttribute('data-processed', 'true'); + } + })(); - toggles[i].setAttribute('data-processed', 'true'); + (function createFilters() { + document.querySelectorAll('[data-filters] [data-filter]').forEach(function (filter) { + var filters = filter.closest('[data-filters]'), + type = 'choice', + name = filter.dataset.filter, + ucName = name.charAt(0).toUpperCase()+name.slice(1), + list = document.createElement('ul'), + values = filters.dataset['filter'+ucName] || filters.querySelectorAll('[data-filter-'+name+']'), + labels = {}, + defaults = null, + indexed = {}, + processed = {}; + if (typeof values === 'string') { + type = 'level'; + labels = values.split(','); + values = values.toLowerCase().split(','); + defaults = values.length - 1; + } + addClass(list, 'filter-list'); + addClass(list, 'filter-list-'+type); + values.forEach(function (value, i) { + if (value instanceof HTMLElement) { + value = value.dataset['filter'+ucName]; } - }, - - createFilters: function() { - document.querySelectorAll('[data-filters] [data-filter]').forEach(function (filter) { - var filters = filter.closest('[data-filters]'), - type = 'choice', - name = filter.dataset.filter, - ucName = name.charAt(0).toUpperCase()+name.slice(1), - list = document.createElement('ul'), - values = filters.dataset['filter'+ucName] || filters.querySelectorAll('[data-filter-'+name+']'), - labels = {}, - defaults = null, - indexed = {}, - processed = {}; - if (typeof values === 'string') { - type = 'level'; - labels = values.split(','); - values = values.toLowerCase().split(','); - defaults = values.length - 1; - } - addClass(list, 'filter-list'); - addClass(list, 'filter-list-'+type); - values.forEach(function (value, i) { - if (value instanceof HTMLElement) { - value = value.dataset['filter'+ucName]; - } - if (value in processed) { + if (value in processed) { + return; + } + var option = document.createElement('li'), + label = i in labels ? labels[i] : value, + active = false, + matches; + if ('' === label) { + option.innerHTML = '(none)'; + } else { + option.innerText = label; + } + option.dataset.filter = value; + option.setAttribute('title', 1 === (matches = filters.querySelectorAll('[data-filter-'+name+'="'+value+'"]').length) ? 'Matches 1 row' : 'Matches '+matches+' rows'); + indexed[value] = i; + list.appendChild(option); + addEventListener(option, 'click', function () { + if ('choice' === type) { + filters.querySelectorAll('[data-filter-'+name+']').forEach(function (row) { + if (option.dataset.filter === row.dataset['filter'+ucName]) { + toggleClass(row, 'filter-hidden-'+name); + } + }); + toggleClass(option, 'active'); + } else if ('level' === type) { + if (i === this.parentNode.querySelectorAll('.active').length - 1) { return; } - var option = document.createElement('li'), - label = i in labels ? labels[i] : value, - active = false, - matches; - if ('' === label) { - option.innerHTML = '(none)'; - } else { - option.innerText = label; - } - option.dataset.filter = value; - option.setAttribute('title', 1 === (matches = filters.querySelectorAll('[data-filter-'+name+'="'+value+'"]').length) ? 'Matches 1 row' : 'Matches '+matches+' rows'); - indexed[value] = i; - list.appendChild(option); - addEventListener(option, 'click', function () { - if ('choice' === type) { - filters.querySelectorAll('[data-filter-'+name+']').forEach(function (row) { - if (option.dataset.filter === row.dataset['filter'+ucName]) { - toggleClass(row, 'filter-hidden-'+name); - } - }); - toggleClass(option, 'active'); - } else if ('level' === type) { - if (i === this.parentNode.querySelectorAll('.active').length - 1) { - return; + this.parentNode.querySelectorAll('li').forEach(function (currentOption, j) { + if (j <= i) { + addClass(currentOption, 'active'); + if (i === j) { + addClass(currentOption, 'last-active'); + } else { + removeClass(currentOption, 'last-active'); } - this.parentNode.querySelectorAll('li').forEach(function (currentOption, j) { - if (j <= i) { - addClass(currentOption, 'active'); - if (i === j) { - addClass(currentOption, 'last-active'); - } else { - removeClass(currentOption, 'last-active'); - } - } else { - removeClass(currentOption, 'active'); - removeClass(currentOption, 'last-active'); - } - }); - filters.querySelectorAll('[data-filter-'+name+']').forEach(function (row) { - if (i < indexed[row.dataset['filter'+ucName]]) { - addClass(row, 'filter-hidden-'+name); - } else { - removeClass(row, 'filter-hidden-'+name); - } - }); + } else { + removeClass(currentOption, 'active'); + removeClass(currentOption, 'last-active'); } }); - if ('choice' === type) { - active = null === defaults || 0 <= defaults.indexOf(value); - } else if ('level' === type) { - active = i <= defaults; - if (active && i === defaults) { - addClass(option, 'last-active'); + filters.querySelectorAll('[data-filter-'+name+']').forEach(function (row) { + if (i < indexed[row.dataset['filter'+ucName]]) { + addClass(row, 'filter-hidden-'+name); + } else { + removeClass(row, 'filter-hidden-'+name); } - } - if (active) { - addClass(option, 'active'); - } else { - filters.querySelectorAll('[data-filter-'+name+'="'+value+'"]').forEach(function (row) { - toggleClass(row, 'filter-hidden-'+name); - }); - } - processed[value] = true; - }); - - if (1 < list.childNodes.length) { - filter.appendChild(list); - filter.dataset.filtered = ''; + }); } }); + if ('choice' === type) { + active = null === defaults || 0 <= defaults.indexOf(value); + } else if ('level' === type) { + active = i <= defaults; + if (active && i === defaults) { + addClass(option, 'last-active'); + } + } + if (active) { + addClass(option, 'active'); + } else { + filters.querySelectorAll('[data-filter-'+name+'="'+value+'"]').forEach(function (row) { + toggleClass(row, 'filter-hidden-'+name); + }); + } + processed[value] = true; + }); + + if (1 < list.childNodes.length) { + filter.appendChild(list); + filter.dataset.filtered = ''; } - }; + }); })(); - - Sfjs.addEventListener(document, 'DOMContentLoaded', function() { - Sfjs.createTabs(); - Sfjs.createToggles(); - Sfjs.createFilters(); - }); -} +})(); /*]]>*/ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,6 +31,13 @@ */ class ErrorHandlerTest extends TestCase { + protected function tearDown(): void + { + $r = new \ReflectionProperty(ErrorHandler::class, 'exitCode'); + $r->setAccessible(true); + $r->setValue(null, 0); + } + public function testRegister() { $handler = ErrorHandler::register(); @@ -164,7 +171,7 @@ } $this->assertSame(__FILE__, $e->getFile()); $this->assertSame(0, $e->getCode()); - $this->assertSame('Symfony\Component\ErrorHandler\{closure}', $trace[0]['function']); + $this->assertStringMatchesFormat('%A{closure%A}', $trace[0]['function']); $this->assertSame(ErrorHandler::class, $trace[0]['class']); $this->assertSame('triggerNotice', $trace[1]['function']); $this->assertSame(__CLASS__, $trace[1]['class']); @@ -206,7 +213,6 @@ \E_USER_DEPRECATED => [null, LogLevel::INFO], \E_NOTICE => [$logger, LogLevel::WARNING], \E_USER_NOTICE => [$logger, LogLevel::CRITICAL], - \E_STRICT => [null, LogLevel::WARNING], \E_WARNING => [null, LogLevel::WARNING], \E_USER_WARNING => [null, LogLevel::WARNING], \E_COMPILE_WARNING => [null, LogLevel::WARNING], @@ -218,6 +224,11 @@ \E_ERROR => [null, LogLevel::CRITICAL], \E_CORE_ERROR => [null, LogLevel::CRITICAL], ]; + + if (\PHP_VERSION_ID < 80400) { + $loggers[\E_STRICT] = [null, LogLevel::WARNING]; + } + $this->assertSame($loggers, $handler->setLoggers([])); } finally { restore_error_handler(); @@ -471,7 +482,6 @@ \E_USER_DEPRECATED => [$bootLogger, LogLevel::INFO], \E_NOTICE => [$bootLogger, LogLevel::WARNING], \E_USER_NOTICE => [$bootLogger, LogLevel::WARNING], - \E_STRICT => [$bootLogger, LogLevel::WARNING], \E_WARNING => [$bootLogger, LogLevel::WARNING], \E_USER_WARNING => [$bootLogger, LogLevel::WARNING], \E_COMPILE_WARNING => [$bootLogger, LogLevel::WARNING], @@ -484,6 +494,10 @@ \E_CORE_ERROR => [$bootLogger, LogLevel::CRITICAL], ]; + if (\PHP_VERSION_ID < 80400) { + $loggers[\E_STRICT] = [$bootLogger, LogLevel::WARNING]; + } + $this->assertSame($loggers, $handler->setLoggers([])); $handler->handleError(\E_DEPRECATED, 'Foo message', __FILE__, 123, []); @@ -665,6 +679,7 @@ $this->markTestSkipped('zend.assertions is forcibly disabled'); } + set_error_handler(function () {}); $ini = [ ini_set('zend.assertions', 1), ini_set('assert.active', 1), @@ -673,6 +688,7 @@ ini_set('assert.callback', null), ini_set('assert.exception', 0), ]; + restore_error_handler(); $logger = new BufferingLogger(); $handler = new ErrorHandler($logger); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Tests/ErrorRenderer/HtmlErrorRendererTest.php symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Tests/ErrorRenderer/HtmlErrorRendererTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Tests/ErrorRenderer/HtmlErrorRendererTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Tests/ErrorRenderer/HtmlErrorRendererTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -54,4 +54,45 @@ $expectedNonDebug, ]; } + + public function testRendersStackWithoutBinaryStrings() + { + if (\PHP_VERSION_ID >= 70400) { + // make sure method arguments are available in stack traces (see https://www.php.net/manual/en/ini.core.php) + ini_set('zend.exception_ignore_args', false); + } + + $binaryData = file_get_contents(__DIR__.'/../Fixtures/pixel.png'); + $exception = $this->getRuntimeException($binaryData); + + $rendered = (new HtmlErrorRenderer(true))->render($exception)->getAsString(); + + $this->assertStringContainsString( + "buildRuntimeException('FooException')", + $rendered, + '->render() contains the method call with "FooException"' + ); + + $this->assertStringContainsString( + 'getRuntimeException(binary string)', + $rendered, + '->render() contains the method call with "binary string" replacement' + ); + + $this->assertStringContainsString( + 'binary string', + $rendered, + '->render() returns the HTML content with "binary string" replacement' + ); + } + + private function getRuntimeException(string $unusedArgument): \RuntimeException + { + return $this->buildRuntimeException('FooException'); + } + + private function buildRuntimeException(string $message): \RuntimeException + { + return new \RuntimeException($message); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Tests/Fixtures/ClassWithAnnotatedParameters.php symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Tests/Fixtures/ClassWithAnnotatedParameters.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Tests/Fixtures/ClassWithAnnotatedParameters.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Tests/Fixtures/ClassWithAnnotatedParameters.php 2026-05-20 08:22:01.000000000 +0000 @@ -14,14 +14,14 @@ /** * @param string $bar parameter not implemented yet */ - public function barMethod(/* string $bar = null */) + public function barMethod(/* ?string $bar = null */) { } /** * @param Quz $quz parameter not implemented yet */ - public function quzMethod(/* Quz $quz = null */) + public function quzMethod(/* ?Quz $quz = null */) { } Binary files /srv/release.debian.org/tmp/wXWybqw8U1/symfony-5.4.23+dfsg/src/Symfony/Component/ErrorHandler/Tests/Fixtures/pixel.png and /srv/release.debian.org/tmp/f9lr6VbikC/symfony-5.4.52+dfsg/src/Symfony/Component/ErrorHandler/Tests/Fixtures/pixel.png differ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php --- symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php 2026-05-20 08:22:01.000000000 +0000 @@ -42,7 +42,7 @@ private $requestStack; private $currentRequestHash = ''; - public function __construct(EventDispatcherInterface $dispatcher, Stopwatch $stopwatch, LoggerInterface $logger = null, RequestStack $requestStack = null) + public function __construct(EventDispatcherInterface $dispatcher, Stopwatch $stopwatch, ?LoggerInterface $logger = null, ?RequestStack $requestStack = null) { $this->dispatcher = $dispatcher; $this->stopwatch = $stopwatch; @@ -97,7 +97,7 @@ /** * {@inheritdoc} */ - public function getListeners(string $eventName = null) + public function getListeners(?string $eventName = null) { return $this->dispatcher->getListeners($eventName); } @@ -123,7 +123,7 @@ /** * {@inheritdoc} */ - public function hasListeners(string $eventName = null) + public function hasListeners(?string $eventName = null) { return $this->dispatcher->hasListeners($eventName); } @@ -131,7 +131,7 @@ /** * {@inheritdoc} */ - public function dispatch(object $event, string $eventName = null): object + public function dispatch(object $event, ?string $eventName = null): object { $eventName = $eventName ?? \get_class($event); @@ -171,7 +171,7 @@ /** * @return array */ - public function getCalledListeners(Request $request = null) + public function getCalledListeners(?Request $request = null) { if (null === $this->callStack) { return []; @@ -192,7 +192,7 @@ /** * @return array */ - public function getNotCalledListeners(Request $request = null) + public function getNotCalledListeners(?Request $request = null) { try { $allListeners = $this->getListeners(); @@ -235,7 +235,7 @@ return $notCalled; } - public function getOrphanedEvents(Request $request = null): array + public function getOrphanedEvents(?Request $request = null): array { if ($request) { return $this->orphanedEvents[spl_object_hash($request)] ?? []; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ private $priority; private static $hasClassStub; - public function __construct($listener, ?string $name, Stopwatch $stopwatch, EventDispatcherInterface $dispatcher = null) + public function __construct($listener, ?string $name, Stopwatch $stopwatch, ?EventDispatcherInterface $dispatcher = null) { $this->listener = $listener; $this->optimizedListener = $listener instanceof \Closure ? $listener : (\is_callable($listener) ? \Closure::fromCallable($listener) : null); @@ -47,7 +47,7 @@ $this->pretty = $this->name.'::'.$listener[1]; } elseif ($listener instanceof \Closure) { $r = new \ReflectionFunction($listener); - if (str_contains($r->name, '{closure}')) { + if (str_contains($r->name, '{closure')) { $this->pretty = $this->name = 'closure'; } elseif ($class = \PHP_VERSION_ID >= 80111 ? $r->getClosureCalledClass() : $r->getClosureScopeClass()) { $this->name = $class->name; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/DependencyInjection/RegisterListenersPass.php symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/DependencyInjection/RegisterListenersPass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/DependencyInjection/RegisterListenersPass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/DependencyInjection/RegisterListenersPass.php 2026-05-20 08:22:01.000000000 +0000 @@ -115,7 +115,11 @@ ], function ($matches) { return strtoupper($matches[0]); }, $event['event']); $event['method'] = preg_replace('/[^a-z0-9]/i', '', $event['method']); - if (null !== ($class = $container->getDefinition($id)->getClass()) && ($r = $container->getReflectionClass($class, false)) && !$r->hasMethod($event['method']) && $r->hasMethod('__invoke')) { + if (null !== ($class = $container->getDefinition($id)->getClass()) && ($r = $container->getReflectionClass($class, false)) && !$r->hasMethod($event['method'])) { + if (!$r->hasMethod('__invoke')) { + throw new InvalidArgumentException(sprintf('None of the "%s" or "__invoke" methods exist for the service "%s". Please define the "method" attribute on "%s" tags.', $event['method'], $id, $this->listenerTag)); + } + $event['method'] = '__invoke'; } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/EventDispatcher.php symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/EventDispatcher.php --- symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/EventDispatcher.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/EventDispatcher.php 2026-05-20 08:22:01.000000000 +0000 @@ -45,7 +45,7 @@ /** * {@inheritdoc} */ - public function dispatch(object $event, string $eventName = null): object + public function dispatch(object $event, ?string $eventName = null): object { $eventName = $eventName ?? \get_class($event); @@ -65,7 +65,7 @@ /** * {@inheritdoc} */ - public function getListeners(string $eventName = null) + public function getListeners(?string $eventName = null) { if (null !== $eventName) { if (empty($this->listeners[$eventName])) { @@ -120,7 +120,7 @@ /** * {@inheritdoc} */ - public function hasListeners(string $eventName = null) + public function hasListeners(?string $eventName = null) { if (null !== $eventName) { return !empty($this->listeners[$eventName]); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/EventDispatcherInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/EventDispatcherInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/EventDispatcherInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/EventDispatcherInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -50,7 +50,7 @@ * * @return array */ - public function getListeners(string $eventName = null); + public function getListeners(?string $eventName = null); /** * Gets the listener priority for a specific event. @@ -66,5 +66,5 @@ * * @return bool */ - public function hasListeners(string $eventName = null); + public function hasListeners(?string $eventName = null); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/GenericEvent.php symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/GenericEvent.php --- symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/GenericEvent.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/GenericEvent.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ protected $arguments; /** - * Encapsulate an event with $subject and $args. + * Encapsulate an event with $subject and $arguments. * * @param mixed $subject The subject of the event, usually an object or a callable * @param array $arguments Arguments to store in the event diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php --- symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ /** * {@inheritdoc} */ - public function dispatch(object $event, string $eventName = null): object + public function dispatch(object $event, ?string $eventName = null): object { return $this->dispatcher->dispatch($event, $eventName); } @@ -68,7 +68,7 @@ /** * {@inheritdoc} */ - public function getListeners(string $eventName = null) + public function getListeners(?string $eventName = null) { return $this->dispatcher->getListeners($eventName); } @@ -84,7 +84,7 @@ /** * {@inheritdoc} */ - public function hasListeners(string $eventName = null) + public function hasListeners(?string $eventName = null) { return $this->dispatcher->hasListeners($eventName); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -200,10 +200,20 @@ public function testInvokableEventListener() { $container = new ContainerBuilder(); - $container->register('foo', \stdClass::class)->addTag('kernel.event_listener', ['event' => 'foo.bar']); + $container->setParameter('event_dispatcher.event_aliases', [AliasedEvent::class => 'aliased_event']); + + $container->register('foo', \get_class(new class() { + public function onFooBar() + { + } + }))->addTag('kernel.event_listener', ['event' => 'foo.bar']); $container->register('bar', InvokableListenerService::class)->addTag('kernel.event_listener', ['event' => 'foo.bar']); $container->register('baz', InvokableListenerService::class)->addTag('kernel.event_listener', ['event' => 'event']); - $container->register('zar', \stdClass::class)->addTag('kernel.event_listener', ['event' => 'foo.bar_zar']); + $container->register('zar', \get_class(new class() { + public function onFooBarZar() + { + } + }))->addTag('kernel.event_listener', ['event' => 'foo.bar_zar']); $container->register('event_dispatcher', \stdClass::class); $registerListenersPass = new RegisterListenersPass(); @@ -247,6 +257,20 @@ $this->assertEquals($expectedCalls, $definition->getMethodCalls()); } + public function testItThrowsAnExceptionIfTagIsMissingMethodAndClassHasNoValidMethod() + { + $this->expectException(InvalidArgumentException::class); + $this->expectExceptionMessage('None of the "onFooBar" or "__invoke" methods exist for the service "foo". Please define the "method" attribute on "kernel.event_listener" tags.'); + + $container = new ContainerBuilder(); + + $container->register('foo', \stdClass::class)->addTag('kernel.event_listener', ['event' => 'foo.bar']); + $container->register('event_dispatcher', \stdClass::class); + + $registerListenersPass = new RegisterListenersPass(); + $registerListenersPass->process($container); + } + /** * @requires PHP 8 */ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/ExpressionFunction.php symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/ExpressionFunction.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/ExpressionFunction.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/ExpressionFunction.php 2026-05-20 08:22:01.000000000 +0000 @@ -81,7 +81,7 @@ * @throws \InvalidArgumentException if given PHP function name is in namespace * and expression function name is not defined */ - public static function fromPhp(string $phpFunctionName, string $expressionFunctionName = null) + public static function fromPhp(string $phpFunctionName, ?string $expressionFunctionName = null) { $phpFunctionName = ltrim($phpFunctionName, '\\'); if (!\function_exists($phpFunctionName)) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,7 +34,7 @@ /** * @param ExpressionFunctionProviderInterface[] $providers */ - public function __construct(CacheItemPoolInterface $cache = null, array $providers = []) + public function __construct(?CacheItemPoolInterface $cache = null, array $providers = []) { $this->cache = $cache ?? new ArrayAdapter(); $this->registerFunctions(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Node/ArrayNode.php symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Node/ArrayNode.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Node/ArrayNode.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Node/ArrayNode.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,7 +27,7 @@ $this->index = -1; } - public function addElement(Node $value, Node $key = null) + public function addElement(Node $value, ?Node $key = null) { if (null === $key) { $key = new ConstantNode(++$this->index); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/SyntaxError.php symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/SyntaxError.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/SyntaxError.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/SyntaxError.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,7 +13,7 @@ class SyntaxError extends \LogicException { - public function __construct(string $message, int $cursor = 0, string $expression = '', string $subject = null, array $proposals = null) + public function __construct(string $message, int $cursor = 0, string $expression = '', ?string $subject = null, ?array $proposals = null) { $message = sprintf('%s around position %d', rtrim($message, '.'), $cursor); if ($expression) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/ExpressionLanguageTest.php symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/ExpressionLanguageTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/ExpressionLanguageTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/ExpressionLanguageTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -287,4 +287,11 @@ ], ]; } + + public function testParseAlreadyParsedExpressionReturnsSameObject() + { + $el = new ExpressionLanguage(); + $parsed = $el->parse('1 + 1', []); + $this->assertSame($parsed, $el->parse($parsed, [])); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/LexerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/LexerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/LexerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/LexerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -54,6 +54,16 @@ $this->lexer->tokenize($expression); } + public function testTokenizeOnNotOpenedBracket() + { + $this->expectException(SyntaxError::class); + $this->expectExceptionMessage('Unexpected ")" around position 7 for expression `service)not.opened.expression.dummyMethod()`.'); + + $expression = 'service)not.opened.expression.dummyMethod()'; + + $this->lexer->tokenize($expression); + } + public static function getTokenizeData() { return [ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/Node/BinaryNodeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/Node/BinaryNodeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/Node/BinaryNodeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/Node/BinaryNodeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -207,4 +207,24 @@ $node->compile($compiler); eval('$regexp = "this is not a regexp"; '.$compiler->getSource().';'); } + + public function testDivisionByZero() + { + $node = new BinaryNode('/', new ConstantNode(1), new ConstantNode(0)); + + $this->expectException(\DivisionByZeroError::class); + $this->expectExceptionMessage('Division by zero.'); + + $node->evaluate([], []); + } + + public function testModuloByZero() + { + $node = new BinaryNode('%', new ConstantNode(1), new ConstantNode(0)); + + $this->expectException(\DivisionByZeroError::class); + $this->expectExceptionMessage('Modulo by zero.'); + + $node->evaluate([], []); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/Node/NodeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/Node/NodeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/Node/NodeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/Node/NodeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,6 +12,7 @@ namespace Symfony\Component\ExpressionLanguage\Tests\Node; use PHPUnit\Framework\TestCase; +use Symfony\Component\ExpressionLanguage\Compiler; use Symfony\Component\ExpressionLanguage\Node\ConstantNode; use Symfony\Component\ExpressionLanguage\Node\Node; @@ -38,4 +39,33 @@ $this->assertEquals($node, $unserializedNode); } + + public function testCompileActuallyCompilesAllNodes() + { + $nodes = []; + foreach (range(1, 10) as $ignored) { + $node = $this->createMock(Node::class); + $node->expects($this->once())->method('compile'); + + $nodes[] = $node; + } + + $node = new Node($nodes); + $node->compile($this->createMock(Compiler::class)); + } + + public function testEvaluateActuallyEvaluatesAllNodes() + { + $nodes = []; + foreach (range(1, 3) as $i) { + $node = $this->createMock(Node::class); + $node->expects($this->once())->method('evaluate') + ->willReturn($i); + + $nodes[] = $node; + } + + $node = new Node($nodes); + $this->assertSame([1, 2, 3], $node->evaluate([], [])); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/ParserTest.php symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/ParserTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/ParserTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Tests/ParserTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -37,6 +37,17 @@ $parser->parse($lexer->tokenize('foo'), [0]); } + public function testParsePrimaryExpressionWithUnknownFunctionThrows() + { + $parser = new Parser([]); + $stream = (new Lexer())->tokenize('foo()'); + + $this->expectException(SyntaxError::class); + $this->expectExceptionMessage('The function "foo" does not exist around position 1 for expression `foo()`.'); + + $parser->parse($stream); + } + /** * @dataProvider getParseData */ @@ -243,7 +254,7 @@ /** * @dataProvider getLintData */ - public function testLint($expression, $names, string $exception = null) + public function testLint($expression, $names, ?string $exception = null) { if ($exception) { $this->expectException(SyntaxError::class); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Token.php symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Token.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/Token.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/Token.php 2026-05-20 08:22:01.000000000 +0000 @@ -56,7 +56,7 @@ * * @return bool */ - public function test(string $type, string $value = null) + public function test(string $type, ?string $value = null) { return $this->type === $type && (null === $value || $this->value == $value); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/TokenStream.php symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/TokenStream.php --- symfony-5.4.23+dfsg/src/Symfony/Component/ExpressionLanguage/TokenStream.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/ExpressionLanguage/TokenStream.php 2026-05-20 08:22:01.000000000 +0000 @@ -58,7 +58,7 @@ /** * @param string|null $message The syntax error message */ - public function expect(string $type, string $value = null, string $message = null) + public function expect(string $type, ?string $value = null, ?string $message = null) { $token = $this->current; if (!$token->test($type, $value)) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Exception/FileNotFoundException.php symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Exception/FileNotFoundException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Exception/FileNotFoundException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Exception/FileNotFoundException.php 2026-05-20 08:22:01.000000000 +0000 @@ -19,7 +19,7 @@ */ class FileNotFoundException extends IOException { - public function __construct(string $message = null, int $code = 0, \Throwable $previous = null, string $path = null) + public function __construct(?string $message = null, int $code = 0, ?\Throwable $previous = null, ?string $path = null) { if (null === $message) { if (null === $path) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Exception/IOException.php symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Exception/IOException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Exception/IOException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Exception/IOException.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,7 +22,7 @@ { private $path; - public function __construct(string $message, int $code = 0, \Throwable $previous = null, string $path = null) + public function __construct(string $message, int $code = 0, ?\Throwable $previous = null, ?string $path = null) { $this->path = $path; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Filesystem.php symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Filesystem.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Filesystem.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Filesystem.php 2026-05-20 08:22:01.000000000 +0000 @@ -44,7 +44,7 @@ $this->mkdir(\dirname($targetFile)); $doCopy = true; - if (!$overwriteNewerFiles && null === parse_url($originFile, \PHP_URL_HOST) && is_file($targetFile)) { + if (!$overwriteNewerFiles && !parse_url($originFile, \PHP_URL_HOST) && is_file($targetFile)) { $doCopy = filemtime($originFile) > filemtime($targetFile); } @@ -72,6 +72,9 @@ // Like `cp`, preserve executable permission bits self::box('chmod', $targetFile, fileperms($targetFile) | (fileperms($originFile) & 0111)); + // Like `cp`, preserve the file modification time + self::box('touch', $targetFile, filemtime($originFile)); + if ($bytesCopied !== $bytesOrigin = filesize($originFile)) { throw new IOException(sprintf('Failed to copy the whole content of "%s" to "%s" (%g of %g bytes copied).', $originFile, $targetFile, $bytesCopied, $bytesOrigin), 0, null, $originFile); } @@ -132,7 +135,7 @@ * * @throws IOException When touch fails */ - public function touch($files, int $time = null, int $atime = null) + public function touch($files, ?int $time = null, ?int $atime = null) { foreach ($this->toIterable($files) as $file) { if (!($time ? self::box('touch', $file, $time, $atime) : self::box('touch', $file))) { @@ -170,7 +173,7 @@ } } elseif (is_dir($file)) { if (!$isRecursive) { - $tmpName = \dirname(realpath($file)).'/.'.strrev(strtr(base64_encode(random_bytes(2)), '/=', '-_')); + $tmpName = \dirname(realpath($file)).'/.!'.strrev(strtr(base64_encode(random_bytes(2)), '/=', '-!')); if (file_exists($tmpName)) { try { @@ -199,7 +202,7 @@ throw new IOException(sprintf('Failed to remove directory "%s": ', $file).$lastError); } - } elseif (!self::box('unlink', $file) && (str_contains(self::$lastError, 'Permission denied') || file_exists($file))) { + } elseif (!self::box('unlink', $file) && ((self::$lastError && str_contains(self::$lastError, 'Permission denied')) || file_exists($file))) { throw new IOException(sprintf('Failed to remove file "%s": ', $file).self::$lastError); } } @@ -230,6 +233,10 @@ /** * Change the owner of an array of files or directories. * + * This method always throws on Windows, as the underlying PHP function is not supported. + * + * @see https://www.php.net/chown + * * @param string|iterable $files A filename, an array of files, or a \Traversable instance to change owner * @param string|int $user A user name or number * @param bool $recursive Whether change the owner recursively or not @@ -257,6 +264,10 @@ /** * Change the group of an array of files or directories. * + * This method always throws on Windows, as the underlying PHP function is not supported. + * + * @see https://www.php.net/chgrp + * * @param string|iterable $files A filename, an array of files, or a \Traversable instance to change group * @param string|int $group A group name or number * @param bool $recursive Whether change the group recursively or not @@ -534,7 +545,7 @@ * * @throws IOException When file type is unknown */ - public function mirror(string $originDir, string $targetDir, \Traversable $iterator = null, array $options = []) + public function mirror(string $originDir, string $targetDir, ?\Traversable $iterator = null, array $options = []) { $targetDir = rtrim($targetDir, '/\\'); $originDir = rtrim($originDir, '/\\'); @@ -669,6 +680,12 @@ $dir = \dirname($filename); + if (is_link($filename) && $linkTarget = $this->readlink($filename)) { + $this->dumpFile(Path::makeAbsolute($linkTarget, $dir), $content); + + return; + } + if (!is_dir($dir)) { $this->mkdir($dir); } @@ -682,11 +699,15 @@ throw new IOException(sprintf('Failed to write file "%s": ', $filename).self::$lastError, 0, null, $filename); } - self::box('chmod', $tmpFile, file_exists($filename) ? fileperms($filename) : 0666 & ~umask()); + self::box('chmod', $tmpFile, self::box('fileperms', $filename) ?: 0666 & ~umask()); $this->rename($tmpFile, $filename, true); } finally { if (file_exists($tmpFile)) { + if ('\\' === \DIRECTORY_SEPARATOR && !is_writable($tmpFile)) { + self::box('chmod', $tmpFile, self::box('fileperms', $tmpFile) | 0200); + } + self::box('unlink', $tmpFile); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Path.php symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Path.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Path.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Path.php 2026-05-20 08:22:01.000000000 +0000 @@ -257,7 +257,7 @@ * @param string|null $extension if specified, only that extension is cut * off (may contain leading dot) */ - public static function getFilenameWithoutExtension(string $path, string $extension = null): string + public static function getFilenameWithoutExtension(string $path, ?string $extension = null): string { if ('' === $path) { return ''; @@ -368,7 +368,7 @@ } // Strip scheme - if (false !== $schemeSeparatorPosition = strpos($path, '://')) { + if (false !== ($schemeSeparatorPosition = strpos($path, '://')) && 1 !== $schemeSeparatorPosition) { $path = substr($path, $schemeSeparatorPosition + 3); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Tests/FilesystemTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Tests/FilesystemTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Tests/FilesystemTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Tests/FilesystemTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,6 +13,9 @@ use Symfony\Component\Filesystem\Exception\InvalidArgumentException; use Symfony\Component\Filesystem\Exception\IOException; +use Symfony\Component\Filesystem\Path; +use Symfony\Component\Process\PhpExecutableFinder; +use Symfony\Component\Process\Process; /** * Test class for Filesystem. @@ -161,23 +164,32 @@ $this->assertStringEqualsFile($targetFilePath, 'SOURCE FILE'); } - /** - * @group network - */ public function testCopyForOriginUrlsAndExistingLocalFileDefaultsToCopy() { - if (!\in_array('https', stream_get_wrappers())) { - $this->markTestSkipped('"https" stream wrapper is not enabled.'); + if (!\in_array('http', stream_get_wrappers())) { + $this->markTestSkipped('"http" stream wrapper is not enabled.'); } - $sourceFilePath = 'https://symfony.com/images/common/logo/logo_symfony_header.png'; - $targetFilePath = $this->workspace.\DIRECTORY_SEPARATOR.'copy_target_file'; - file_put_contents($targetFilePath, 'TARGET FILE'); + $finder = new PhpExecutableFinder(); + $process = new Process(array_merge([$finder->find(false)], $finder->findArguments(), ['-dopcache.enable=0', '-dvariables_order=EGPCS', '-S', 'localhost:8857'])); + $process->setWorkingDirectory(__DIR__.'/Fixtures/web'); - $this->filesystem->copy($sourceFilePath, $targetFilePath, false); + $process->start(); - $this->assertFileExists($targetFilePath); - $this->assertEquals(file_get_contents($sourceFilePath), file_get_contents($targetFilePath)); + do { + usleep(50000); + } while (!@fopen('http://localhost:8857', 'r')); + + try { + $sourceFilePath = 'http://localhost:8857/logo_symfony_header.png'; + $targetFilePath = $this->workspace.\DIRECTORY_SEPARATOR.'copy_target_file'; + file_put_contents($targetFilePath, 'TARGET FILE'); + $this->filesystem->copy($sourceFilePath, $targetFilePath, false); + $this->assertFileExists($targetFilePath); + $this->assertEquals(file_get_contents($sourceFilePath), file_get_contents($targetFilePath)); + } finally { + $process->stop(); + } } public function testMkdirCreatesDirectoriesRecursively() @@ -1091,20 +1103,22 @@ { $this->markAsSkippedIfSymlinkIsMissing(); - if ('\\' === \DIRECTORY_SEPARATOR) { - $this->markTestSkipped('Windows does not support creating "broken" symlinks'); + if ('\\' === \DIRECTORY_SEPARATOR && \PHP_VERSION_ID < 70400) { + $this->markTestSkipped('Windows does not support reading "broken" symlinks in PHP < 7.4.0'); } - $file = $this->workspace.'/file'; - $link = $this->workspace.'/link'; + $file = Path::join($this->workspace, 'file'); + $link = Path::join($this->workspace, 'link'); + touch($file); $this->filesystem->symlink($file, $link); + $this->filesystem->remove($file); - $this->assertEquals($file, $this->filesystem->readlink($link)); + $this->assertEquals($file, Path::normalize($this->filesystem->readlink($link))); $this->assertNull($this->filesystem->readlink($link, true)); touch($file); - $this->assertEquals($file, $this->filesystem->readlink($link, true)); + $this->assertEquals($file, Path::normalize($this->filesystem->readlink($link, true))); } public function testReadLinkDefaultPathDoesNotExist() @@ -1605,6 +1619,38 @@ $this->assertStringEqualsFile($filename, 'bar'); } + public function testDumpFileFollowsSymlink() + { + $filename = $this->workspace.\DIRECTORY_SEPARATOR.'foo.txt'; + file_put_contents($filename, 'FOO BAR'); + $linknameA = $this->workspace.\DIRECTORY_SEPARATOR.'bar.txt'; + $linknameB = $this->workspace.\DIRECTORY_SEPARATOR.'baz.txt'; + $this->filesystem->symlink($filename, $linknameA); + $this->filesystem->symlink($linknameA, $linknameB); + + $this->filesystem->dumpFile($linknameB, 'bar'); + + $this->assertFileExists($filename); + $this->assertFileExists($linknameA); + $this->assertFileExists($linknameB); + $this->assertStringEqualsFile($filename, 'bar'); + $this->assertStringEqualsFile($linknameA, 'bar'); + $this->assertStringEqualsFile($linknameB, 'bar'); + + // Windows does not support reading "broken" symlinks in PHP < 7.4.0 + if ('\\' === \DIRECTORY_SEPARATOR && \PHP_VERSION_ID < 70400) { + return; + } + + $this->filesystem->remove($filename); + $this->filesystem->dumpFile($linknameB, 'baz'); + + $this->assertFileExists($filename); + $this->assertStringEqualsFile($filename, 'baz'); + $this->assertStringEqualsFile($linknameA, 'baz'); + $this->assertStringEqualsFile($linknameB, 'baz'); + } + public function testDumpFileWithFileScheme() { $scheme = 'file://'; @@ -1678,6 +1724,35 @@ } } + public function testAppendToFileFollowsSymlink() + { + $filename = $this->workspace.\DIRECTORY_SEPARATOR.'foo.txt'; + file_put_contents($filename, 'foo'); + $linknameA = $this->workspace.\DIRECTORY_SEPARATOR.'bar.txt'; + $linknameB = $this->workspace.\DIRECTORY_SEPARATOR.'baz.txt'; + $this->filesystem->symlink($filename, $linknameA); + $this->filesystem->symlink($linknameA, $linknameB); + + $this->filesystem->appendToFile($linknameA, 'bar'); + $this->filesystem->appendToFile($linknameB, 'baz'); + + $this->assertFileExists($filename); + $this->assertFileExists($linknameA); + $this->assertFileExists($linknameB); + $this->assertStringEqualsFile($filename, 'foobarbaz'); + $this->assertStringEqualsFile($linknameA, 'foobarbaz'); + $this->assertStringEqualsFile($linknameB, 'foobarbaz'); + + $this->filesystem->remove($filename); + $this->filesystem->appendToFile($linknameB, 'foo'); + $this->filesystem->appendToFile($linknameA, 'bar'); + + $this->assertFileExists($filename); + $this->assertStringEqualsFile($filename, 'foobar'); + $this->assertStringEqualsFile($linknameA, 'foobar'); + $this->assertStringEqualsFile($linknameB, 'foobar'); + } + public function testAppendToFileWithScheme() { $scheme = 'file://'; @@ -1751,6 +1826,22 @@ $this->assertFilePermissions(745, $filename); } + public function testDumpFileCleansUpAfterFailure() + { + $targetFile = $this->workspace.'/dump-file'; + $this->filesystem->touch($targetFile); + $this->filesystem->chmod($targetFile, 0444); + + try { + $this->filesystem->dumpFile($targetFile, 'any content'); + } catch (IOException $e) { + } finally { + $this->filesystem->chmod($targetFile, 0666); + } + + $this->assertSame([$targetFile], glob($this->workspace.'/*')); + } + public function testCopyShouldKeepExecutionPermission() { $this->markAsSkippedIfChmodIsMissing(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Tests/Fixtures/MockStream/MockStream.php symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Tests/Fixtures/MockStream/MockStream.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Tests/Fixtures/MockStream/MockStream.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Tests/Fixtures/MockStream/MockStream.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ * @param string|null $opened_path If the path is opened successfully, and STREAM_USE_PATH is set in options, * opened_path should be set to the full path of the file/resource that was actually opened */ - public function stream_open(string $path, string $mode, int $options, string &$opened_path = null): bool + public function stream_open(string $path, string $mode, int $options, ?string &$opened_path = null): bool { return true; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Tests/Fixtures/web/index.php symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Tests/Fixtures/web/index.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Filesystem/Tests/Fixtures/web/index.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Filesystem/Tests/Fixtures/web/index.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1 @@ +name('*.php') - * $finder->name('/\.php$/') // same as above + * $finder->name('/\.php$/') + * $finder->name('*.php') // same as above, without dot files * $finder->name('test.php') * $finder->name(['test.py', 'test.php']) * diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php symfony-5.4.52+dfsg/src/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ /** * @var bool */ - private $rewindable; + private $ignoreFirstRewind = true; // these 3 properties take part of the performance optimization to avoid redoing the same work in all iterations private $rootPath; @@ -70,8 +70,9 @@ $subPathname .= $this->directorySeparator; } $subPathname .= $this->getFilename(); + $basePath = $this->rootPath; - if ('/' !== $basePath = $this->rootPath) { + if ('/' !== $basePath && !str_ends_with($basePath, $this->directorySeparator) && !str_ends_with($basePath, '/')) { $basePath .= $this->directorySeparator; } @@ -118,7 +119,6 @@ $children->ignoreUnreadableDirs = $this->ignoreUnreadableDirs; // performance optimization to avoid redoing the same work in all children - $children->rewindable = &$this->rewindable; $children->rootPath = $this->rootPath; } @@ -129,40 +129,30 @@ } /** - * Do nothing for non rewindable stream. - * * @return void */ #[\ReturnTypeWillChange] - public function rewind() + public function next() { - if (false === $this->isRewindable()) { - return; - } + $this->ignoreFirstRewind = false; - parent::rewind(); + parent::next(); } /** - * Checks if the stream is rewindable. - * - * @return bool + * @return void */ - public function isRewindable() + #[\ReturnTypeWillChange] + public function rewind() { - if (null !== $this->rewindable) { - return $this->rewindable; - } - - if (false !== $stream = @opendir($this->getPath())) { - $infos = stream_get_meta_data($stream); - closedir($stream); + // some streams like FTP are not rewindable, ignore the first rewind after creation, + // as newly created DirectoryIterator does not need to be rewound + if ($this->ignoreFirstRewind) { + $this->ignoreFirstRewind = false; - if ($infos['seekable']) { - return $this->rewindable = true; - } + return; } - return $this->rewindable = false; + parent::rewind(); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Finder/Tests/Iterator/LazyIteratorTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Finder/Tests/Iterator/LazyIteratorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Finder/Tests/Iterator/LazyIteratorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Finder/Tests/Iterator/LazyIteratorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ return new Iterator(['foo', 'bar']); }); - $this->assertCount(2, $iterator); + $this->assertCount(2, iterator_to_array($iterator)); } public function testInnerDestructedAtTheEnd() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,36 +15,47 @@ class RecursiveDirectoryIteratorTest extends IteratorTestCase { + protected function setUp(): void + { + if (!\in_array('ftp', stream_get_wrappers(), true) || !\ini_get('allow_url_fopen')) { + $this->markTestSkipped('Unsupported stream "ftp".'); + } + } + /** * @group network + * @group integration */ public function testRewindOnFtp() { - try { - $i = new RecursiveDirectoryIterator('ftp://speedtest:speedtest@ftp.otenet.gr/', \RecursiveDirectoryIterator::SKIP_DOTS); - } catch (\UnexpectedValueException $e) { - $this->markTestSkipped('Unsupported stream "ftp".'); + if (!getenv('INTEGRATION_FTP_URL')) { + self::markTestSkipped('INTEGRATION_FTP_URL env var is not defined.'); } + $i = new RecursiveDirectoryIterator(getenv('INTEGRATION_FTP_URL').\DIRECTORY_SEPARATOR, \RecursiveDirectoryIterator::SKIP_DOTS); + $i->rewind(); - $this->assertTrue(true); + $this->expectNotToPerformAssertions(); } /** * @group network + * @group integration */ public function testSeekOnFtp() { - try { - $i = new RecursiveDirectoryIterator('ftp://speedtest:speedtest@ftp.otenet.gr/', \RecursiveDirectoryIterator::SKIP_DOTS); - } catch (\UnexpectedValueException $e) { - $this->markTestSkipped('Unsupported stream "ftp".'); + if (!getenv('INTEGRATION_FTP_URL')) { + self::markTestSkipped('INTEGRATION_FTP_URL env var is not defined.'); } + $ftpUrl = getenv('INTEGRATION_FTP_URL'); + + $i = new RecursiveDirectoryIterator($ftpUrl.\DIRECTORY_SEPARATOR, \RecursiveDirectoryIterator::SKIP_DOTS); + $contains = [ - 'ftp://speedtest:speedtest@ftp.otenet.gr'.\DIRECTORY_SEPARATOR.'test100Mb.db', - 'ftp://speedtest:speedtest@ftp.otenet.gr'.\DIRECTORY_SEPARATOR.'test100k.db', + $ftpUrl.\DIRECTORY_SEPARATOR.'pub', + $ftpUrl.\DIRECTORY_SEPARATOR.'readme.txt', ]; $actual = []; @@ -56,4 +67,31 @@ $this->assertEquals($contains, $actual); } + + public function testTrailingDirectorySeparatorIsStripped() + { + $fixturesDirectory = __DIR__ . '/../Fixtures/'; + $actual = []; + + foreach (new RecursiveDirectoryIterator($fixturesDirectory, RecursiveDirectoryIterator::SKIP_DOTS) as $file) { + $actual[] = $file->getPathname(); + } + + sort($actual); + + $expected = [ + $fixturesDirectory.'.dot', + $fixturesDirectory.'A', + $fixturesDirectory.'copy', + $fixturesDirectory.'dolor.txt', + $fixturesDirectory.'gitignore', + $fixturesDirectory.'ipsum.txt', + $fixturesDirectory.'lorem.txt', + $fixturesDirectory.'one', + $fixturesDirectory.'r+e.gex[c]a(r)s', + $fixturesDirectory.'with space', + ]; + + $this->assertEquals($expected, $actual); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/Form/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/Form/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/Form/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Button.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Button.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Button.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Button.php 2026-05-20 08:22:01.000000000 +0000 @@ -114,7 +114,7 @@ /** * {@inheritdoc} */ - public function setParent(FormInterface $parent = null) + public function setParent(?FormInterface $parent = null) { if ($this->submitted) { throw new AlreadySubmittedException('You cannot set the parent of a submitted button.'); @@ -140,7 +140,7 @@ * * @throws BadMethodCallException */ - public function add($child, string $type = null, array $options = []) + public function add($child, ?string $type = null, array $options = []) { throw new BadMethodCallException('Buttons cannot have children.'); } @@ -414,7 +414,7 @@ /** * {@inheritdoc} */ - public function createView(FormView $parent = null) + public function createView(?FormView $parent = null) { if (null === $parent && $this->parent) { $parent = $this->parent->createView(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ButtonBuilder.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ButtonBuilder.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ButtonBuilder.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ButtonBuilder.php 2026-05-20 08:22:01.000000000 +0000 @@ -71,7 +71,7 @@ * * @throws BadMethodCallException */ - public function add($child, string $type = null, array $options = []) + public function add($child, ?string $type = null, array $options = []) { throw new BadMethodCallException('Buttons cannot have children.'); } @@ -81,7 +81,7 @@ * * @throws BadMethodCallException */ - public function create(string $name, string $type = null, array $options = []) + public function create(string $name, ?string $type = null, array $options = []) { throw new BadMethodCallException('Buttons cannot have children.'); } @@ -221,7 +221,7 @@ * * @throws BadMethodCallException */ - public function setDataMapper(DataMapperInterface $dataMapper = null) + public function setDataMapper(?DataMapperInterface $dataMapper = null) { throw new BadMethodCallException('Buttons do not support data mappers.'); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php 2026-05-20 08:22:01.000000000 +0000 @@ -57,7 +57,7 @@ * incrementing integers are used as * values */ - public function __construct(iterable $choices, callable $value = null) + public function __construct(iterable $choices, ?callable $value = null) { if ($choices instanceof \Traversable) { $choices = iterator_to_array($choices); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/Cache/ChoiceLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/Cache/ChoiceLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/Cache/ChoiceLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/Cache/ChoiceLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ /** * {@inheritdoc} */ - public function loadChoiceList(callable $value = null): ChoiceListInterface + public function loadChoiceList(?callable $value = null): ChoiceListInterface { return $this->getOption()->loadChoiceList($value); } @@ -37,7 +37,7 @@ /** * {@inheritdoc} */ - public function loadChoicesForValues(array $values, callable $value = null): array + public function loadChoicesForValues(array $values, ?callable $value = null): array { return $this->getOption()->loadChoicesForValues($values, $value); } @@ -45,7 +45,7 @@ /** * {@inheritdoc} */ - public function loadValuesForChoices(array $choices, callable $value = null): array + public function loadValuesForChoices(array $choices, ?callable $value = null): array { return $this->getOption()->loadValuesForChoices($choices, $value); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/ChoiceListFactoryInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/ChoiceListFactoryInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/ChoiceListFactoryInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/ChoiceListFactoryInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -35,7 +35,7 @@ * * @return ChoiceListInterface */ - public function createListFromChoices(iterable $choices, callable $value = null/* , callable $filter = null */); + public function createListFromChoices(iterable $choices, ?callable $value = null/* , callable $filter = null */); /** * Creates a choice list that is loaded with the given loader. @@ -48,7 +48,7 @@ * * @return ChoiceListInterface */ - public function createListFromLoader(ChoiceLoaderInterface $loader, callable $value = null/* , callable $filter = null */); + public function createListFromLoader(ChoiceLoaderInterface $loader, ?callable $value = null/* , callable $filter = null */); /** * Creates a view for the given choice list. @@ -84,5 +84,5 @@ * * @return ChoiceListView */ - public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, callable $index = null, callable $groupBy = null, $attr = null/* , $labelTranslationParameters = [] */); + public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, ?callable $index = null, ?callable $groupBy = null, $attr = null/* , $labelTranslationParameters = [] */); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/DefaultChoiceListFactory.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/DefaultChoiceListFactory.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/DefaultChoiceListFactory.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/DefaultChoiceListFactory.php 2026-05-20 08:22:01.000000000 +0000 @@ -35,7 +35,7 @@ * * @param callable|null $filter */ - public function createListFromChoices(iterable $choices, callable $value = null/* , callable $filter = null */) + public function createListFromChoices(iterable $choices, ?callable $value = null/* , callable $filter = null */) { $filter = \func_num_args() > 2 ? func_get_arg(2) : null; @@ -56,7 +56,7 @@ * * @param callable|null $filter */ - public function createListFromLoader(ChoiceLoaderInterface $loader, callable $value = null/* , callable $filter = null */) + public function createListFromLoader(ChoiceLoaderInterface $loader, ?callable $value = null/* , callable $filter = null */) { $filter = \func_num_args() > 2 ? func_get_arg(2) : null; @@ -72,7 +72,7 @@ * * @param array|callable $labelTranslationParameters The parameters used to translate the choice labels */ - public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, callable $index = null, callable $groupBy = null, $attr = null/* , $labelTranslationParameters = [] */) + public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, ?callable $index = null, ?callable $groupBy = null, $attr = null/* , $labelTranslationParameters = [] */) { $labelTranslationParameters = \func_num_args() > 6 ? func_get_arg(6) : []; $preferredViews = []; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/PropertyAccessDecorator.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/PropertyAccessDecorator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/PropertyAccessDecorator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Factory/PropertyAccessDecorator.php 2026-05-20 08:22:01.000000000 +0000 @@ -41,7 +41,7 @@ private $decoratedFactory; private $propertyAccessor; - public function __construct(ChoiceListFactoryInterface $decoratedFactory, PropertyAccessorInterface $propertyAccessor = null) + public function __construct(ChoiceListFactoryInterface $decoratedFactory, ?PropertyAccessorInterface $propertyAccessor = null) { $this->decoratedFactory = $decoratedFactory; $this->propertyAccessor = $propertyAccessor ?: PropertyAccess::createPropertyAccessor(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/LazyChoiceList.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/LazyChoiceList.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/LazyChoiceList.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/LazyChoiceList.php 2026-05-20 08:22:01.000000000 +0000 @@ -47,7 +47,7 @@ * * @param callable|null $value The callable generating the choice values */ - public function __construct(ChoiceLoaderInterface $loader, callable $value = null) + public function __construct(ChoiceLoaderInterface $loader, ?callable $value = null) { $this->loader = $loader; $this->value = $value; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/AbstractChoiceLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/AbstractChoiceLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/AbstractChoiceLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/AbstractChoiceLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ * * {@inheritdoc} */ - public function loadChoiceList(callable $value = null): ChoiceListInterface + public function loadChoiceList(?callable $value = null): ChoiceListInterface { return new ArrayChoiceList($this->choices ?? $this->choices = $this->loadChoices(), $value); } @@ -39,7 +39,7 @@ /** * {@inheritdoc} */ - public function loadChoicesForValues(array $values, callable $value = null) + public function loadChoicesForValues(array $values, ?callable $value = null) { if (!$values) { return []; @@ -51,7 +51,7 @@ /** * {@inheritdoc} */ - public function loadValuesForChoices(array $choices, callable $value = null) + public function loadValuesForChoices(array $choices, ?callable $value = null) { if (!$choices) { return []; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/ChoiceLoaderInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/ChoiceLoaderInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/ChoiceLoaderInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/ChoiceLoaderInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,7 +36,7 @@ * * @return ChoiceListInterface */ - public function loadChoiceList(callable $value = null); + public function loadChoiceList(?callable $value = null); /** * Loads the choices corresponding to the given values. @@ -54,7 +54,7 @@ * * @return array */ - public function loadChoicesForValues(array $values, callable $value = null); + public function loadChoicesForValues(array $values, ?callable $value = null); /** * Loads the values corresponding to the given choices. @@ -72,5 +72,5 @@ * * @return string[] */ - public function loadValuesForChoices(array $choices, callable $value = null); + public function loadValuesForChoices(array $choices, ?callable $value = null); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/FilterChoiceLoaderDecorator.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/FilterChoiceLoaderDecorator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/FilterChoiceLoaderDecorator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/FilterChoiceLoaderDecorator.php 2026-05-20 08:22:01.000000000 +0000 @@ -55,7 +55,7 @@ /** * {@inheritdoc} */ - public function loadChoicesForValues(array $values, callable $value = null): array + public function loadChoicesForValues(array $values, ?callable $value = null): array { return array_filter($this->decoratedLoader->loadChoicesForValues($values, $value), $this->filter); } @@ -63,7 +63,7 @@ /** * {@inheritdoc} */ - public function loadValuesForChoices(array $choices, callable $value = null): array + public function loadValuesForChoices(array $choices, ?callable $value = null): array { return $this->decoratedLoader->loadValuesForChoices(array_filter($choices, $this->filter), $value); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/IntlCallbackChoiceLoader.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/IntlCallbackChoiceLoader.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/IntlCallbackChoiceLoader.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ChoiceList/Loader/IntlCallbackChoiceLoader.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,7 +22,7 @@ /** * {@inheritdoc} */ - public function loadChoicesForValues(array $values, callable $value = null) + public function loadChoicesForValues(array $values, ?callable $value = null) { return parent::loadChoicesForValues(array_filter($values), $value); } @@ -30,7 +30,7 @@ /** * {@inheritdoc} */ - public function loadValuesForChoices(array $choices, callable $value = null) + public function loadValuesForChoices(array $choices, ?callable $value = null) { $choices = array_filter($choices); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Command/DebugCommand.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Command/DebugCommand.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Command/DebugCommand.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Command/DebugCommand.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,7 +43,7 @@ private $guessers; private $fileLinkFormatter; - public function __construct(FormRegistryInterface $formRegistry, array $namespaces = ['Symfony\Component\Form\Extension\Core\Type'], array $types = [], array $extensions = [], array $guessers = [], FileLinkFormatter $fileLinkFormatter = null) + public function __construct(FormRegistryInterface $formRegistry, array $namespaces = ['Symfony\Component\Form\Extension\Core\Type'], array $types = [], array $extensions = [], array $guessers = [], ?FileLinkFormatter $fileLinkFormatter = null) { parent::__construct(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Console/Descriptor/TextDescriptor.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Console/Descriptor/TextDescriptor.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Console/Descriptor/TextDescriptor.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Console/Descriptor/TextDescriptor.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ { private $fileLinkFormatter; - public function __construct(FileLinkFormatter $fileLinkFormatter = null) + public function __construct(?FileLinkFormatter $fileLinkFormatter = null) { $this->fileLinkFormatter = $fileLinkFormatter; } @@ -192,7 +192,7 @@ return $options; } - private function formatClassLink(string $class, string $text = null): string + private function formatClassLink(string $class, ?string $text = null): string { if (null === $text) { $text = $class; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Console/Helper/DescriptorHelper.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Console/Helper/DescriptorHelper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Console/Helper/DescriptorHelper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Console/Helper/DescriptorHelper.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ */ class DescriptorHelper extends BaseDescriptorHelper { - public function __construct(FileLinkFormatter $fileLinkFormatter = null) + public function __construct(?FileLinkFormatter $fileLinkFormatter = null) { $this ->register('txt', new TextDescriptor($fileLinkFormatter)) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Event/PostSetDataEvent.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Event/PostSetDataEvent.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Event/PostSetDataEvent.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Event/PostSetDataEvent.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,8 @@ /** * This event is dispatched at the end of the Form::setData() method. * - * This event is mostly here for reading data after having pre-populated the form. + * It can be used to modify a form depending on the populated data (adding or + * removing fields dynamically). */ final class PostSetDataEvent extends FormEvent { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Event/PreSetDataEvent.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Event/PreSetDataEvent.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Event/PreSetDataEvent.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Event/PreSetDataEvent.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,9 +16,7 @@ /** * This event is dispatched at the beginning of the Form::setData() method. * - * It can be used to: - * - Modify the data given during pre-population; - * - Modify a form depending on the pre-populated data (adding or removing fields dynamically). + * It can be used to modify the data given during pre-population. */ final class PreSetDataEvent extends FormEvent { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Exception/TransformationFailedException.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Exception/TransformationFailedException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Exception/TransformationFailedException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Exception/TransformationFailedException.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ private $invalidMessage; private $invalidMessageParameters; - public function __construct(string $message = '', int $code = 0, \Throwable $previous = null, string $invalidMessage = null, array $invalidMessageParameters = []) + public function __construct(string $message = '', int $code = 0, ?\Throwable $previous = null, ?string $invalidMessage = null, array $invalidMessageParameters = []) { parent::__construct($message, $code, $previous); @@ -34,7 +34,7 @@ * @param string|null $invalidMessage The message or message key * @param array $invalidMessageParameters Data to be passed into the translator */ - public function setInvalidMessage(string $invalidMessage = null, array $invalidMessageParameters = []): void + public function setInvalidMessage(?string $invalidMessage = null, array $invalidMessageParameters = []): void { $this->invalidMessage = $invalidMessage; $this->invalidMessageParameters = $invalidMessageParameters; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/CoreExtension.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/CoreExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/CoreExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/CoreExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ private $choiceListFactory; private $translator; - public function __construct(PropertyAccessorInterface $propertyAccessor = null, ChoiceListFactoryInterface $choiceListFactory = null, TranslatorInterface $translator = null) + public function __construct(?PropertyAccessorInterface $propertyAccessor = null, ?ChoiceListFactoryInterface $choiceListFactory = null, ?TranslatorInterface $translator = null) { $this->propertyAccessor = $propertyAccessor ?: PropertyAccess::createPropertyAccessor(); $this->choiceListFactory = $choiceListFactory ?? new CachingFactoryDecorator(new PropertyAccessDecorator(new DefaultChoiceListFactory(), $this->propertyAccessor)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataAccessor/PropertyPathAccessor.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataAccessor/PropertyPathAccessor.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataAccessor/PropertyPathAccessor.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataAccessor/PropertyPathAccessor.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,7 +12,9 @@ namespace Symfony\Component\Form\Extension\Core\DataAccessor; use Symfony\Component\Form\DataAccessorInterface; +use Symfony\Component\Form\DataMapperInterface; use Symfony\Component\Form\Exception\AccessException; +use Symfony\Component\Form\Extension\Core\DataMapper\DataMapper; use Symfony\Component\Form\FormInterface; use Symfony\Component\PropertyAccess\Exception\AccessException as PropertyAccessException; use Symfony\Component\PropertyAccess\Exception\NoSuchIndexException; @@ -31,7 +33,7 @@ { private $propertyAccessor; - public function __construct(PropertyAccessorInterface $propertyAccessor = null) + public function __construct(?PropertyAccessorInterface $propertyAccessor = null) { $this->propertyAccessor = $propertyAccessor ?? PropertyAccess::createPropertyAccessor(); } @@ -57,15 +59,25 @@ throw new AccessException('Unable to write the given value as no property path is defined.'); } + $getValue = function () use ($data, $form, $propertyPath) { + $dataMapper = $this->getDataMapper($form); + + if ($dataMapper instanceof DataMapper && null !== $dataAccessor = $dataMapper->getDataAccessor()) { + return $dataAccessor->getValue($data, $form); + } + + return $this->getPropertyValue($data, $propertyPath); + }; + // If the field is of type DateTimeInterface and the data is the same skip the update to // keep the original object hash - if ($propertyValue instanceof \DateTimeInterface && $propertyValue == $this->getPropertyValue($data, $propertyPath)) { + if ($propertyValue instanceof \DateTimeInterface && $propertyValue == $getValue()) { return; } // If the data is identical to the value in $data, we are // dealing with a reference - if (!\is_object($data) || !$form->getConfig()->getByReference() || $propertyValue !== $this->getPropertyValue($data, $propertyPath)) { + if (!\is_object($data) || !$form->getConfig()->getByReference() || $propertyValue !== $getValue()) { $this->propertyAccessor->setValue($data, $propertyPath, $propertyValue); } } @@ -105,4 +117,13 @@ return null; } } + + private function getDataMapper(FormInterface $form): ?DataMapperInterface + { + do { + $dataMapper = $form->getConfig()->getDataMapper(); + } while (null === $dataMapper && null !== $form = $form->getParent()); + + return $dataMapper; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataMapper/DataMapper.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataMapper/DataMapper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataMapper/DataMapper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataMapper/DataMapper.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,7 +27,7 @@ { private $dataAccessor; - public function __construct(DataAccessorInterface $dataAccessor = null) + public function __construct(?DataAccessorInterface $dataAccessor = null) { $this->dataAccessor = $dataAccessor ?? new ChainAccessor([ new CallbackAccessor(), @@ -88,4 +88,12 @@ } } } + + /** + * @internal + */ + public function getDataAccessor(): DataAccessorInterface + { + return $this->dataAccessor; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataMapper/PropertyPathMapper.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataMapper/PropertyPathMapper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataMapper/PropertyPathMapper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataMapper/PropertyPathMapper.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ { private $propertyAccessor; - public function __construct(PropertyAccessorInterface $propertyAccessor = null) + public function __construct(?PropertyAccessorInterface $propertyAccessor = null) { $this->propertyAccessor = $propertyAccessor ?: PropertyAccess::createPropertyAccessor(); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,7 +34,7 @@ * * @throws InvalidArgumentException if a timezone is not valid */ - public function __construct(string $inputTimezone = null, string $outputTimezone = null) + public function __construct(?string $inputTimezone = null, ?string $outputTimezone = null) { $this->inputTimezone = $inputTimezone ?: date_default_timezone_get(); $this->outputTimezone = $outputTimezone ?: date_default_timezone_get(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -46,7 +46,7 @@ * @param string[]|null $fields The date fields * @param bool $pad Whether to use padding */ - public function __construct(array $fields = null, bool $pad = false) + public function __construct(?array $fields = null, bool $pad = false) { $this->fields = $fields ?? ['years', 'months', 'days', 'hours', 'minutes', 'seconds', 'invert']; $this->pad = $pad; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ * @param string[]|null $fields The date fields * @param bool $pad Whether to use padding */ - public function __construct(string $inputTimezone = null, string $outputTimezone = null, array $fields = null, bool $pad = false, \DateTimeInterface $referenceDate = null) + public function __construct(?string $inputTimezone = null, ?string $outputTimezone = null, ?array $fields = null, bool $pad = false, ?\DateTimeInterface $referenceDate = null) { parent::__construct($inputTimezone, $outputTimezone); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -39,7 +39,7 @@ * * @throws UnexpectedTypeException If a format is not supported or if a timezone is not a string */ - public function __construct(string $inputTimezone = null, string $outputTimezone = null, int $dateFormat = null, int $timeFormat = null, int $calendar = \IntlDateFormatter::GREGORIAN, string $pattern = null) + public function __construct(?string $inputTimezone = null, ?string $outputTimezone = null, ?int $dateFormat = null, ?int $timeFormat = null, int $calendar = \IntlDateFormatter::GREGORIAN, ?string $pattern = null) { parent::__construct($inputTimezone, $outputTimezone); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -49,7 +49,7 @@ * @param string $format The date format * @param string|null $parseFormat The parse format when different from $format */ - public function __construct(string $inputTimezone = null, string $outputTimezone = null, string $format = 'Y-m-d H:i:s', string $parseFormat = null) + public function __construct(?string $inputTimezone = null, ?string $outputTimezone = null, string $format = 'Y-m-d H:i:s', ?string $parseFormat = null) { parent::__construct($inputTimezone, $outputTimezone); @@ -118,6 +118,10 @@ throw new TransformationFailedException('Expected a string.'); } + if (str_contains($value, "\0")) { + throw new TransformationFailedException('Null bytes not allowed'); + } + $outputTz = new \DateTimeZone($this->outputTimezone); $dateTime = \DateTime::createFromFormat($this->parseFormat, $value, $outputTz); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ * @param int|null $roundingMode One of the ROUND_ constants in this class * @param string|null $locale locale used for transforming */ - public function __construct(?bool $grouping = false, ?int $roundingMode = \NumberFormatter::ROUND_DOWN, string $locale = null) + public function __construct(?bool $grouping = false, ?int $roundingMode = \NumberFormatter::ROUND_DOWN, ?string $locale = null) { parent::__construct(0, $grouping, $roundingMode, $locale); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/MoneyToLocalizedStringTransformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/MoneyToLocalizedStringTransformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/MoneyToLocalizedStringTransformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/MoneyToLocalizedStringTransformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ { private $divisor; - public function __construct(?int $scale = 2, ?bool $grouping = true, ?int $roundingMode = \NumberFormatter::ROUND_HALFUP, ?int $divisor = 1, string $locale = null) + public function __construct(?int $scale = 2, ?bool $grouping = true, ?int $roundingMode = \NumberFormatter::ROUND_HALFUP, ?int $divisor = 1, ?string $locale = null) { parent::__construct($scale ?? 2, $grouping ?? true, $roundingMode, $locale); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -65,7 +65,7 @@ private $scale; private $locale; - public function __construct(int $scale = null, ?bool $grouping = false, ?int $roundingMode = \NumberFormatter::ROUND_HALFUP, string $locale = null) + public function __construct(?int $scale = null, ?bool $grouping = false, ?int $roundingMode = \NumberFormatter::ROUND_HALFUP, ?string $locale = null) { $this->scale = $scale; $this->grouping = $grouping ?? false; @@ -143,7 +143,8 @@ $value = str_replace(',', $decSep, $value); } - if (str_contains($value, $decSep)) { + // If the value is in exponential notation with a negative exponent, we end up with a float value too + if (str_contains($value, $decSep) || false !== stripos($value, 'e-')) { $type = \NumberFormatter::TYPE_DOUBLE; } else { $type = \PHP_INT_SIZE === 8 @@ -151,10 +152,14 @@ : \NumberFormatter::TYPE_INT32; } - $result = $formatter->parse($value, $type, $position); + try { + $result = @$formatter->parse($value, $type, $position); + } catch (\IntlException $e) { + throw new TransformationFailedException($e->getMessage(), $e->getCode(), $e); + } if (intl_is_failure($formatter->getErrorCode())) { - throw new TransformationFailedException($formatter->getErrorMessage()); + throw new TransformationFailedException($formatter->getErrorMessage(), $formatter->getErrorCode()); } if ($result >= \PHP_INT_MAX || $result <= -\PHP_INT_MAX) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -44,7 +44,7 @@ * * @throws UnexpectedTypeException if the given value of type is unknown */ - public function __construct(int $scale = null, string $type = null, int $roundingMode = null, bool $html5Format = false) + public function __construct(?int $scale = null, ?string $type = null, ?int $roundingMode = null, bool $html5Format = false) { if (null === $type) { $type = self::FRACTIONAL; @@ -139,11 +139,15 @@ $type = \PHP_INT_SIZE === 8 ? \NumberFormatter::TYPE_INT64 : \NumberFormatter::TYPE_INT32; } - // replace normal spaces so that the formatter can read them - $result = $formatter->parse(str_replace(' ', "\xc2\xa0", $value), $type, $position); + try { + // replace normal spaces so that the formatter can read them + $result = @$formatter->parse(str_replace(' ', "\xc2\xa0", $value), $type, $position); + } catch (\IntlException $e) { + throw new TransformationFailedException($e->getMessage(), 0, $e); + } if (intl_is_failure($formatter->getErrorCode())) { - throw new TransformationFailedException($formatter->getErrorMessage()); + throw new TransformationFailedException($formatter->getErrorMessage(), $formatter->getErrorCode()); } if (self::FRACTIONAL == $this->type) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/StringToFloatTransformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/StringToFloatTransformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/StringToFloatTransformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/StringToFloatTransformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,7 +18,7 @@ { private $scale; - public function __construct(int $scale = null) + public function __construct(?int $scale = null) { $this->scale = $scale; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -62,7 +62,7 @@ $emptyKeys = []; foreach ($this->keys as $key) { - if (isset($array[$key]) && '' !== $array[$key] && false !== $array[$key] && [] !== $array[$key]) { + if (isset($array[$key]) && false !== $array[$key] && [] !== $array[$key]) { if ($array[$key] !== $result) { throw new TransformationFailedException('All values in the array should be the same.'); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/EventListener/TransformationFailureListener.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/EventListener/TransformationFailureListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/EventListener/TransformationFailureListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/EventListener/TransformationFailureListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,7 +24,7 @@ { private $translator; - public function __construct(TranslatorInterface $translator = null) + public function __construct(?TranslatorInterface $translator = null) { $this->translator = $translator; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php 2026-05-20 08:22:01.000000000 +0000 @@ -55,7 +55,7 @@ /** * @param TranslatorInterface $translator */ - public function __construct(ChoiceListFactoryInterface $choiceListFactory = null, $translator = null) + public function __construct(?ChoiceListFactoryInterface $choiceListFactory = null, $translator = null) { $this->choiceListFactory = $choiceListFactory ?? new CachingFactoryDecorator( new PropertyAccessDecorator( @@ -165,11 +165,9 @@ } } } else { - foreach ($data as $value) { - if ($choiceList->getChoicesForValues([$value])) { - $knownValues[] = $value; - unset($unknownValues[$value]); - } + foreach ($choiceList->getChoicesForValues($data) as $key => $choice) { + $knownValues[] = $data[$key]; + unset($unknownValues[$data[$key]]); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/Type/ColorType.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/ColorType.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/Type/ColorType.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/ColorType.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ private $translator; - public function __construct(TranslatorInterface $translator = null) + public function __construct(?TranslatorInterface $translator = null) { $this->translator = $translator; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/Type/FileType.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/FileType.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/Type/FileType.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/FileType.php 2026-05-20 08:22:01.000000000 +0000 @@ -35,7 +35,7 @@ private $translator; - public function __construct(TranslatorInterface $translator = null) + public function __construct(?TranslatorInterface $translator = null) { $this->translator = $translator; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/Type/FormType.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/FormType.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/Type/FormType.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/FormType.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ { private $dataMapper; - public function __construct(PropertyAccessorInterface $propertyAccessor = null) + public function __construct(?PropertyAccessorInterface $propertyAccessor = null) { $this->dataMapper = new DataMapper(new ChainAccessor([ new CallbackAccessor(), diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/Type/TimezoneType.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/TimezoneType.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/Type/TimezoneType.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/TimezoneType.php 2026-05-20 08:22:01.000000000 +0000 @@ -126,7 +126,7 @@ return $timezones; } - private static function getIntlTimezones(string $input, string $locale = null): array + private static function getIntlTimezones(string $input, ?string $locale = null): array { $timezones = array_flip(Timezones::getNames($locale)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/Type/TransformationFailureExtension.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/TransformationFailureExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Core/Type/TransformationFailureExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Core/Type/TransformationFailureExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ { private $translator; - public function __construct(TranslatorInterface $translator = null) + public function __construct(?TranslatorInterface $translator = null) { $this->translator = $translator; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Csrf/CsrfExtension.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Csrf/CsrfExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Csrf/CsrfExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Csrf/CsrfExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ private $translator; private $translationDomain; - public function __construct(CsrfTokenManagerInterface $tokenManager, TranslatorInterface $translator = null, string $translationDomain = null) + public function __construct(CsrfTokenManagerInterface $tokenManager, ?TranslatorInterface $translator = null, ?string $translationDomain = null) { $this->tokenManager = $tokenManager; $this->translator = $translator; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Csrf/EventListener/CsrfValidationListener.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Csrf/EventListener/CsrfValidationListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Csrf/EventListener/CsrfValidationListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Csrf/EventListener/CsrfValidationListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -40,7 +40,7 @@ ]; } - public function __construct(string $fieldName, CsrfTokenManagerInterface $tokenManager, string $tokenId, string $errorMessage, TranslatorInterface $translator = null, string $translationDomain = null, ServerParams $serverParams = null) + public function __construct(string $fieldName, CsrfTokenManagerInterface $tokenManager, string $tokenId, string $errorMessage, ?TranslatorInterface $translator = null, ?string $translationDomain = null, ?ServerParams $serverParams = null) { $this->fieldName = $fieldName; $this->tokenManager = $tokenManager; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -35,7 +35,7 @@ private $translationDomain; private $serverParams; - public function __construct(CsrfTokenManagerInterface $defaultTokenManager, bool $defaultEnabled = true, string $defaultFieldName = '_token', TranslatorInterface $translator = null, string $translationDomain = null, ServerParams $serverParams = null) + public function __construct(CsrfTokenManagerInterface $defaultTokenManager, bool $defaultEnabled = true, string $defaultFieldName = '_token', ?TranslatorInterface $translator = null, ?string $translationDomain = null, ?ServerParams $serverParams = null) { $this->defaultTokenManager = $defaultTokenManager; $this->defaultEnabled = $defaultEnabled; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/DataCollector/FormDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/DataCollector/FormDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/DataCollector/FormDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/DataCollector/FormDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -81,7 +81,7 @@ /** * Does nothing. The data is collected during the form event listeners. */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { } @@ -298,7 +298,7 @@ return $output; } - private function &recursiveBuildFinalFormTree(FormInterface $form = null, FormView $view, array &$outputByHash) + private function &recursiveBuildFinalFormTree(?FormInterface $form, FormView $view, array &$outputByHash) { $viewHash = spl_object_hash($view); $formHash = null; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php 2026-05-20 08:22:01.000000000 +0000 @@ -82,7 +82,7 @@ /** * {@inheritdoc} */ - public function createView(FormInterface $form, FormView $parent = null) + public function createView(FormInterface $form, ?FormView $parent = null) { return $this->proxiedType->createView($form, $parent); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/DataCollector/Proxy/ResolvedTypeFactoryDataCollectorProxy.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/DataCollector/Proxy/ResolvedTypeFactoryDataCollectorProxy.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/DataCollector/Proxy/ResolvedTypeFactoryDataCollectorProxy.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/DataCollector/Proxy/ResolvedTypeFactoryDataCollectorProxy.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,7 +36,7 @@ /** * {@inheritdoc} */ - public function createResolvedType(FormTypeInterface $type, array $typeExtensions, ResolvedFormTypeInterface $parent = null) + public function createResolvedType(FormTypeInterface $type, array $typeExtensions, ?ResolvedFormTypeInterface $parent = null) { return new ResolvedTypeDataCollectorProxy( $this->proxiedFactory->createResolvedType($type, $typeExtensions, $parent), diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/HttpFoundation/HttpFoundationRequestHandler.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/HttpFoundation/HttpFoundationRequestHandler.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/HttpFoundation/HttpFoundationRequestHandler.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/HttpFoundation/HttpFoundationRequestHandler.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,6 +15,7 @@ use Symfony\Component\Form\FormError; use Symfony\Component\Form\FormInterface; use Symfony\Component\Form\RequestHandlerInterface; +use Symfony\Component\Form\Util\FormUtil; use Symfony\Component\Form\Util\ServerParams; use Symfony\Component\HttpFoundation\File\File; use Symfony\Component\HttpFoundation\File\UploadedFile; @@ -30,7 +31,7 @@ { private $serverParams; - public function __construct(ServerParams $serverParams = null) + public function __construct(?ServerParams $serverParams = null) { $this->serverParams = $serverParams ?? new ServerParams(); } @@ -95,7 +96,7 @@ } if (\is_array($params) && \is_array($files)) { - $data = array_replace_recursive($params, $files); + $data = FormUtil::mergeParamsAndFiles($params, $files); } else { $data = $params ?: $files; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/HttpFoundation/Type/FormTypeHttpFoundationExtension.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/HttpFoundation/Type/FormTypeHttpFoundationExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/HttpFoundation/Type/FormTypeHttpFoundationExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/HttpFoundation/Type/FormTypeHttpFoundationExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,7 +24,7 @@ { private $requestHandler; - public function __construct(RequestHandlerInterface $requestHandler = null) + public function __construct(?RequestHandlerInterface $requestHandler = null) { $this->requestHandler = $requestHandler ?? new HttpFoundationRequestHandler(); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Validator/Type/FormTypeValidatorExtension.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Validator/Type/FormTypeValidatorExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Validator/Type/FormTypeValidatorExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Validator/Type/FormTypeValidatorExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ private $violationMapper; private $legacyErrorMessages; - public function __construct(ValidatorInterface $validator, bool $legacyErrorMessages = true, FormRendererInterface $formRenderer = null, TranslatorInterface $translator = null) + public function __construct(ValidatorInterface $validator, bool $legacyErrorMessages = true, ?FormRendererInterface $formRenderer = null, ?TranslatorInterface $translator = null) { $this->validator = $validator; $this->violationMapper = new ViolationMapper($formRenderer, $translator); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Validator/Type/UploadValidatorExtension.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Validator/Type/UploadValidatorExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Validator/Type/UploadValidatorExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Validator/Type/UploadValidatorExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ private $translator; private $translationDomain; - public function __construct(TranslatorInterface $translator, string $translationDomain = null) + public function __construct(TranslatorInterface $translator, ?string $translationDomain = null) { $this->translator = $translator; $this->translationDomain = $translationDomain; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Validator/ValidatorExtension.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Validator/ValidatorExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Validator/ValidatorExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Validator/ValidatorExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ private $translator; private $legacyErrorMessages; - public function __construct(ValidatorInterface $validator, bool $legacyErrorMessages = true, FormRendererInterface $formRenderer = null, TranslatorInterface $translator = null) + public function __construct(ValidatorInterface $validator, bool $legacyErrorMessages = true, ?FormRendererInterface $formRenderer = null, ?TranslatorInterface $translator = null) { $this->legacyErrorMessages = $legacyErrorMessages; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationMapper.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationMapper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationMapper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationMapper.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ private $translator; private $allowNonSynchronized = false; - public function __construct(FormRendererInterface $formRenderer = null, TranslatorInterface $translator = null) + public function __construct(?FormRendererInterface $formRenderer = null, ?TranslatorInterface $translator = null) { $this->formRenderer = $formRenderer; $this->translator = $translator; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Form.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Form.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Form.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Form.php 2026-05-20 08:22:01.000000000 +0000 @@ -275,7 +275,7 @@ /** * {@inheritdoc} */ - public function setParent(FormInterface $parent = null) + public function setParent(?FormInterface $parent = null) { if ($this->submitted) { throw new AlreadySubmittedException('You cannot set the parent of a submitted form.'); @@ -850,7 +850,7 @@ /** * {@inheritdoc} */ - public function add($child, string $type = null, array $options = []) + public function add($child, ?string $type = null, array $options = []) { if ($this->submitted) { throw new AlreadySubmittedException('You cannot add children to a submitted form.'); @@ -1045,7 +1045,7 @@ /** * {@inheritdoc} */ - public function createView(FormView $parent = null) + public function createView(?FormView $parent = null) { if (null === $parent && $this->parent) { $parent = $this->parent->createView(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormBuilder.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormBuilder.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormBuilder.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormBuilder.php 2026-05-20 08:22:01.000000000 +0000 @@ -50,7 +50,7 @@ /** * {@inheritdoc} */ - public function add($child, string $type = null, array $options = []) + public function add($child, ?string $type = null, array $options = []) { if ($this->locked) { throw new BadMethodCallException('FormBuilder methods cannot be accessed anymore once the builder is turned into a FormConfigInterface instance.'); @@ -83,7 +83,7 @@ /** * {@inheritdoc} */ - public function create($name, string $type = null, array $options = []) + public function create($name, ?string $type = null, array $options = []) { if ($this->locked) { throw new BadMethodCallException('FormBuilder methods cannot be accessed anymore once the builder is turned into a FormConfigInterface instance.'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormBuilderInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormBuilderInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormBuilderInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormBuilderInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ * * @return static */ - public function add($child, string $type = null, array $options = []); + public function add($child, ?string $type = null, array $options = []); /** * Creates a form builder. @@ -41,7 +41,7 @@ * * @return self */ - public function create(string $name, string $type = null, array $options = []); + public function create(string $name, ?string $type = null, array $options = []); /** * Returns a child by name. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormConfigBuilder.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormConfigBuilder.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormConfigBuilder.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormConfigBuilder.php 2026-05-20 08:22:01.000000000 +0000 @@ -501,7 +501,7 @@ /** * {@inheritdoc} */ - public function setDataMapper(DataMapperInterface $dataMapper = null) + public function setDataMapper(?DataMapperInterface $dataMapper = null) { if ($this->locked) { throw new BadMethodCallException('FormConfigBuilder methods cannot be accessed anymore once the builder is turned into a FormConfigInterface instance.'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormConfigBuilderInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormConfigBuilderInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormConfigBuilderInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormConfigBuilderInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -102,7 +102,7 @@ * * @return $this */ - public function setDataMapper(DataMapperInterface $dataMapper = null); + public function setDataMapper(?DataMapperInterface $dataMapper = null); /** * Sets whether the form is disabled. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormError.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormError.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormError.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormError.php 2026-05-20 08:22:01.000000000 +0000 @@ -47,7 +47,7 @@ * * @see \Symfony\Component\Translation\Translator */ - public function __construct(string $message, string $messageTemplate = null, array $messageParameters = [], int $messagePluralization = null, $cause = null) + public function __construct(string $message, ?string $messageTemplate = null, array $messageParameters = [], ?int $messagePluralization = null, $cause = null) { $this->message = $message; $this->messageTemplate = $messageTemplate ?: $message; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,7 +34,7 @@ * @throws Exception\LogicException when trying to set a parent for a form with * an empty name */ - public function setParent(self $parent = null); + public function setParent(?self $parent = null); /** * Returns the parent form. @@ -56,7 +56,7 @@ * @throws Exception\LogicException when trying to add a child to a non-compound form * @throws Exception\UnexpectedTypeException if $child or $type has an unexpected type */ - public function add($child, string $type = null, array $options = []); + public function add($child, ?string $type = null, array $options = []); /** * Returns the child with the given name. @@ -324,5 +324,5 @@ /** * @return FormView */ - public function createView(FormView $parent = null); + public function createView(?FormView $parent = null); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormRenderer.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormRenderer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormRenderer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormRenderer.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ private $hierarchyLevelMap = []; private $variableStack = []; - public function __construct(FormRendererEngineInterface $engine, CsrfTokenManagerInterface $csrfTokenManager = null) + public function __construct(FormRendererEngineInterface $engine, ?CsrfTokenManagerInterface $csrfTokenManager = null) { $this->engine = $engine; $this->csrfTokenManager = $csrfTokenManager; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormTypeGuesserInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormTypeGuesserInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormTypeGuesserInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormTypeGuesserInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -40,13 +40,6 @@ /** * Returns a guess about the field's pattern. * - * - When you have a min value, you guess a min length of this min (LOW_CONFIDENCE) - * - Then line below, if this value is a float type, this is wrong so you guess null with MEDIUM_CONFIDENCE to override the previous guess. - * Example: - * You want a float greater than 5, 4.512313 is not valid but length(4.512314) > length(5) - * - * @see https://github.com/symfony/symfony/pull/3927 - * * @return Guess\ValueGuess|null */ public function guessPattern(string $class, string $property); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormView.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormView.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/FormView.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/FormView.php 2026-05-20 08:22:01.000000000 +0000 @@ -54,7 +54,7 @@ private $methodRendered = false; - public function __construct(self $parent = null) + public function __construct(?self $parent = null) { $this->parent = $parent; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/NativeRequestHandler.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/NativeRequestHandler.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/NativeRequestHandler.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/NativeRequestHandler.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,6 +12,7 @@ namespace Symfony\Component\Form; use Symfony\Component\Form\Exception\UnexpectedTypeException; +use Symfony\Component\Form\Util\FormUtil; use Symfony\Component\Form\Util\ServerParams; /** @@ -34,7 +35,7 @@ 'type', ]; - public function __construct(ServerParams $params = null) + public function __construct(?ServerParams $params = null) { $this->serverParams = $params ?? new ServerParams(); } @@ -106,7 +107,7 @@ } if (\is_array($params) && \is_array($files)) { - $data = array_replace_recursive($params, $files); + $data = FormUtil::mergeParamsAndFiles($params, $files); } else { $data = $params ?: $files; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/PreloadedExtension.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/PreloadedExtension.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/PreloadedExtension.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/PreloadedExtension.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ * @param FormTypeInterface[] $types The types that the extension should support * @param FormTypeExtensionInterface[][] $typeExtensions The type extensions that the extension should support */ - public function __construct(array $types, array $typeExtensions, FormTypeGuesserInterface $typeGuesser = null) + public function __construct(array $types, array $typeExtensions, ?FormTypeGuesserInterface $typeGuesser = null) { $this->typeExtensions = $typeExtensions; $this->typeGuesser = $typeGuesser; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ResolvedFormType.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ResolvedFormType.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ResolvedFormType.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ResolvedFormType.php 2026-05-20 08:22:01.000000000 +0000 @@ -46,7 +46,7 @@ /** * @param FormTypeExtensionInterface[] $typeExtensions */ - public function __construct(FormTypeInterface $innerType, array $typeExtensions = [], ResolvedFormTypeInterface $parent = null) + public function __construct(FormTypeInterface $innerType, array $typeExtensions = [], ?ResolvedFormTypeInterface $parent = null) { foreach ($typeExtensions as $extension) { if (!$extension instanceof FormTypeExtensionInterface) { @@ -114,7 +114,7 @@ /** * {@inheritdoc} */ - public function createView(FormInterface $form, FormView $parent = null) + public function createView(FormInterface $form, ?FormView $parent = null) { return $this->newView($parent); } @@ -217,7 +217,7 @@ * * @return FormView */ - protected function newView(FormView $parent = null) + protected function newView(?FormView $parent = null) { return new FormView($parent); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ResolvedFormTypeFactory.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ResolvedFormTypeFactory.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ResolvedFormTypeFactory.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ResolvedFormTypeFactory.php 2026-05-20 08:22:01.000000000 +0000 @@ -19,7 +19,7 @@ /** * {@inheritdoc} */ - public function createResolvedType(FormTypeInterface $type, array $typeExtensions, ResolvedFormTypeInterface $parent = null) + public function createResolvedType(FormTypeInterface $type, array $typeExtensions, ?ResolvedFormTypeInterface $parent = null) { return new ResolvedFormType($type, $typeExtensions, $parent); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ResolvedFormTypeFactoryInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ResolvedFormTypeFactoryInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ResolvedFormTypeFactoryInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ResolvedFormTypeFactoryInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,5 +32,5 @@ * @throws Exception\UnexpectedTypeException if the types parent {@link FormTypeInterface::getParent()} is not a string * @throws Exception\InvalidArgumentException if the types parent cannot be retrieved from any extension */ - public function createResolvedType(FormTypeInterface $type, array $typeExtensions, ResolvedFormTypeInterface $parent = null); + public function createResolvedType(FormTypeInterface $type, array $typeExtensions, ?ResolvedFormTypeInterface $parent = null); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/ResolvedFormTypeInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/ResolvedFormTypeInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/ResolvedFormTypeInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/ResolvedFormTypeInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -62,7 +62,7 @@ * * @return FormView */ - public function createView(FormInterface $form, FormView $parent = null); + public function createView(FormInterface $form, ?FormView $parent = null); /** * Configures a form builder for the type hierarchy. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.af.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.af.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.af.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.af.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ar.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ar.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ar.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ar.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.az.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.az.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.az.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.az.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.be.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.be.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.be.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.be.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.bg.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.bg.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.bg.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.bg.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.bs.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.bs.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.bs.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.bs.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ca.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ca.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ca.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ca.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.cs.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.cs.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.cs.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.cs.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.cy.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.cy.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.cy.xlf 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.cy.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,139 @@ + + + + + + This form should not contain extra fields. + Ni ddylai'r ffurflen gynnwys meysydd ychwanegol. + + + The uploaded file was too large. Please try to upload a smaller file. + Roedd y ffeil a uwchlwythwyd yn rhy fawr. Ceisiwch uwchlwytho ffeil llai. + + + The CSRF token is invalid. Please try to resubmit the form. + Mae'r tocyn CSRF yn annilys. Ceisiwch ailgyflwyno'r ffurflen. + + + This value is not a valid HTML5 color. + Nid yw'r gwerth hwn yn lliw HTML5 dilys. + + + Please enter a valid birthdate. + Nodwch ddyddiad geni dilys. + + + The selected choice is invalid. + Mae'r dewis a ddewiswyd yn annilys. + + + The collection is invalid. + Mae'r casgliad yn annilys. + + + Please select a valid color. + Dewiswch liw dilys. + + + Please select a valid country. + Dewiswch wlad ddilys. + + + Please select a valid currency. + Dewiswch arian cyfred dilys. + + + Please choose a valid date interval. + Dewiswch ystod dyddiadau dilys. + + + Please enter a valid date and time. + Nodwch ddyddiad ac amser dilys. + + + Please enter a valid date. + Nodwch ddyddiad dilys. + + + Please select a valid file. + Dewiswch ffeil ddilys. + + + The hidden field is invalid. + Mae'r maes cudd yn annilys. + + + Please enter an integer. + Nodwch rif cyfan. + + + Please select a valid language. + Dewiswch iaith ddilys. + + + Please select a valid locale. + Dewiswch leoliad dilys. + + + Please enter a valid money amount. + Nodwch swm arian dilys. + + + Please enter a number. + Nodwch rif. + + + The password is invalid. + Mae'r cyfrinair yn annilys. + + + Please enter a percentage value. + Nodwch werth canran. + + + The values do not match. + Nid yw'r gwerthoedd yn cyfateb. + + + Please enter a valid time. + Nodwch amser dilys. + + + Please select a valid timezone. + Dewiswch barth amser dilys. + + + Please enter a valid URL. + Nodwch URL dilys. + + + Please enter a valid search term. + Nodwch derm chwilio dilys. + + + Please provide a valid phone number. + Darparwch rif ffôn dilys. + + + The checkbox has an invalid value. + Mae gan y blwch ticio werth annilys. + + + Please enter a valid email address. + Nodwch gyfeiriad e-bost dilys. + + + Please select a valid option. + Dewiswch opsiwn dilys. + + + Please select a valid range. + Dewiswch ystod ddilys. + + + Please enter a valid week. + Nodwch wythnos ddilys. + + + + diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.da.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.da.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.da.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.da.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.de.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.de.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.de.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.de.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.el.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.el.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.el.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.el.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.en.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.en.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.en.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.en.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.es.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.es.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.es.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.es.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.et.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.et.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.et.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.et.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.eu.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.eu.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.eu.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.eu.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. @@ -11,8 +11,8 @@ Igotako fitxategia handiegia da. Mesedez saiatu fitxategi txikiago bat igotzen. - The CSRF token is invalid. - CSRF tokena ez da egokia. + The CSRF token is invalid. Please try to resubmit the form. + CSRF tokena baliogabea da. Mesedez, saiatu berriro formularioa bidaltzen. This value is not a valid HTML5 color. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fa.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fa.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fa.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fa.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fi.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fi.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fi.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fi.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fr.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fr.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fr.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.fr.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.gl.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.gl.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.gl.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.gl.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.he.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.he.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.he.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.he.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hr.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hr.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hr.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hr.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hu.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hu.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hu.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hu.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hy.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hy.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hy.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.hy.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.id.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.id.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.id.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.id.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.it.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.it.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.it.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.it.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ja.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ja.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ja.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ja.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. @@ -15,125 +15,125 @@ CSRFトークンが無効です、再送信してください。 - This value is not a valid HTML5 color. - 有効なHTML5の色ではありません。 - - - Please enter a valid birthdate. - 有効な生年月日を入力してください。 - - - The selected choice is invalid. - 選択した値は無効です。 - - - The collection is invalid. - コレクションは無効です。 - - - Please select a valid color. - 有効な色を選択してください。 - - - Please select a valid country. - 有効な国を選択してください。 - - - Please select a valid currency. - 有効な通貨を選択してください。 - - - Please choose a valid date interval. - 有効な日付間隔を選択してください。 - - - Please enter a valid date and time. - 有効な日時を入力してください。 - - - Please enter a valid date. - 有効な日付を入力してください。 - - - Please select a valid file. - 有効なファイルを選択してください。 - - - The hidden field is invalid. - 隠しフィールドが無効です。 - - - Please enter an integer. - 整数で入力してください。 - - - Please select a valid language. - 有効な言語を選択してください。 - - - Please select a valid locale. - 有効なロケールを選択してください。 - - - Please enter a valid money amount. - 有効な金額を入力してください。 - - - Please enter a number. - 数値で入力してください。 - - - The password is invalid. - パスワードが無効です。 - - - Please enter a percentage value. - パーセント値で入力してください。 - - - The values do not match. - 値が一致しません。 - - - Please enter a valid time. - 有効な時間を入力してください。 - - - Please select a valid timezone. - 有効なタイムゾーンを選択してください。 - - - Please enter a valid URL. - 有効なURLを入力してください。 - - - Please enter a valid search term. - 有効な検索語を入力してください。 - - - Please provide a valid phone number. - 有効な電話番号を入力してください。 - - - The checkbox has an invalid value. - チェックボックスの値が無効です。 - - - Please enter a valid email address. - 有効なメールアドレスを入力してください。 - - - Please select a valid option. - 有効な値を選択してください。 - - - Please select a valid range. - 有効な範囲を選択してください。 - - - Please enter a valid week. - 有効な週を入力してください。 - + This value is not a valid HTML5 color. + 有効なHTML5の色ではありません。 + + + Please enter a valid birthdate. + 有効な生年月日を入力してください。 + + + The selected choice is invalid. + 選択した値は無効です。 + + + The collection is invalid. + コレクションは無効です。 + + + Please select a valid color. + 有効な色を選択してください。 + + + Please select a valid country. + 有効な国を選択してください。 + + + Please select a valid currency. + 有効な通貨を選択してください。 + + + Please choose a valid date interval. + 有効な日付間隔を選択してください。 + + + Please enter a valid date and time. + 有効な日時を入力してください。 + + + Please enter a valid date. + 有効な日付を入力してください。 + + + Please select a valid file. + 有効なファイルを選択してください。 + + + The hidden field is invalid. + 隠しフィールドが無効です。 + + + Please enter an integer. + 整数で入力してください。 + + + Please select a valid language. + 有効な言語を選択してください。 + + + Please select a valid locale. + 有効なロケールを選択してください。 + + + Please enter a valid money amount. + 有効な金額を入力してください。 + + + Please enter a number. + 数値で入力してください。 + + + The password is invalid. + パスワードが無効です。 + + + Please enter a percentage value. + パーセント値で入力してください。 + + + The values do not match. + 値が一致しません。 + + + Please enter a valid time. + 有効な時間を入力してください。 + + + Please select a valid timezone. + 有効なタイムゾーンを選択してください。 + + + Please enter a valid URL. + 有効なURLを入力してください。 + + + Please enter a valid search term. + 有効な検索語を入力してください。 + + + Please provide a valid phone number. + 有効な電話番号を入力してください。 + + + The checkbox has an invalid value. + チェックボックスの値が無効です。 + + + Please enter a valid email address. + 有効なメールアドレスを入力してください。 + + + Please select a valid option. + 有効な値を選択してください。 + + + Please select a valid range. + 有効な範囲を選択してください。 + + + Please enter a valid week. + 有効な週を入力してください。 + diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lb.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lb.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lb.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lb.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lt.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lt.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lt.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lt.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lv.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lv.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lv.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.lv.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.mk.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.mk.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.mk.xlf 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.mk.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,139 @@ + + + + + + This form should not contain extra fields. + Оваа форма не треба да содржи дополнителни полиња. + + + The uploaded file was too large. Please try to upload a smaller file. + Датотеката што се обидовте да ја подигнете е преголема. Ве молиме обидете се со помала датотека. + + + The CSRF token is invalid. Please try to resubmit the form. + Вашиот CSRF токен е невалиден. Ве молиме испратете ја формата одново. + + + This value is not a valid HTML5 color. + Оваа вредност не е валидна HTML5 боја. + + + Please enter a valid birthdate. + Ве молиме внесете валидна дата на раѓање. + + + The selected choice is invalid. + Избраната опција е невалидна. + + + The collection is invalid. + Колекцијата е невалидна. + + + Please select a valid color. + Ве молиме одберете валидна боја. + + + Please select a valid country. + Ве молиме одберете валидна земја. + + + Please select a valid currency. + Ве молиме одберете валидна валута. + + + Please choose a valid date interval. + Ве молиме одберете валиден интервал помеѓу два датума. + + + Please enter a valid date and time. + Ве молиме внесете валиден датум и време. + + + Please enter a valid date. + Ве молиме внесете валиден датум. + + + Please select a valid file. + Ве молиме одберете валидна датотека. + + + The hidden field is invalid. + Скриеното поле е невалидно. + + + Please enter an integer. + Ве молиме внесете цел број. + + + Please select a valid language. + Ве молиме одберете валиден јазик. + + + Please select a valid locale. + Ве молиме одберете валидна локализација. + + + Please enter a valid money amount. + Ве молиме внесете валидна сума на пари. + + + Please enter a number. + Ве молиме внесете број. + + + The password is invalid. + Лозинката е погрешна. + + + Please enter a percentage value. + Ве молиме внесете процентуална вредност. + + + The values do not match. + Вредностите не се совпаѓаат. + + + Please enter a valid time. + Ве молиме внесете валидно време. + + + Please select a valid timezone. + Ве молиме одберете валидна временска зона. + + + Please enter a valid URL. + Ве молиме внесете валиден униформен локатор на ресурси (URL). + + + Please enter a valid search term. + Ве молиме внесете валиден термин за пребарување. + + + Please provide a valid phone number. + Ве молиме внесете валиден телефонски број. + + + The checkbox has an invalid value. + Полето за штиклирање има неважечка вредност. + + + Please enter a valid email address. + Ве молиме внесете валидна адреса за е-пошта. + + + Please select a valid option. + Ве молиме одберете валидна опција. + + + Please select a valid range. + Ве молиме одберете важечки опсег. + + + Please enter a valid week. + Ве молиме внесете валидна недела. + + + + diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.mn.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.mn.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.mn.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.mn.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.my.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.my.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.my.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.my.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nb.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nb.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nb.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nb.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. @@ -11,8 +11,8 @@ Den opplastede filen var for stor. Vennligst last opp en mindre fil. - The CSRF token is invalid. - CSRF nøkkelen er ugyldig. + The CSRF token is invalid. Please try to resubmit the form. + CSRF-tokenen er ugyldig. Vennligst prøv å sende inn skjemaet på nytt. This value is not a valid HTML5 color. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nl.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nl.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nl.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nl.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nn.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nn.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nn.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.nn.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. @@ -11,8 +11,8 @@ Fila du lasta opp var for stor. Last opp ei mindre fil. - The CSRF token is invalid. - CSRF-nøkkelen er ikkje gyldig. + The CSRF token is invalid. Please try to resubmit the form. + CSRF-teiknet er ugyldig. Ver venleg og prøv å sende inn skjemaet på nytt. This value is not a valid HTML5 color. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.no.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.no.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.no.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.no.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. @@ -11,8 +11,8 @@ Den opplastede filen var for stor. Vennligst last opp en mindre fil. - The CSRF token is invalid. - CSRF nøkkelen er ugyldig. + The CSRF token is invalid. Please try to resubmit the form. + CSRF-tokenen er ugyldig. Vennligst prøv å sende inn skjemaet på nytt. This value is not a valid HTML5 color. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pl.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pl.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pl.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pl.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pt.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pt.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pt.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pt.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. @@ -14,7 +14,7 @@ The CSRF token is invalid. Please try to resubmit the form. O token CSRF está inválido. Por favor, tente enviar o formulário novamente. - + This value is not a valid HTML5 color. Este valor não é uma cor HTML5 válida. @@ -50,7 +50,7 @@ Please enter a valid date and time. Por favor, informe uma data e horário válidos. - + Please enter a valid date. Por favor, informe uma data válida. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pt_BR.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pt_BR.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pt_BR.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.pt_BR.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ro.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ro.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ro.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ro.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ru.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ru.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ru.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ru.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sk.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sk.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sk.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sk.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sl.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sl.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sl.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sl.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sq.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sq.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sq.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sq.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,18 +1,27 @@ - - - + + + +
    + + Për fjalët e huaja, të cilat nuk kanë përkthim të drejtpërdrejtë, ju lutemi të ndiqni rregullat e mëposhtme: + a) në rast se emri është akronim i përdorur gjerësisht si i përveçëm, atëherë, emri lakohet pa thonjëza dhe mbaresa shkruhet me vizë ndarëse. Gjinia gjykohet sipas rastit. Shembull: JSON-i (mashkullore) + b) në rast se emri është akronim i papërdorur gjerësisht si i përveçëm, atëherë, emri lakohet pa thonjëza dhe mbaresa shkruhet me vizë ndarëse. Gjinia është femërore. Shembull: URL-ja (femërore) + c) në rast se emri duhet lakuar për shkak të rasës në fjali, atëherë, emri lakohet pa thonjëza dhe mbaresa shkruhet me vizë ndarëse. Shembull: host-i, prej host-it + d) në rast se emri nuk duhet lakuar për shkak të trajtës në fjali, atëherë, emri rrethohet me thonjëzat “”. Shembull: “locale” + +
    This form should not contain extra fields. - Kjo formë nuk duhet të përmbajë fusha shtesë. + Ky formular nuk duhet të përmbajë fusha shtesë. The uploaded file was too large. Please try to upload a smaller file. - Skedari i ngarkuar ishte shumë i madh. Ju lutemi provoni të ngarkoni një skedar më të vogël. + Skeda e ngarkuar ishte shumë e madhe. Ju lutemi provoni të ngarkoni një skedë më të vogël. The CSRF token is invalid. Please try to resubmit the form. - Vlera CSRF është e pavlefshme. Ju lutemi provoni të ridërgoni formën. + Vlera CSRF është e pavlefshme. Ju lutemi provoni të ridërgoni formularin. This value is not a valid HTML5 color. @@ -24,7 +33,7 @@ The selected choice is invalid. - Opsioni i zgjedhur është i pavlefshëm. + Alternativa e zgjedhur është e pavlefshme. The collection is invalid. @@ -40,11 +49,11 @@ Please select a valid currency. - Ju lutemi zgjidhni një monedhë të vlefshme. + Ju lutemi zgjidhni një valutë të vlefshme. Please choose a valid date interval. - Ju lutemi zgjidhni një interval të vlefshëm të datës. + Ju lutemi zgjidhni një interval të vlefshëm. Please enter a valid date and time. @@ -56,7 +65,7 @@ Please select a valid file. - Ju lutemi zgjidhni një skedar të vlefshëm. + Ju lutemi zgjidhni një skedë të vlefshme. The hidden field is invalid. @@ -68,11 +77,11 @@ Please select a valid language. - Please select a valid language. + Ju lutemi zgjidhni një gjuhë të vlefshme. Please select a valid locale. - Ju lutemi zgjidhni një lokale të vlefshme. + Ju lutemi zgjidhni një “locale” të vlefshme. Please enter a valid money amount. @@ -96,7 +105,7 @@ Please enter a valid time. - Ju lutemi shkruani një kohë të vlefshme. + Ju lutemi shkruani një orë të vlefshme. Please select a valid timezone. @@ -120,15 +129,15 @@ Please enter a valid email address. - Ju lutemi shkruani një adresë të vlefshme emaili. + Ju lutemi shkruani një adresë të vlefshme email-i. Please select a valid option. - Ju lutemi zgjidhni një opsion të vlefshëm. + Ju lutemi zgjidhni një alternativë të vlefshme. Please select a valid range. - Ju lutemi zgjidhni një diapazon të vlefshëm. + Ju lutemi zgjidhni një seri të vlefshme. Please enter a valid week. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sr_Cyrl.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sr_Cyrl.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sr_Cyrl.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sr_Cyrl.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sr_Latn.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sr_Latn.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sr_Latn.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sr_Latn.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sv.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sv.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sv.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.sv.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.th.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.th.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.th.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.th.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.tl.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.tl.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.tl.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.tl.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.tr.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.tr.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.tr.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.tr.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.uk.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.uk.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.uk.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.uk.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ur.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ur.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ur.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.ur.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.uz.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.uz.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.uz.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.uz.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.vi.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.vi.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.vi.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.vi.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.zh_CN.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.zh_CN.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.zh_CN.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.zh_CN.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + This form should not contain extra fields. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.zh_TW.xlf symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.zh_TW.xlf --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Resources/translations/validators.zh_TW.xlf 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Resources/translations/validators.zh_TW.xlf 2026-05-20 08:22:01.000000000 +0000 @@ -1,34 +1,34 @@ - - - + + + This form should not contain extra fields. - 該表單中不可有額外字段。 + 此表單不應包含其他欄位。 The uploaded file was too large. Please try to upload a smaller file. - 上傳文件太大, 請重新嘗試上傳一個較小的文件。 + 上傳的檔案過大。請嘗試上傳較小的檔案。 The CSRF token is invalid. Please try to resubmit the form. - CSRF 驗證符無效, 請重新提交。 + CSRF token 無效。請重新提交表單。 This value is not a valid HTML5 color. - 該數值不是個有效的 HTML5 顏色。 + 這個數值不是有效的 HTML5 顏色。 Please enter a valid birthdate. - 請輸入有效的生日日期。 + 請輸入有效的出生日期。 The selected choice is invalid. - 所選的選項無效。 + 選取的選項無效。 The collection is invalid. - 集合無效。 + 這個集合無效。 Please select a valid color. @@ -44,11 +44,11 @@ Please choose a valid date interval. - 請選擇有效的日期間隔。 + 請選擇有效的日期區間。 Please enter a valid date and time. - 請輸入有效的日期與時間。 + 請輸入有效的日期和時間。 Please enter a valid date. @@ -56,11 +56,11 @@ Please select a valid file. - 請選擇有效的文件。 + 請選擇有效的檔案。 The hidden field is invalid. - 隱藏字段無效。 + 隱藏欄位無效。 Please enter an integer. @@ -72,11 +72,11 @@ Please select a valid locale. - 請選擇有效的語言環境。 + 請選擇有效的語系。 Please enter a valid money amount. - 請輸入正確的金額。 + 請輸入有效的金額。 Please enter a number. @@ -88,11 +88,11 @@ Please enter a percentage value. - 請輸入百分比值。 + 請輸入百分比數值。 The values do not match. - 數值不匹配。 + 數值不相符。 Please enter a valid time. @@ -104,19 +104,19 @@ Please enter a valid URL. - 請輸入有效的網址。 + 請輸入有效的 URL。 Please enter a valid search term. - 請輸入有效的搜索詞。 + 請輸入有效的搜尋關鍵字。 Please provide a valid phone number. - 請提供有效的手機號碼。 + 請提供有效的電話號碼。 The checkbox has an invalid value. - 無效的選框值。 + 核取方塊上有無效的值。 Please enter a valid email address. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Test/FormPerformanceTestCase.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Test/FormPerformanceTestCase.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Test/FormPerformanceTestCase.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Test/FormPerformanceTestCase.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,6 +11,7 @@ namespace Symfony\Component\Form\Test; +use Symfony\Component\Form\Test\Traits\RunTestTrait; use Symfony\Component\Form\Tests\VersionAwareTest; /** @@ -23,6 +24,7 @@ */ abstract class FormPerformanceTestCase extends FormIntegrationTestCase { + use RunTestTrait; use VersionAwareTest; /** @@ -31,17 +33,21 @@ protected $maxRunningTime = 0; /** - * {@inheritdoc} + * @return mixed */ - protected function runTest() + private function doRunTest() { $s = microtime(true); - parent::runTest(); + $result = parent::runTest(); $time = microtime(true) - $s; if (0 != $this->maxRunningTime && $time > $this->maxRunningTime) { $this->fail(sprintf('expected running time: <= %s but was: %s', $this->maxRunningTime, $time)); } + + $this->expectNotToPerformAssertions(); + + return $result; } /** diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Test/Traits/RunTestTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Test/Traits/RunTestTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Test/Traits/RunTestTrait.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Test/Traits/RunTestTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,36 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Form\Test\Traits; + +use PHPUnit\Framework\TestCase; + +if ((new \ReflectionMethod(TestCase::class, 'runTest'))->hasReturnType()) { + // PHPUnit 10 + /** @internal */ + trait RunTestTrait + { + protected function runTest(): mixed + { + return $this->doRunTest(); + } + } +} else { + // PHPUnit 9 + /** @internal */ + trait RunTestTrait + { + protected function runTest() + { + return $this->doRunTest(); + } + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Test/Traits/ValidatorExtensionTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Test/Traits/ValidatorExtensionTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Test/Traits/ValidatorExtensionTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Test/Traits/ValidatorExtensionTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,8 +36,8 @@ $this->validator = $this->createMock(ValidatorInterface::class); $metadata = $this->getMockBuilder(ClassMetadata::class)->setConstructorArgs([''])->onlyMethods(['addPropertyConstraint'])->getMock(); - $this->validator->expects($this->any())->method('getMetadataFor')->will($this->returnValue($metadata)); - $this->validator->expects($this->any())->method('validate')->will($this->returnValue(new ConstraintViolationList())); + $this->validator->expects($this->any())->method('getMetadataFor')->willReturn($metadata); + $this->validator->expects($this->any())->method('validate')->willReturn(new ConstraintViolationList()); return new ValidatorExtension($this->validator, false); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/AbstractRequestHandlerTestCase.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/AbstractRequestHandlerTestCase.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/AbstractRequestHandlerTestCase.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/AbstractRequestHandlerTestCase.php 2026-05-20 08:22:01.000000000 +0000 @@ -14,6 +14,8 @@ use PHPUnit\Framework\TestCase; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\Form\Extension\Core\DataMapper\DataMapper; +use Symfony\Component\Form\Extension\Core\Type\CollectionType; +use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Form; use Symfony\Component\Form\FormBuilder; use Symfony\Component\Form\FormError; @@ -22,6 +24,7 @@ use Symfony\Component\Form\Forms; use Symfony\Component\Form\RequestHandlerInterface; use Symfony\Component\Form\ResolvedFormTypeFactory; +use Symfony\Component\Form\Tests\Extension\Type\ItemFileType; use Symfony\Component\Form\Util\ServerParams; /** @@ -65,7 +68,7 @@ $this->request = null; } - public static function methodExceptGetProvider() + public static function methodExceptGetProvider(): array { return [ ['POST'], @@ -75,7 +78,7 @@ ]; } - public static function methodProvider() + public static function methodProvider(): array { return array_merge([ ['GET'], @@ -236,6 +239,60 @@ $this->assertSame($file, $form->get('field2')->getData()); } + public function testIntegerChildren() + { + $form = $this->createForm('root', 'POST', true); + $form->add('0', TextType::class); + $form->add('1', TextType::class); + + $this->setRequestData('POST', [ + 'root' => [ + '1' => 'bar', + ], + ]); + + $this->requestHandler->handleRequest($form, $this->request); + + $this->assertNull($form->get('0')->getData()); + $this->assertSame('bar', $form->get('1')->getData()); + } + + /** + * @dataProvider methodExceptGetProvider + */ + public function testMergeParamsAndFilesMultiple($method) + { + $form = $this->createForm('param1', $method, true); + $form->add($this->createBuilder('field1', false, ['allow_file_upload' => true, 'multiple' => true])->getForm()); + $file1 = $this->getUploadedFile(); + $file2 = $this->getUploadedFile(); + + $this->setRequestData($method, [ + 'param1' => [ + 'field1' => [ + 'foo', + 'bar', + 'baz', + ], + ], + ], [ + 'param1' => [ + 'field1' => [ + $file1, + $file2, + ], + ], + ]); + + $this->requestHandler->handleRequest($form, $this->request); + $data = $form->get('field1')->getData(); + + $this->assertTrue($form->isSubmitted()); + $this->assertIsArray($data); + $this->assertCount(5, $data); + $this->assertSame(['foo', 'bar', 'baz', $file1, $file2], $data); + } + /** * @dataProvider methodExceptGetProvider */ @@ -256,6 +313,48 @@ $this->assertSame('DATA', $form->getData()); } + public function testMergeZeroIndexedCollection() + { + $form = $this->createForm('root', 'POST', true); + $form->add('items', CollectionType::class, [ + 'entry_type' => ItemFileType::class, + 'allow_add' => true, + ]); + + $file = $this->getUploadedFile(); + + $this->setRequestData('POST', [ + 'root' => [ + 'items' => [ + 0 => [ + 'item' => 'test', + ], + ], + ], + ], [ + 'root' => [ + 'items' => [ + 0 => [ + 'file' => $file, + ], + ], + ], + ]); + + $this->requestHandler->handleRequest($form, $this->request); + + $itemsForm = $form->get('items'); + + $this->assertTrue($form->isSubmitted()); + $this->assertTrue($form->isValid()); + + $this->assertTrue($itemsForm->has('0')); + $this->assertFalse($itemsForm->has('1')); + + $this->assertEquals('test', $itemsForm->get('0')->get('item')->getData()); + $this->assertNotNull($itemsForm->get('0')->get('file')); + } + /** * @dataProvider methodExceptGetProvider */ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/ChoiceList/Factory/CachingFactoryDecoratorTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/ChoiceList/Factory/CachingFactoryDecoratorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/ChoiceList/Factory/CachingFactoryDecoratorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/ChoiceList/Factory/CachingFactoryDecoratorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -586,7 +586,7 @@ ]; } - public function provideSameKeyChoices() + public static function provideSameKeyChoices() { // Only test types here that can be used as array keys return [ @@ -597,7 +597,7 @@ ]; } - public function provideDistinguishedKeyChoices() + public static function provideDistinguishedKeyChoices() { // Only test types here that can be used as array keys return [ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/CompoundFormTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/CompoundFormTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/CompoundFormTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/CompoundFormTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -574,7 +574,7 @@ $this->assertSame('Bernhard', $object['name']); } - public static function requestMethodProvider() + public static function requestMethodProvider(): array { return [ ['POST'], @@ -1145,7 +1145,7 @@ return $builder->getForm(); } - private function getBuilder(string $name = 'name', string $dataClass = null, array $options = []): FormBuilder + private function getBuilder(string $name = 'name', ?string $dataClass = null, array $options = []): FormBuilder { return new FormBuilder($name, $dataClass, new EventDispatcher(), $this->factory, $options); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/DataMapperTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/DataMapperTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/DataMapperTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/DataMapperTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -17,6 +17,8 @@ use Symfony\Component\Form\Extension\Core\DataAccessor\PropertyPathAccessor; use Symfony\Component\Form\Extension\Core\DataMapper\DataMapper; use Symfony\Component\Form\Extension\Core\Type\DateType; +use Symfony\Component\Form\Extension\Core\Type\FormType; +use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Form; use Symfony\Component\Form\FormConfigBuilder; use Symfony\Component\Form\FormFactoryBuilder; @@ -419,6 +421,25 @@ $this->assertEquals(['date' => new \DateTime('2022-08-04', new \DateTimeZone('UTC'))], $form->getData()); } + + public function testMapFormToDataWithOnlyGetterConfigured() + { + $person = new DummyPerson('foo'); + $form = (new FormFactoryBuilder()) + ->getFormFactory() + ->createBuilder(FormType::class, $person) + ->add('name', TextType::class, [ + 'getter' => function (DummyPerson $person) { + return $person->myName(); + }, + ]) + ->getForm(); + $form->submit([ + 'name' => 'bar', + ]); + + $this->assertSame('bar', $person->myName()); + } } class SubmittedForm extends Form @@ -455,4 +476,9 @@ { $this->name = $name; } + + public function setName($name): void + { + $this->name = $name; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/BaseDateTimeTransformerTestCase.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/BaseDateTimeTransformerTestCase.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/BaseDateTimeTransformerTestCase.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/BaseDateTimeTransformerTestCase.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,5 +31,5 @@ $this->createDateTimeTransformer(null, 'that_timezone_does_not_exist'); } - abstract protected function createDateTimeTransformer(string $inputTimezone = null, string $outputTimezone = null): BaseDateTimeTransformer; + abstract protected function createDateTimeTransformer(?string $inputTimezone = null, ?string $outputTimezone = null): BaseDateTimeTransformer; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoiceToValueTransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoiceToValueTransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoiceToValueTransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoiceToValueTransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,13 +30,7 @@ $this->transformerWithNull = new ChoiceToValueTransformer($listWithNull); } - protected function tearDown(): void - { - $this->transformer = null; - $this->transformerWithNull = null; - } - - public static function transformProvider() + public static function transformProvider(): array { return [ // more extensive test set can be found in FormUtilTest diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateIntervalToStringTransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateIntervalToStringTransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateIntervalToStringTransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateIntervalToStringTransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,9 +20,9 @@ */ class DateIntervalToStringTransformerTest extends DateIntervalTestCase { - public static function dataProviderISO() + public static function dataProviderISO(): array { - $data = [ + return [ ['P%YY%MM%DDT%HH%IM%SS', 'P00Y00M00DT00H00M00S', 'PT0S'], ['P%yY%mM%dDT%hH%iM%sS', 'P0Y0M0DT0H0M0S', 'PT0S'], ['P%yY%mM%dDT%hH%iM%sS', 'P10Y2M3DT16H5M6S', 'P10Y2M3DT16H5M6S'], @@ -30,13 +30,11 @@ ['P%yY%mM%dDT%hH', 'P10Y2M3DT16H', 'P10Y2M3DT16H'], ['P%yY%mM%dD', 'P10Y2M3D', 'P10Y2M3DT0H'], ]; - - return $data; } - public static function dataProviderDate() + public static function dataProviderDate(): array { - $data = [ + return [ [ '%y years %m months %d days %h hours %i minutes %s seconds', '10 years 2 months 3 days 16 hours 5 minutes 6 seconds', @@ -52,8 +50,6 @@ ['%y years %m months', '10 years 2 months', 'P10Y2M'], ['%y year', '1 year', 'P1Y'], ]; - - return $data; } /** diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeImmutableToDateTimeTransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeImmutableToDateTimeTransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeImmutableToDateTimeTransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeImmutableToDateTimeTransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ $this->assertEquals($expectedOutput->getTimezone(), $actualOutput->getTimezone()); } - public static function provider() + public static function provider(): array { return [ [ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToArrayTransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToArrayTransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToArrayTransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToArrayTransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -536,7 +536,7 @@ ]); } - protected function createDateTimeTransformer(string $inputTimezone = null, string $outputTimezone = null): BaseDateTimeTransformer + protected function createDateTimeTransformer(?string $inputTimezone = null, ?string $outputTimezone = null): BaseDateTimeTransformer { return new DateTimeToArrayTransformer($inputTimezone, $outputTimezone); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ { use DateTimeEqualsTrait; - public static function transformProvider() + public static function transformProvider(): array { return [ ['UTC', 'UTC', '2010-02-03 04:05:06 UTC', '2010-02-03T04:05:06'], @@ -32,7 +32,7 @@ ]; } - public static function reverseTransformProvider() + public static function reverseTransformProvider(): array { return [ // format without seconds, as appears in some browsers @@ -116,7 +116,7 @@ $transformer->reverseTransform('2010-2010-2010'); } - protected function createDateTimeTransformer(string $inputTimezone = null, string $outputTimezone = null): BaseDateTimeTransformer + protected function createDateTimeTransformer(?string $inputTimezone = null, ?string $outputTimezone = null): BaseDateTimeTransformer { return new DateTimeToHtml5LocalDateTimeTransformer($inputTimezone, $outputTimezone); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,14 +25,17 @@ protected $dateTimeWithoutSeconds; private $defaultLocale; + private $initialTestCaseUseException; + private $initialTestCaseErrorLevel; + protected function setUp(): void { parent::setUp(); // Normalize intl. configuration settings. if (\extension_loaded('intl')) { - $this->iniSet('intl.use_exceptions', 0); - $this->iniSet('intl.error_level', 0); + $this->initialTestCaseUseException = ini_set('intl.use_exceptions', 0); + $this->initialTestCaseErrorLevel = ini_set('intl.error_level', 0); } // Since we test against "de_AT", we need the full implementation @@ -50,6 +53,11 @@ $this->dateTime = null; $this->dateTimeWithoutSeconds = null; \Locale::setDefault($this->defaultLocale); + + if (\extension_loaded('intl')) { + ini_set('intl.use_exceptions', $this->initialTestCaseUseException); + ini_set('intl.error_level', $this->initialTestCaseErrorLevel); + } } public static function dataProvider() @@ -124,7 +132,7 @@ $transformer = new DateTimeToLocalizedStringTransformer('UTC', 'UTC'); - $this->assertEquals('Feb 3, 2010, 4:05 AM', $transformer->transform($this->dateTime)); + $this->assertMatchesRegularExpression('/^Feb 3, 2010, 4:05\s+AM$/u', $transformer->transform($this->dateTime)); } public function testTransformEmpty() @@ -333,47 +341,57 @@ $transformer->reverseTransform('20107-03-21 12:34:56'); } + /** + * @requires extension intl + */ public function testReverseTransformWrapsIntlErrorsWithErrorLevel() { - if (!\extension_loaded('intl')) { - $this->markTestSkipped('intl extension is not loaded'); - } + $errorLevel = ini_set('intl.error_level', \E_WARNING); - $this->iniSet('intl.error_level', \E_WARNING); - - $this->expectException(TransformationFailedException::class); - $transformer = new DateTimeToLocalizedStringTransformer(); - $transformer->reverseTransform('12345'); + try { + $this->expectException(TransformationFailedException::class); + $transformer = new DateTimeToLocalizedStringTransformer(); + $transformer->reverseTransform('12345'); + } finally { + ini_set('intl.error_level', $errorLevel); + } } + /** + * @requires extension intl + */ public function testReverseTransformWrapsIntlErrorsWithExceptions() { - if (!\extension_loaded('intl')) { - $this->markTestSkipped('intl extension is not loaded'); - } - - $this->iniSet('intl.use_exceptions', 1); + $initialUseExceptions = ini_set('intl.use_exceptions', 1); - $this->expectException(TransformationFailedException::class); - $transformer = new DateTimeToLocalizedStringTransformer(); - $transformer->reverseTransform('12345'); + try { + $this->expectException(TransformationFailedException::class); + $transformer = new DateTimeToLocalizedStringTransformer(); + $transformer->reverseTransform('12345'); + } finally { + ini_set('intl.use_exceptions', $initialUseExceptions); + } } + /** + * @requires extension intl + */ public function testReverseTransformWrapsIntlErrorsWithExceptionsAndErrorLevel() { - if (!\extension_loaded('intl')) { - $this->markTestSkipped('intl extension is not loaded'); - } + $initialUseExceptions = ini_set('intl.use_exceptions', 1); + $initialErrorLevel = ini_set('intl.error_level', \E_WARNING); - $this->iniSet('intl.use_exceptions', 1); - $this->iniSet('intl.error_level', \E_WARNING); - - $this->expectException(TransformationFailedException::class); - $transformer = new DateTimeToLocalizedStringTransformer(); - $transformer->reverseTransform('12345'); + try { + $this->expectException(TransformationFailedException::class); + $transformer = new DateTimeToLocalizedStringTransformer(); + $transformer->reverseTransform('12345'); + } finally { + ini_set('intl.use_exceptions', $initialUseExceptions); + ini_set('intl.error_level', $initialErrorLevel); + } } - protected function createDateTimeTransformer(string $inputTimezone = null, string $outputTimezone = null): BaseDateTimeTransformer + protected function createDateTimeTransformer(?string $inputTimezone = null, ?string $outputTimezone = null): BaseDateTimeTransformer { return new DateTimeToLocalizedStringTransformer($inputTimezone, $outputTimezone); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,13 +31,7 @@ $this->dateTimeWithoutSeconds = new \DateTime('2010-02-03 04:05:00 UTC'); } - protected function tearDown(): void - { - $this->dateTime = null; - $this->dateTimeWithoutSeconds = null; - } - - public static function allProvider() + public static function allProvider(): array { return [ ['UTC', 'UTC', '2010-02-03 04:05:06 UTC', '2010-02-03T04:05:06Z'], @@ -49,12 +43,12 @@ ]; } - public static function transformProvider() + public static function transformProvider(): array { return self::allProvider(); } - public static function reverseTransformProvider() + public static function reverseTransformProvider(): array { return array_merge(self::allProvider(), [ // format without seconds, as appears in some browsers @@ -132,7 +126,7 @@ $transformer->reverseTransform($date); } - public static function invalidDateStringProvider() + public static function invalidDateStringProvider(): array { return [ 'invalid month' => ['2010-2010-01'], @@ -144,7 +138,7 @@ ]; } - protected function createDateTimeTransformer(string $inputTimezone = null, string $outputTimezone = null): BaseDateTimeTransformer + protected function createDateTimeTransformer(?string $inputTimezone = null, ?string $outputTimezone = null): BaseDateTimeTransformer { return new DateTimeToRfc3339Transformer($inputTimezone, $outputTimezone); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToStringTransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToStringTransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToStringTransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToStringTransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -133,6 +133,19 @@ $this->assertNull($reverseTransformer->reverseTransform('')); } + public function testReverseTransformWithNullBytes() + { + $transformer = new DateTimeToStringTransformer(); + + $nullByte = \chr(0); + $value = '2024-03-15 21:11:00'.$nullByte; + + $this->expectException(TransformationFailedException::class); + $this->expectExceptionMessage('Null bytes not allowed'); + + $transformer->reverseTransform($value); + } + public function testReverseTransformWithDifferentTimezones() { $reverseTransformer = new DateTimeToStringTransformer('America/New_York', 'Asia/Hong_Kong', 'Y-m-d H:i:s'); @@ -171,7 +184,7 @@ $reverseTransformer->reverseTransform('2010-04-31'); } - protected function createDateTimeTransformer(string $inputTimezone = null, string $outputTimezone = null): BaseDateTimeTransformer + protected function createDateTimeTransformer(?string $inputTimezone = null, ?string $outputTimezone = null): BaseDateTimeTransformer { return new DateTimeToStringTransformer($inputTimezone, $outputTimezone); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToTimestampTransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToTimestampTransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToTimestampTransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToTimestampTransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -115,7 +115,7 @@ $reverseTransformer->reverseTransform('2010-2010-2010'); } - protected function createDateTimeTransformer(string $inputTimezone = null, string $outputTimezone = null): BaseDateTimeTransformer + protected function createDateTimeTransformer(?string $inputTimezone = null, ?string $outputTimezone = null): BaseDateTimeTransformer { return new DateTimeToTimestampTransformer($inputTimezone, $outputTimezone); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,8 +20,17 @@ { private $defaultLocale; + private $initialTestCaseUseException; + private $initialTestCaseErrorLevel; + protected function setUp(): void { + // Normalize intl. configuration settings. + if (\extension_loaded('intl')) { + $this->initialTestCaseUseException = ini_set('intl.use_exceptions', 0); + $this->initialTestCaseErrorLevel = ini_set('intl.error_level', 0); + } + $this->defaultLocale = \Locale::getDefault(); \Locale::setDefault('en'); } @@ -29,6 +38,11 @@ protected function tearDown(): void { \Locale::setDefault($this->defaultLocale); + + if (\extension_loaded('intl')) { + ini_set('intl.use_exceptions', $this->initialTestCaseUseException); + ini_set('intl.error_level', $this->initialTestCaseErrorLevel); + } } public static function provideTransformations() @@ -632,4 +646,83 @@ $this->assertSame(1.0, $transformer->reverseTransform('1')); } + + /** + * @dataProvider eNotationProvider + */ + public function testReverseTransformENotation($output, $input) + { + IntlTestHelper::requireFullIntl($this); + + \Locale::setDefault('en'); + + $transformer = new NumberToLocalizedStringTransformer(); + + $this->assertSame($output, $transformer->reverseTransform($input)); + } + + /** + * @requires extension intl + */ + public function testReverseTransformWrapsIntlErrorsWithErrorLevel() + { + $errorLevel = ini_set('intl.error_level', \E_WARNING); + + try { + $this->expectException(TransformationFailedException::class); + $transformer = new NumberToLocalizedStringTransformer(); + $transformer->reverseTransform('invalid_number'); + } finally { + ini_set('intl.error_level', $errorLevel); + } + } + + /** + * @requires extension intl + */ + public function testReverseTransformWrapsIntlErrorsWithExceptions() + { + $initialUseExceptions = ini_set('intl.use_exceptions', 1); + + try { + $this->expectException(TransformationFailedException::class); + $transformer = new NumberToLocalizedStringTransformer(); + $transformer->reverseTransform('invalid_number'); + } finally { + ini_set('intl.use_exceptions', $initialUseExceptions); + } + } + + /** + * @requires extension intl + */ + public function testReverseTransformWrapsIntlErrorsWithExceptionsAndErrorLevel() + { + $initialUseExceptions = ini_set('intl.use_exceptions', 1); + $initialErrorLevel = ini_set('intl.error_level', \E_WARNING); + + try { + $this->expectException(TransformationFailedException::class); + $transformer = new NumberToLocalizedStringTransformer(); + $transformer->reverseTransform('invalid_number'); + } finally { + ini_set('intl.use_exceptions', $initialUseExceptions); + ini_set('intl.error_level', $initialErrorLevel); + } + } + + public static function eNotationProvider(): array + { + return [ + [0.001, '1E-3'], + [0.001, '1.0E-3'], + [0.001, '1e-3'], + [0.001, '1.0e-03'], + [1000.0, '1E3'], + [1000.0, '1.0E3'], + [1000.0, '1e3'], + [1000.0, '1.0e3'], + [1232.0, '1.232e3'], + ]; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,8 +23,17 @@ private $defaultLocale; + private $initialTestCaseUseException; + private $initialTestCaseErrorLevel; + protected function setUp(): void { + // Normalize intl. configuration settings. + if (\extension_loaded('intl')) { + $this->initialTestCaseUseException = ini_set('intl.use_exceptions', 0); + $this->initialTestCaseErrorLevel = ini_set('intl.error_level', 0); + } + $this->defaultLocale = \Locale::getDefault(); \Locale::setDefault('en'); } @@ -32,6 +41,11 @@ protected function tearDown(): void { \Locale::setDefault($this->defaultLocale); + + if (\extension_loaded('intl')) { + ini_set('intl.use_exceptions', $this->initialTestCaseUseException); + ini_set('intl.error_level', $this->initialTestCaseErrorLevel); + } } public function testTransform() @@ -95,7 +109,7 @@ $this->assertEquals(2, $transformer->reverseTransform('200')); } - public static function reverseTransformWithRoundingProvider() + public static function reverseTransformWithRoundingProvider(): array { return [ // towards positive infinity (1.6 -> 2, -1.6 -> -1) @@ -483,6 +497,56 @@ $this->assertEquals(0.1234, $transformer->reverseTransform('12.34')); } + + /** + * @requires extension intl + */ + public function testReverseTransformWrapsIntlErrorsWithErrorLevel() + { + $errorLevel = ini_set('intl.error_level', \E_WARNING); + + try { + $this->expectException(TransformationFailedException::class); + $transformer = new PercentToLocalizedStringTransformer(null, null, \NumberFormatter::ROUND_HALFUP); + $transformer->reverseTransform('invalid_number'); + } finally { + ini_set('intl.error_level', $errorLevel); + } + } + + /** + * @requires extension intl + */ + public function testReverseTransformWrapsIntlErrorsWithExceptions() + { + $initialUseExceptions = ini_set('intl.use_exceptions', 1); + + try { + $this->expectException(TransformationFailedException::class); + $transformer = new PercentToLocalizedStringTransformer(null, null, \NumberFormatter::ROUND_HALFUP); + $transformer->reverseTransform('invalid_number'); + } finally { + ini_set('intl.use_exceptions', $initialUseExceptions); + } + } + + /** + * @requires extension intl + */ + public function testReverseTransformWrapsIntlErrorsWithExceptionsAndErrorLevel() + { + $initialUseExceptions = ini_set('intl.use_exceptions', 1); + $initialErrorLevel = ini_set('intl.error_level', \E_WARNING); + + try { + $this->expectException(TransformationFailedException::class); + $transformer = new PercentToLocalizedStringTransformer(null, null, \NumberFormatter::ROUND_HALFUP); + $transformer->reverseTransform('invalid_number'); + } finally { + ini_set('intl.use_exceptions', $initialUseExceptions); + ini_set('intl.error_level', $initialErrorLevel); + } + } } class PercentToLocalizedStringTransformerWithoutGrouping extends PercentToLocalizedStringTransformer diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/StringToFloatTransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/StringToFloatTransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/StringToFloatTransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/StringToFloatTransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -71,7 +71,7 @@ /** * @dataProvider provideReverseTransformations */ - public function testReverseTransform($from, $to, int $scale = null) + public function testReverseTransform($from, $to, ?int $scale = null) { $transformer = new StringToFloatTransformer($scale); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ValueToDuplicatesTransformerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ValueToDuplicatesTransformerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ValueToDuplicatesTransformerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ValueToDuplicatesTransformerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -70,7 +70,7 @@ 'c' => '', ]; - $this->assertNull($this->transformer->reverseTransform($input)); + $this->assertSame('', $this->transformer->reverseTransform($input)); } public function testReverseTransformCompletelyNull() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/BaseTypeTestCase.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/BaseTypeTestCase.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/BaseTypeTestCase.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/BaseTypeTestCase.php 2026-05-20 08:22:01.000000000 +0000 @@ -40,16 +40,6 @@ $this->assertEquals('name', $view->vars['full_name']); } - public function testStripLeadingUnderscoresAndDigitsFromId() - { - $view = $this->factory->createNamed('_09name', $this->getTestedType(), null, $this->getTestOptions()) - ->createView(); - - $this->assertEquals('name', $view->vars['id']); - $this->assertEquals('_09name', $view->vars['name']); - $this->assertEquals('_09name', $view->vars['full_name']); - } - public function testPassIdAndNameToViewWithParent() { $view = $this->factory->createNamedBuilder('parent', FormTypeTest::TESTED_TYPE) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/CheckboxTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/CheckboxTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/CheckboxTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/CheckboxTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -166,7 +166,7 @@ $this->assertEquals($checked, $view->vars['checked']); } - public static function provideCustomModelTransformerData() + public static function provideCustomModelTransformerData(): array { return [ ['checked', true], @@ -186,7 +186,7 @@ $this->assertFalse($form->getData()); } - public static function provideCustomFalseValues() + public static function provideCustomFalseValues(): array { return [ [''], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/CollectionTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/CollectionTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/CollectionTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/CollectionTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -120,7 +120,7 @@ $form = $this->factory->create(static::TESTED_TYPE, null, [ 'entry_type' => AuthorType::class, 'allow_delete' => true, - 'delete_empty' => function (Author $obj = null) { + 'delete_empty' => function (?Author $obj = null) { return null === $obj || empty($obj->firstName); }, ]); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/ColorTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/ColorTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/ColorTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/ColorTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ $this->assertEmpty($form->getErrors()); } - public static function validationShouldPassProvider() + public static function validationShouldPassProvider(): array { return [ [false, 'foo'], @@ -71,7 +71,7 @@ $this->assertEquals([$expectedFormError], iterator_to_array($form->getErrors())); } - public static function validationShouldFailProvider() + public static function validationShouldFailProvider(): array { return [ ['foo', 'foo'], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateIntervalTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateIntervalTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateIntervalTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateIntervalTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -440,7 +440,7 @@ $this->assertEquals($expectedData, $form->getData()); } - public static function provideEmptyData() + public static function provideEmptyData(): array { $expectedData = new \DateInterval('P6Y4M'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -530,7 +530,7 @@ ]); $view = $form->createView(); - $this->assertSame('2/13/19, 7:12:13 PM', $view->vars['value']); + $this->assertMatchesRegularExpression('#^2/13/19, 7:12:13\s+PM$#u', $view->vars['value']); } public function testDateTypeChoiceErrorsBubbleUp() @@ -695,6 +695,7 @@ $form = $this->factory->create(static::TESTED_TYPE, null, [ 'widget' => $widget, 'empty_data' => $emptyData, + 'years' => range(2018, (int) date('Y')), ]); $form->submit(null); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -14,6 +14,7 @@ use Symfony\Component\Form\ChoiceList\View\ChoiceView; use Symfony\Component\Form\FormError; use Symfony\Component\Form\FormInterface; +use Symfony\Component\Intl\Intl; use Symfony\Component\Intl\Util\IntlTestHelper; use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException; @@ -90,6 +91,10 @@ // we test against "de_DE", so we need the full implementation IntlTestHelper::requireFullIntl($this, false); + if (\in_array(Intl::getIcuVersion(), ['71.1', '72.1'], true)) { + $this->markTestSkipped('Skipping test due to a bug in ICU 71.1/72.1.'); + } + \Locale::setDefault('de_DE'); $form = $this->factory->create(static::TESTED_TYPE, null, [ @@ -112,6 +117,10 @@ // we test against "de_DE", so we need the full implementation IntlTestHelper::requireFullIntl($this, false); + if (\in_array(Intl::getIcuVersion(), ['71.1', '72.1'], true)) { + $this->markTestSkipped('Skipping test due to a bug in ICU 71.1/72.1.'); + } + \Locale::setDefault('de_DE'); $form = $this->factory->create(static::TESTED_TYPE, null, [ @@ -135,6 +144,10 @@ // we test against "de_DE", so we need the full implementation IntlTestHelper::requireFullIntl($this, false); + if (\in_array(Intl::getIcuVersion(), ['71.1', '72.1'], true)) { + $this->markTestSkipped('Skipping test due to a bug in ICU 71.1/72.1.'); + } + \Locale::setDefault('de_DE'); $form = $this->factory->create(static::TESTED_TYPE, null, [ @@ -157,6 +170,10 @@ // we test against "de_DE", so we need the full implementation IntlTestHelper::requireFullIntl($this, false); + if (\in_array(Intl::getIcuVersion(), ['71.1', '72.1'], true)) { + $this->markTestSkipped('Skipping test due to a bug in ICU 71.1/72.1.'); + } + \Locale::setDefault('de_DE'); $form = $this->factory->create(static::TESTED_TYPE, null, [ @@ -181,6 +198,10 @@ // we test against "de_DE", so we need the full implementation IntlTestHelper::requireFullIntl($this, false); + if (\in_array(Intl::getIcuVersion(), ['71.1', '72.1'], true)) { + $this->markTestSkipped('Skipping test due to a bug in ICU 71.1/72.1.'); + } + \Locale::setDefault('de_DE'); $form = $this->factory->create(static::TESTED_TYPE, null, [ @@ -1043,6 +1064,7 @@ $form = $this->factory->create(static::TESTED_TYPE, null, [ 'widget' => $widget, 'empty_data' => $emptyData, + 'years' => range(2018, (int) date('Y')), ]); $form->submit(null); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/ExtendedChoiceTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/ExtendedChoiceTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/ExtendedChoiceTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/ExtendedChoiceTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -58,7 +58,7 @@ $this->assertSame('lazy_b', $choices[1]->value); } - public static function provideTestedTypes() + public static function provideTestedTypes(): iterable { yield [CountryTypeTest::TESTED_TYPE]; yield [CurrencyTypeTest::TESTED_TYPE]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/FileTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/FileTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/FileTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/FileTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -183,7 +183,7 @@ $this->assertSame([], $form->getViewData()); } - public static function requestHandlerProvider() + public static function requestHandlerProvider(): array { return [ [new HttpFoundationRequestHandler()], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/RepeatedTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/RepeatedTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/RepeatedTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/RepeatedTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,6 +11,7 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; +use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Form; use Symfony\Component\Form\Tests\Fixtures\NotMappedType; use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException; @@ -191,6 +192,36 @@ $this->assertTrue($form['second']->isRequired()); } + /** + * @dataProvider emptyDataProvider + */ + public function testSubmitNullForTextTypeWithEmptyDataOptionSetToEmptyString($emptyData, $submittedData, $expected) + { + $form = $this->factory->create(static::TESTED_TYPE, null, [ + 'type' => TextType::class, + 'options' => [ + 'empty_data' => $emptyData, + ] + ]); + $form->submit($submittedData); + + $this->assertSame($expected, $form->getData()); + } + + public static function emptyDataProvider() + { + yield ['', null, '']; + yield ['', ['first' => null, 'second' => null], '']; + yield ['', ['first' => '', 'second' => null], '']; + yield ['', ['first' => null, 'second' => ''], '']; + yield ['', ['first' => '', 'second' => ''], '']; + yield [null, null, null]; + yield [null, ['first' => null, 'second' => null], null]; + yield [null, ['first' => '', 'second' => null], null]; + yield [null, ['first' => null, 'second' => ''], null]; + yield [null, ['first' => '', 'second' => ''], null]; + } + public function testSubmitUnequal() { $input = ['first' => 'foo', 'second' => 'bar']; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/TextTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/TextTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/TextTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/TextTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ $this->assertSame('', $form->getViewData()); } - public static function provideZeros() + public static function provideZeros(): array { return [ [0, '0'], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/WeekTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/WeekTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/WeekTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Core/Type/WeekTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -313,7 +313,7 @@ $this->assertSame($expectedData, $form->getData()); } - public static function provideEmptyData() + public static function provideEmptyData(): array { return [ 'Compound text field' => ['text', ['year' => '2019', 'week' => '1'], ['year' => 2019, 'week' => 1]], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Type/ItemFileType.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Type/ItemFileType.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Type/ItemFileType.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Type/ItemFileType.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,26 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Form\Tests\Extension\Type; + +use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\FileType; +use Symfony\Component\Form\Extension\Core\Type\TextType; +use Symfony\Component\Form\FormBuilderInterface; + +class ItemFileType extends AbstractType +{ + public function buildForm(FormBuilderInterface $builder, array $options): void + { + $builder->add('item', TextType::class); + $builder->add('file', FileType::class); + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -719,7 +719,7 @@ return new FormValidator(); } - private function getBuilder(string $name = 'name', string $dataClass = null, array $options = []): FormBuilder + private function getBuilder(string $name = 'name', ?string $dataClass = null, array $options = []): FormBuilder { $options = array_replace([ 'constraints' => [], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Fixtures/ChoiceList/DeprecatedChoiceListFactory.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Fixtures/ChoiceList/DeprecatedChoiceListFactory.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Fixtures/ChoiceList/DeprecatedChoiceListFactory.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Fixtures/ChoiceList/DeprecatedChoiceListFactory.php 2026-05-20 08:22:01.000000000 +0000 @@ -9,15 +9,15 @@ class DeprecatedChoiceListFactory implements ChoiceListFactoryInterface { - public function createListFromChoices(iterable $choices, callable $value = null): ChoiceListInterface + public function createListFromChoices(iterable $choices, ?callable $value = null): ChoiceListInterface { } - public function createListFromLoader(ChoiceLoaderInterface $loader, callable $value = null): ChoiceListInterface + public function createListFromLoader(ChoiceLoaderInterface $loader, ?callable $value = null): ChoiceListInterface { } - public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, callable $index = null, callable $groupBy = null, $attr = null): ChoiceListView + public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, ?callable $index = null, ?callable $groupBy = null, $attr = null): ChoiceListView { } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Fixtures/CustomArrayObject.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Fixtures/CustomArrayObject.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Fixtures/CustomArrayObject.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Fixtures/CustomArrayObject.php 2026-05-20 08:22:01.000000000 +0000 @@ -19,7 +19,7 @@ { private $array; - public function __construct(array $array = null) + public function __construct(?array $array = null) { $this->array = $array ?: []; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Fixtures/FixedTranslator.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Fixtures/FixedTranslator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Fixtures/FixedTranslator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Fixtures/FixedTranslator.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,7 +22,7 @@ $this->translations = $translations; } - public function trans(string $id, array $parameters = [], string $domain = null, string $locale = null): string + public function trans(string $id, array $parameters = [], ?string $domain = null, ?string $locale = null): string { return $this->translations[$id] ?? $id; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/FormErrorIteratorTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/FormErrorIteratorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/FormErrorIteratorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/FormErrorIteratorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -55,7 +55,7 @@ $this->assertCount($violationsCount, $specificFormErrors); } - public static function findByCodesProvider() + public static function findByCodesProvider(): array { return [ ['code1', 2], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/ResolvedFormTypeTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/ResolvedFormTypeTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/ResolvedFormTypeTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/ResolvedFormTypeTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -192,7 +192,7 @@ $this->assertSame($blockPrefix, $resolvedType->getBlockPrefix()); } - public static function provideTypeClassBlockPrefixTuples() + public static function provideTypeClassBlockPrefixTuples(): array { return [ [Fixtures\FooType::class, 'foo'], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Resources/TranslationFilesTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Resources/TranslationFilesTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Resources/TranslationFilesTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Resources/TranslationFilesTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,8 +31,6 @@ /** * @dataProvider provideTranslationFiles - * - * @group Legacy */ public function testTranslationFileIsValidWithoutEntityLoader($filePath) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/SimpleFormTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/SimpleFormTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/SimpleFormTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/SimpleFormTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -86,7 +86,7 @@ $this->assertEquals($propertyPath, $form->getPropertyPath()); } - public static function provideFormNames() + public static function provideFormNames(): iterable { yield [null, null]; yield ['', null]; @@ -1128,7 +1128,7 @@ return $this->getBuilder()->getForm(); } - private function getBuilder(?string $name = 'name', string $dataClass = null, array $options = []): FormBuilder + private function getBuilder(?string $name = 'name', ?string $dataClass = null, array $options = []): FormBuilder { return new FormBuilder($name, $dataClass, new EventDispatcher(), new FormFactory(new FormRegistry([], new ResolvedFormTypeFactory())), $options); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Util/StringUtilTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Util/StringUtilTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Tests/Util/StringUtilTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Tests/Util/StringUtilTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ class StringUtilTest extends TestCase { - public static function trimProvider() + public static function trimProvider(): array { return [ [' Foo! ', 'Foo!'], @@ -49,7 +49,7 @@ $this->assertSame("ab\ncd", StringUtil::trim($symbol)); } - public static function spaceProvider() + public static function spaceProvider(): array { return [ // separators @@ -97,7 +97,7 @@ $this->assertSame($expectedBlockPrefix, $blockPrefix); } - public static function fqcnToBlockPrefixProvider() + public static function fqcnToBlockPrefixProvider(): array { return [ ['TYPE', 'type'], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Util/FormUtil.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Util/FormUtil.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Util/FormUtil.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Util/FormUtil.php 2026-05-20 08:22:01.000000000 +0000 @@ -41,4 +41,32 @@ // not considered to be empty, ever. return null === $data || '' === $data; } + + /** + * Recursively replaces or appends elements of the first array with elements + * of second array. If the key is an integer, the values will be appended to + * the new array; otherwise, the value from the second array will replace + * the one from the first array. + */ + public static function mergeParamsAndFiles(array $params, array $files): array + { + $isFilesList = array_is_list($files); + + foreach ($params as $key => $value) { + if (\is_array($value) && \is_array($files[$key] ?? null)) { + $params[$key] = self::mergeParamsAndFiles($value, $files[$key]); + unset($files[$key]); + } + } + + if (!$isFilesList) { + return array_replace($params, $files); + } + + foreach ($files as $value) { + $params[] = $value; + } + + return $params; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/Util/ServerParams.php symfony-5.4.52+dfsg/src/Symfony/Component/Form/Util/ServerParams.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/Util/ServerParams.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/Util/ServerParams.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ { private $requestStack; - public function __construct(RequestStack $requestStack = null) + public function __construct(?RequestStack $requestStack = null) { $this->requestStack = $requestStack; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Form/composer.json symfony-5.4.52+dfsg/src/Symfony/Component/Form/composer.json --- symfony-5.4.23+dfsg/src/Symfony/Component/Form/composer.json 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Form/composer.json 2026-05-20 08:22:01.000000000 +0000 @@ -39,19 +39,18 @@ "symfony/http-kernel": "^4.4|^5.0|^6.0", "symfony/intl": "^4.4|^5.0|^6.0", "symfony/security-csrf": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/translation": "^5.4.35|~6.3.12|^6.4.3", "symfony/var-dumper": "^4.4|^5.0|^6.0", "symfony/uid": "^5.1|^6.0" }, "conflict": { - "phpunit/phpunit": "<5.4.3", "symfony/console": "<4.4", "symfony/dependency-injection": "<4.4", "symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7", "symfony/error-handler": "<4.4.5", "symfony/framework-bundle": "<4.4", "symfony/http-kernel": "<4.4", - "symfony/translation": "<4.4", + "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3", "symfony/translation-contracts": "<1.1.7", "symfony/twig-bridge": "<5.4.21|>=6,<6.2.7" }, diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/AmpHttpClient.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/AmpHttpClient.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/AmpHttpClient.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/AmpHttpClient.php 2026-05-20 08:22:01.000000000 +0000 @@ -62,7 +62,7 @@ * * @see HttpClientInterface::OPTIONS_DEFAULTS for available options */ - public function __construct(array $defaultOptions = [], callable $clientConfigurator = null, int $maxHostConnections = 6, int $maxPendingPushes = 50) + public function __construct(array $defaultOptions = [], ?callable $clientConfigurator = null, int $maxHostConnections = 6, int $maxPendingPushes = 50) { $this->defaultOptions['buffer'] = $this->defaultOptions['buffer'] ?? \Closure::fromCallable([__CLASS__, 'shouldBuffer']); @@ -118,6 +118,7 @@ } $request = new Request(implode('', $url), $method); + $request->setBodySizeLimit(0); if ($options['http_version']) { switch ((float) $options['http_version']) { @@ -151,7 +152,7 @@ /** * {@inheritdoc} */ - public function stream($responses, float $timeout = null): ResponseStreamInterface + public function stream($responses, ?float $timeout = null): ResponseStreamInterface { if ($responses instanceof AmpResponse) { $responses = [$responses]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/AsyncDecoratorTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/AsyncDecoratorTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/AsyncDecoratorTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/AsyncDecoratorTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -35,7 +35,7 @@ /** * {@inheritdoc} */ - public function stream($responses, float $timeout = null): ResponseStreamInterface + public function stream($responses, ?float $timeout = null): ResponseStreamInterface { if ($responses instanceof AsyncResponse) { $responses = [$responses]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/CachingHttpClient.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/CachingHttpClient.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/CachingHttpClient.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/CachingHttpClient.php 2026-05-20 08:22:01.000000000 +0000 @@ -110,7 +110,7 @@ /** * {@inheritdoc} */ - public function stream($responses, float $timeout = null): ResponseStreamInterface + public function stream($responses, ?float $timeout = null): ResponseStreamInterface { if ($responses instanceof ResponseInterface) { $responses = [$responses]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Chunk/ErrorChunk.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Chunk/ErrorChunk.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Chunk/ErrorChunk.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Chunk/ErrorChunk.php 2026-05-20 08:22:01.000000000 +0000 @@ -111,7 +111,7 @@ /** * @return bool Whether the wrapped error has been thrown or not */ - public function didThrow(bool $didThrow = null): bool + public function didThrow(?bool $didThrow = null): bool { if (null !== $didThrow && $this->didThrow !== $didThrow) { return !$this->didThrow = $didThrow; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/CurlHttpClient.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/CurlHttpClient.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/CurlHttpClient.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/CurlHttpClient.php 2026-05-20 08:22:01.000000000 +0000 @@ -50,6 +50,9 @@ */ private $logger; + private $maxHostConnections; + private $maxPendingPushes; + /** * An internal object to share state between the client and its responses. * @@ -64,24 +67,28 @@ * * @see HttpClientInterface::OPTIONS_DEFAULTS for available options */ - public function __construct(array $defaultOptions = [], int $maxHostConnections = 6, int $maxPendingPushes = 50) + public function __construct(array $defaultOptions = [], int $maxHostConnections = 6, int $maxPendingPushes = 0) { if (!\extension_loaded('curl')) { throw new \LogicException('You cannot use the "Symfony\Component\HttpClient\CurlHttpClient" as the "curl" extension is not installed.'); } + $this->maxHostConnections = $maxHostConnections; + $this->maxPendingPushes = $maxPendingPushes; + $this->defaultOptions['buffer'] = $this->defaultOptions['buffer'] ?? \Closure::fromCallable([__CLASS__, 'shouldBuffer']); if ($defaultOptions) { [, $this->defaultOptions] = self::prepareRequest(null, null, $defaultOptions, $this->defaultOptions); } - - $this->multi = new CurlClientState($maxHostConnections, $maxPendingPushes); } public function setLogger(LoggerInterface $logger): void { - $this->logger = $this->multi->logger = $logger; + $this->logger = $logger; + if (isset($this->multi)) { + $this->multi->logger = $logger; + } } /** @@ -91,6 +98,8 @@ */ public function request(string $method, string $url, array $options = []): ResponseInterface { + $multi = $this->ensureState(); + [$url, $options] = self::prepareRequest($method, $url, $options, $this->defaultOptions); $scheme = $url['scheme']; $authority = $url['authority']; @@ -161,25 +170,25 @@ } // curl's resolve feature varies by host:port but ours varies by host only, let's handle this with our own DNS map - if (isset($this->multi->dnsCache->hostnames[$host])) { - $options['resolve'] += [$host => $this->multi->dnsCache->hostnames[$host]]; + if (isset($multi->dnsCache->hostnames[$host])) { + $options['resolve'] += [$host => $multi->dnsCache->hostnames[$host]]; } - if ($options['resolve'] || $this->multi->dnsCache->evictions) { + if ($options['resolve'] || $multi->dnsCache->evictions) { // First reset any old DNS cache entries then add the new ones - $resolve = $this->multi->dnsCache->evictions; - $this->multi->dnsCache->evictions = []; + $resolve = $multi->dnsCache->evictions; + $multi->dnsCache->evictions = []; $port = parse_url($authority, \PHP_URL_PORT) ?: ('http:' === $scheme ? 80 : 443); if ($resolve && 0x072A00 > CurlClientState::$curlVersion['version_number']) { // DNS cache removals require curl 7.42 or higher - $this->multi->reset(); + $multi->reset(); } - foreach ($options['resolve'] as $host => $ip) { - $resolve[] = null === $ip ? "-$host:$port" : "$host:$port:$ip"; - $this->multi->dnsCache->hostnames[$host] = $ip; - $this->multi->dnsCache->removals["-$host:$port"] = "-$host:$port"; + foreach ($options['resolve'] as $resolveHost => $ip) { + $resolve[] = null === $ip ? "-$resolveHost:$port" : "$resolveHost:$port:$ip"; + $multi->dnsCache->hostnames[$resolveHost] = $ip; + $multi->dnsCache->removals["-$resolveHost:$port"] = "-$resolveHost:$port"; } $curlopts[\CURLOPT_RESOLVE] = $resolve; @@ -265,7 +274,7 @@ if (file_exists($options['bindto'])) { $curlopts[\CURLOPT_UNIX_SOCKET_PATH] = $options['bindto']; } elseif (!str_starts_with($options['bindto'], 'if!') && preg_match('/^(.*):(\d+)$/', $options['bindto'], $matches)) { - $curlopts[\CURLOPT_INTERFACE] = $matches[1]; + $curlopts[\CURLOPT_INTERFACE] = trim($matches[1], '[]'); $curlopts[\CURLOPT_LOCALPORT] = $matches[2]; } else { $curlopts[\CURLOPT_INTERFACE] = $options['bindto']; @@ -281,8 +290,8 @@ $curlopts += $options['extra']['curl']; } - if ($pushedResponse = $this->multi->pushedResponses[$url] ?? null) { - unset($this->multi->pushedResponses[$url]); + if ($pushedResponse = $multi->pushedResponses[$url] ?? null) { + unset($multi->pushedResponses[$url]); if (self::acceptPushForRequest($method, $options, $pushedResponse)) { $this->logger && $this->logger->debug(sprintf('Accepting pushed response: "%s %s"', $method, $url)); @@ -290,7 +299,7 @@ // Reinitialize the pushed response with request's options $ch = $pushedResponse->handle; $pushedResponse = $pushedResponse->response; - $pushedResponse->__construct($this->multi, $url, $options, $this->logger); + $pushedResponse->__construct($multi, $url, $options, $this->logger); } else { $this->logger && $this->logger->debug(sprintf('Rejecting pushed response: "%s"', $url)); $pushedResponse = null; @@ -300,7 +309,7 @@ if (!$pushedResponse) { $ch = curl_init(); $this->logger && $this->logger->info(sprintf('Request: "%s %s"', $method, $url)); - $curlopts += [\CURLOPT_SHARE => $this->multi->share]; + $curlopts += [\CURLOPT_SHARE => $multi->share]; } foreach ($curlopts as $opt => $value) { @@ -310,13 +319,13 @@ } } - return $pushedResponse ?? new CurlResponse($this->multi, $ch, $options, $this->logger, $method, self::createRedirectResolver($options, $host), CurlClientState::$curlVersion['version_number']); + return $pushedResponse ?? new CurlResponse($multi, $ch, $options, $this->logger, $method, self::createRedirectResolver($options, $host), CurlClientState::$curlVersion['version_number']); } /** * {@inheritdoc} */ - public function stream($responses, float $timeout = null): ResponseStreamInterface + public function stream($responses, ?float $timeout = null): ResponseStreamInterface { if ($responses instanceof CurlResponse) { $responses = [$responses]; @@ -324,9 +333,11 @@ throw new \TypeError(sprintf('"%s()" expects parameter 1 to be an iterable of CurlResponse objects, "%s" given.', __METHOD__, get_debug_type($responses))); } - if (\is_resource($this->multi->handle) || $this->multi->handle instanceof \CurlMultiHandle) { + $multi = $this->ensureState(); + + if (\is_resource($multi->handle) || $multi->handle instanceof \CurlMultiHandle) { $active = 0; - while (\CURLM_CALL_MULTI_PERFORM === curl_multi_exec($this->multi->handle, $active)) { + while (\CURLM_CALL_MULTI_PERFORM === curl_multi_exec($multi->handle, $active)) { } } @@ -335,7 +346,9 @@ public function reset() { - $this->multi->reset(); + if (isset($this->multi)) { + $this->multi->reset(); + } } /** @@ -411,6 +424,8 @@ return static function ($ch, string $location, bool $noContent) use (&$redirectHeaders, $options) { try { $location = self::parseUrl($location); + $url = self::parseUrl(curl_getinfo($ch, \CURLINFO_EFFECTIVE_URL)); + $url = self::resolveUrl($location, $url); } catch (InvalidArgumentException $e) { return null; } @@ -423,22 +438,29 @@ $redirectHeaders['with_auth'] = array_filter($redirectHeaders['with_auth'], $filterContentHeaders); } - if ($redirectHeaders && $host = parse_url('http:'.$location['authority'], \PHP_URL_HOST)) { - $requestHeaders = $redirectHeaders['host'] === $host ? $redirectHeaders['with_auth'] : $redirectHeaders['no_auth']; + if ($redirectHeaders && isset($location['authority'])) { + $requestHeaders = parse_url($location['authority'], \PHP_URL_HOST) === $redirectHeaders['host'] ? $redirectHeaders['with_auth'] : $redirectHeaders['no_auth']; curl_setopt($ch, \CURLOPT_HTTPHEADER, $requestHeaders); } elseif ($noContent && $redirectHeaders) { curl_setopt($ch, \CURLOPT_HTTPHEADER, $redirectHeaders['with_auth']); } - $url = self::parseUrl(curl_getinfo($ch, \CURLINFO_EFFECTIVE_URL)); - $url = self::resolveUrl($location, $url); - curl_setopt($ch, \CURLOPT_PROXY, self::getProxyUrl($options['proxy'], $url)); return implode('', $url); }; } + private function ensureState(): CurlClientState + { + if (!isset($this->multi)) { + $this->multi = new CurlClientState($this->maxHostConnections, $this->maxPendingPushes); + $this->multi->logger = $this->logger; + } + + return $this->multi; + } + private function findConstantName(int $opt): ?string { $constants = array_filter(get_defined_constants(), static function ($v, $k) use ($opt) { @@ -469,6 +491,7 @@ \CURLOPT_TIMEOUT_MS => 'max_duration', \CURLOPT_TIMEOUT => 'max_duration', \CURLOPT_MAXREDIRS => 'max_redirects', + \CURLOPT_POSTREDIR => 'max_redirects', \CURLOPT_PROXY => 'proxy', \CURLOPT_NOPROXY => 'no_proxy', \CURLOPT_SSL_VERIFYPEER => 'verify_peer', diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/DataCollector/HttpClientDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,7 +36,7 @@ /** * {@inheritdoc} */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { $this->lateCollect(); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/DecoratorTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/DecoratorTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/DecoratorTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/DecoratorTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ { private $client; - public function __construct(HttpClientInterface $client = null) + public function __construct(?HttpClientInterface $client = null) { $this->client = $client ?? HttpClient::create(); } @@ -41,7 +41,7 @@ /** * {@inheritdoc} */ - public function stream($responses, float $timeout = null): ResponseStreamInterface + public function stream($responses, ?float $timeout = null): ResponseStreamInterface { return $this->client->stream($responses, $timeout); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/EventSourceHttpClient.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/EventSourceHttpClient.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/EventSourceHttpClient.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/EventSourceHttpClient.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,6 +11,7 @@ namespace Symfony\Component\HttpClient; +use Symfony\Component\HttpClient\Chunk\DataChunk; use Symfony\Component\HttpClient\Chunk\ServerSentEvent; use Symfony\Component\HttpClient\Exception\EventSourceException; use Symfony\Component\HttpClient\Response\AsyncContext; @@ -33,7 +34,7 @@ private $reconnectionTime; - public function __construct(HttpClientInterface $client = null, float $reconnectionTime = 10.0) + public function __construct(?HttpClientInterface $client = null, float $reconnectionTime = 10.0) { $this->client = $client ?? HttpClient::create(); $this->reconnectionTime = $reconnectionTime; @@ -121,17 +122,30 @@ return; } - $rx = '/((?:\r\n|[\r\n]){2,})/'; - $content = $state->buffer.$chunk->getContent(); - if ($chunk->isLast()) { - $rx = substr_replace($rx, '|$', -2, 0); + if ('' !== $content = $state->buffer) { + $state->buffer = ''; + yield new DataChunk(-1, $content); + } + + yield $chunk; + + return; } - $events = preg_split($rx, $content, -1, \PREG_SPLIT_DELIM_CAPTURE); + + $content = $state->buffer.$chunk->getContent(); + $events = preg_split('/((?:\r\n){2,}|\r{2,}|\n{2,})/', $content, -1, \PREG_SPLIT_DELIM_CAPTURE); $state->buffer = array_pop($events); for ($i = 0; isset($events[$i]); $i += 2) { - $event = new ServerSentEvent($events[$i].$events[1 + $i]); + $content = $events[$i].$events[1 + $i]; + if (!preg_match('/(?:^|\r\n|[\r\n])[^:\r\n]/', $content)) { + yield new DataChunk(-1, $content); + + continue; + } + + $event = new ServerSentEvent($content); if ('' !== $event->getId()) { $context->setInfo('last_event_id', $state->lastEventId = $event->getId()); @@ -143,17 +157,6 @@ yield $event; } - - if (preg_match('/^(?::[^\r\n]*+(?:\r\n|[\r\n]))+$/m', $state->buffer)) { - $content = $state->buffer; - $state->buffer = ''; - - yield $context->createChunk($content); - } - - if ($chunk->isLast()) { - yield $chunk; - } }); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/HttpClientTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/HttpClientTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/HttpClientTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/HttpClientTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -197,7 +197,13 @@ if ($resolve = $options['resolve'] ?? false) { $options['resolve'] = []; foreach ($resolve as $k => $v) { - $options['resolve'][substr(self::parseUrl('http://'.$k)['authority'], 2)] = (string) $v; + if ('' === $v = (string) $v) { + $v = null; + } elseif ('[' === $v[0] && ']' === substr($v, -1) && str_contains($v, ':')) { + $v = substr($v, 1, -1); + } + + $options['resolve'][substr(self::parseUrl('http://'.$k)['authority'], 2)] = $v; } } @@ -220,7 +226,13 @@ if ($resolve = $defaultOptions['resolve'] ?? false) { foreach ($resolve as $k => $v) { - $options['resolve'] += [substr(self::parseUrl('http://'.$k)['authority'], 2) => (string) $v]; + if ('' === $v = (string) $v) { + $v = null; + } elseif ('[' === $v[0] && ']' === substr($v, -1) && str_contains($v, ':')) { + $v = substr($v, 1, -1); + } + + $options['resolve'] += [substr(self::parseUrl('http://'.$k)['authority'], 2) => $v]; } } @@ -419,7 +431,7 @@ * * @throws InvalidArgumentException When the value cannot be json-encoded */ - private static function jsonEncode($value, int $flags = null, int $maxDepth = 512): string + private static function jsonEncode($value, ?int $flags = null, int $maxDepth = 512): string { $flags = $flags ?? (\JSON_HEX_TAG | \JSON_HEX_APOS | \JSON_HEX_AMP | \JSON_HEX_QUOT | \JSON_PRESERVE_ZERO_FRACTION); @@ -445,6 +457,8 @@ */ private static function resolveUrl(array $url, ?array $base, array $queryDefaults = []): array { + $givenUrl = $url; + if (null !== $base && '' === ($base['scheme'] ?? '').($base['authority'] ?? '')) { throw new InvalidArgumentException(sprintf('Invalid "base_uri" option: host or scheme is missing in "%s".', implode('', $base))); } @@ -498,6 +512,10 @@ $url['query'] = null; } + if (null !== $url['scheme'] && null === $url['authority']) { + throw new InvalidArgumentException(\sprintf('Invalid URL: host is missing in "%s".', implode('', $givenUrl))); + } + return $url; } @@ -508,7 +526,9 @@ */ private static function parseUrl(string $url, array $query = [], array $allowedSchemes = ['http' => 80, 'https' => 443]): array { - if (false === $parts = parse_url($url)) { + $tail = ''; + + if (false === $parts = parse_url(\strlen($url) !== strcspn($url, '?#') ? $url : $url.$tail = '#')) { throw new InvalidArgumentException(sprintf('Malformed URL "%s".', $url)); } @@ -516,18 +536,27 @@ $parts['query'] = self::mergeQueryString($parts['query'] ?? null, $query, true); } + $scheme = $parts['scheme'] ?? null; + $host = $parts['host'] ?? null; + + if (!$scheme && $host && !str_starts_with($url, '//')) { + $parts = parse_url(':/'.$url.$tail); + $parts['path'] = substr($parts['path'], 2); + $scheme = $host = null; + } + $port = $parts['port'] ?? 0; - if (null !== $scheme = $parts['scheme'] ?? null) { + if (null !== $scheme) { if (!isset($allowedSchemes[$scheme = strtolower($scheme)])) { - throw new InvalidArgumentException(sprintf('Unsupported scheme in "%s".', $url)); + throw new InvalidArgumentException(sprintf('Unsupported scheme in "%s": "%s" expected.', $url, implode('" or "', array_keys($allowedSchemes)))); } $port = $allowedSchemes[$scheme] === $port ? 0 : $port; $scheme .= ':'; } - if (null !== $host = $parts['host'] ?? null) { + if (null !== $host) { if (!\defined('INTL_IDNA_VARIANT_UTS46') && preg_match('/[\x80-\xFF]/', $host)) { throw new InvalidArgumentException(sprintf('Unsupported IDN "%s", try enabling the "intl" PHP extension or running "composer require symfony/polyfill-intl-idn".', $host)); } @@ -547,7 +576,7 @@ } // https://tools.ietf.org/html/rfc3986#section-3.3 - $parts[$part] = preg_replace_callback("#[^-A-Za-z0-9._~!$&/'()[\]*+,;=:@\\\\^`{|}%]++#", function ($m) { return rawurlencode($m[0]); }, $parts[$part]); + $parts[$part] = preg_replace_callback("#[^-A-Za-z0-9._~!$&/'()[\]*+,;=:@{}%]++#", function ($m) { return rawurlencode($m[0]); }, $parts[$part]); } return [ @@ -555,7 +584,7 @@ 'authority' => null !== $host ? '//'.(isset($parts['user']) ? $parts['user'].(isset($parts['pass']) ? ':'.$parts['pass'] : '').'@' : '').$host : null, 'path' => isset($parts['path'][0]) ? $parts['path'] : null, 'query' => isset($parts['query']) ? '?'.$parts['query'] : null, - 'fragment' => isset($parts['fragment']) ? '#'.$parts['fragment'] : null, + 'fragment' => isset($parts['fragment']) && !$tail ? '#'.$parts['fragment'] : null, ]; } @@ -634,11 +663,7 @@ '%3B' => ';', '%40' => '@', '%5B' => '[', - '%5C' => '\\', '%5D' => ']', - '%5E' => '^', - '%60' => '`', - '%7C' => '|', ]); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/HttpOptions.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/HttpOptions.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/HttpOptions.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/HttpOptions.php 2026-05-20 08:22:01.000000000 +0000 @@ -148,6 +148,8 @@ } /** + * @param callable(int, int, array, \Closure|null=):void $callback + * * @return $this */ public function setOnProgress(callable $callback) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/HttplugClient.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/HttplugClient.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/HttplugClient.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/HttplugClient.php 2026-05-20 08:22:01.000000000 +0000 @@ -47,7 +47,7 @@ } if (!interface_exists(RequestFactory::class)) { - throw new \LogicException('You cannot use "Symfony\Component\HttpClient\HttplugClient" as the "php-http/message-factory" package is not installed. Try running "composer require nyholm/psr7".'); + throw new \LogicException('You cannot use "Symfony\Component\HttpClient\HttplugClient" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory".'); } /** @@ -71,7 +71,7 @@ private $waitLoop; - public function __construct(HttpClientInterface $client = null, ResponseFactoryInterface $responseFactory = null, StreamFactoryInterface $streamFactory = null) + public function __construct(?HttpClientInterface $client = null, ?ResponseFactoryInterface $responseFactory = null, ?StreamFactoryInterface $streamFactory = null) { $this->client = $client ?? HttpClient::create(); $this->responseFactory = $responseFactory; @@ -101,7 +101,7 @@ public function sendRequest(RequestInterface $request): Psr7ResponseInterface { try { - return $this->waitLoop->createPsr7Response($this->sendPsr7Request($request)); + return HttplugWaitLoop::createPsr7Response($this->responseFactory, $this->streamFactory, $this->client, $this->sendPsr7Request($request), true); } catch (TransportExceptionInterface $e) { throw new NetworkException($e->getMessage(), $request, $e); } @@ -145,7 +145,7 @@ * * @return int The number of remaining pending promises */ - public function wait(float $maxDuration = null, float $idleTimeout = null): int + public function wait(?float $maxDuration = null, ?float $idleTimeout = null): int { return $this->waitLoop->wait(null, $maxDuration, $idleTimeout); } @@ -247,7 +247,7 @@ } } - private function sendPsr7Request(RequestInterface $request, bool $buffer = null): ResponseInterface + private function sendPsr7Request(RequestInterface $request, ?bool $buffer = null): ResponseInterface { try { $body = $request->getBody(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Internal/AmpClientState.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/AmpClientState.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Internal/AmpClientState.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/AmpClientState.php 2026-05-20 08:22:01.000000000 +0000 @@ -149,7 +149,7 @@ public $uri; public $handle; - public function connect(string $uri, ConnectContext $context = null, CancellationToken $token = null): Promise + public function connect(string $uri, ?ConnectContext $context = null, ?CancellationToken $token = null): Promise { $result = $this->connector->connect($this->uri ?? $uri, $context, $token); $result->onResolve(function ($e, $socket) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Internal/AmpListener.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/AmpListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Internal/AmpListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/AmpListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -80,12 +80,12 @@ public function startSendingRequest(Request $request, Stream $stream): Promise { $host = $stream->getRemoteAddress()->getHost(); + $this->info['primary_ip'] = $host; if (false !== strpos($host, ':')) { $host = '['.$host.']'; } - $this->info['primary_ip'] = $host; $this->info['primary_port'] = $stream->getRemoteAddress()->getPort(); $this->info['pretransfer_time'] = microtime(true) - $this->info['start_time']; $this->info['debug'] .= sprintf("* Connected to %s (%s) port %d\n", $request->getUri()->getHost(), $host, $this->info['primary_port']); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Internal/AmpResolver.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/AmpResolver.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Internal/AmpResolver.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/AmpResolver.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,21 +32,33 @@ $this->dnsMap = &$dnsMap; } - public function resolve(string $name, int $typeRestriction = null): Promise + public function resolve(string $name, ?int $typeRestriction = null): Promise { - if (!isset($this->dnsMap[$name]) || !\in_array($typeRestriction, [Record::A, null], true)) { + $recordType = Record::A; + $ip = $this->dnsMap[$name] ?? null; + + if (null !== $ip && str_contains($ip, ':')) { + $recordType = Record::AAAA; + } + if (null === $ip || $recordType !== ($typeRestriction ?? $recordType)) { return Dns\resolver()->resolve($name, $typeRestriction); } - return new Success([new Record($this->dnsMap[$name], Record::A, null)]); + return new Success([new Record($ip, $recordType, null)]); } public function query(string $name, int $type): Promise { - if (!isset($this->dnsMap[$name]) || Record::A !== $type) { + $recordType = Record::A; + $ip = $this->dnsMap[$name] ?? null; + + if (null !== $ip && str_contains($ip, ':')) { + $recordType = Record::AAAA; + } + if (null === $ip || $recordType !== $type) { return Dns\resolver()->query($name, $type); } - return new Success([new Record($this->dnsMap[$name], Record::A, null)]); + return new Success([new Record($ip, $recordType, null)]); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Internal/CurlClientState.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/CurlClientState.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Internal/CurlClientState.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/CurlClientState.php 2026-05-20 08:22:01.000000000 +0000 @@ -52,8 +52,8 @@ if (\defined('CURLPIPE_MULTIPLEX')) { curl_multi_setopt($this->handle, \CURLMOPT_PIPELINING, \CURLPIPE_MULTIPLEX); } - if (\defined('CURLMOPT_MAX_HOST_CONNECTIONS')) { - $maxHostConnections = curl_multi_setopt($this->handle, \CURLMOPT_MAX_HOST_CONNECTIONS, 0 < $maxHostConnections ? $maxHostConnections : \PHP_INT_MAX) ? 0 : $maxHostConnections; + if (\defined('CURLMOPT_MAX_HOST_CONNECTIONS') && 0 < $maxHostConnections) { + $maxHostConnections = curl_multi_setopt($this->handle, \CURLMOPT_MAX_HOST_CONNECTIONS, $maxHostConnections) ? 4294967295 : $maxHostConnections; } if (\defined('CURLMOPT_MAXCONNECTS') && 0 < $maxHostConnections) { curl_multi_setopt($this->handle, \CURLMOPT_MAXCONNECTS, $maxHostConnections); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Internal/HttplugWaitLoop.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/HttplugWaitLoop.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Internal/HttplugWaitLoop.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Internal/HttplugWaitLoop.php 2026-05-20 08:22:01.000000000 +0000 @@ -46,7 +46,7 @@ $this->streamFactory = $streamFactory; } - public function wait(?ResponseInterface $pendingResponse, float $maxDuration = null, float $idleTimeout = null): int + public function wait(?ResponseInterface $pendingResponse, ?float $maxDuration = null, ?float $idleTimeout = null): int { if (!$this->promisePool) { return 0; @@ -79,7 +79,7 @@ if ([, $promise] = $this->promisePool[$response] ?? null) { unset($this->promisePool[$response]); - $promise->resolve($this->createPsr7Response($response, true)); + $promise->resolve(self::createPsr7Response($this->responseFactory, $this->streamFactory, $this->client, $response, true)); } } catch (\Exception $e) { if ([$request, $promise] = $this->promisePool[$response] ?? null) { @@ -114,22 +114,34 @@ return $count; } - public function createPsr7Response(ResponseInterface $response, bool $buffer = false): Psr7ResponseInterface + public static function createPsr7Response(ResponseFactoryInterface $responseFactory, StreamFactoryInterface $streamFactory, HttpClientInterface $client, ResponseInterface $response, bool $buffer): Psr7ResponseInterface { - $psrResponse = $this->responseFactory->createResponse($response->getStatusCode()); + $responseParameters = [$response->getStatusCode()]; + + foreach ($response->getInfo('response_headers') as $h) { + if (11 <= \strlen($h) && '/' === $h[4] && preg_match('#^HTTP/\d+(?:\.\d+)? (?:\d\d\d) (.+)#', $h, $m)) { + $responseParameters[1] = $m[1]; + } + } + + $psrResponse = $responseFactory->createResponse(...$responseParameters); foreach ($response->getHeaders(false) as $name => $values) { foreach ($values as $value) { - $psrResponse = $psrResponse->withAddedHeader($name, $value); + try { + $psrResponse = $psrResponse->withAddedHeader($name, $value); + } catch (\InvalidArgumentException $e) { + // ignore invalid header + } } } if ($response instanceof StreamableInterface) { - $body = $this->streamFactory->createStreamFromResource($response->toStream(false)); + $body = $streamFactory->createStreamFromResource($response->toStream(false)); } elseif (!$buffer) { - $body = $this->streamFactory->createStreamFromResource(StreamWrapper::createResource($response, $this->client)); + $body = $streamFactory->createStreamFromResource(StreamWrapper::createResource($response, $client)); } else { - $body = $this->streamFactory->createStream($response->getContent(false)); + $body = $streamFactory->createStream($response->getContent(false)); } if ($body->isSeekable()) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/MockHttpClient.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/MockHttpClient.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/MockHttpClient.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/MockHttpClient.php 2026-05-20 08:22:01.000000000 +0000 @@ -90,7 +90,7 @@ /** * {@inheritdoc} */ - public function stream($responses, float $timeout = null): ResponseStreamInterface + public function stream($responses, ?float $timeout = null): ResponseStreamInterface { if ($responses instanceof ResponseInterface) { $responses = [$responses]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/NativeHttpClient.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/NativeHttpClient.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/NativeHttpClient.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/NativeHttpClient.php 2026-05-20 08:22:01.000000000 +0000 @@ -79,6 +79,9 @@ if (str_starts_with($options['bindto'], 'host!')) { $options['bindto'] = substr($options['bindto'], 5); } + if ((\PHP_VERSION_ID < 80223 || 80300 <= \PHP_VERSION_ID && 80311 < \PHP_VERSION_ID) && '\\' === \DIRECTORY_SEPARATOR && '[' === $options['bindto'][0]) { + $options['bindto'] = preg_replace('{^\[[^\]]++\]}', '[$0]', $options['bindto']); + } } $hasContentLength = isset($options['normalized_headers']['content-length']); @@ -263,7 +266,7 @@ /** * {@inheritdoc} */ - public function stream($responses, float $timeout = null): ResponseStreamInterface + public function stream($responses, ?float $timeout = null): ResponseStreamInterface { if ($responses instanceof NativeResponse) { $responses = [$responses]; @@ -322,7 +325,12 @@ */ private static function dnsResolve($host, NativeClientState $multi, array &$info, ?\Closure $onProgress): string { - if (null === $ip = $multi->dnsCache[$host] ?? null) { + $flag = '' !== $host && '[' === $host[0] && ']' === $host[-1] && str_contains($host, ':') ? \FILTER_FLAG_IPV6 : \FILTER_FLAG_IPV4; + $ip = \FILTER_FLAG_IPV6 === $flag ? substr($host, 1, -1) : $host; + + if (filter_var($ip, \FILTER_VALIDATE_IP, $flag)) { + // The host is already an IP address + } elseif (null === $ip = $multi->dnsCache[$host] ?? null) { $info['debug'] .= "* Hostname was NOT found in DNS cache\n"; $now = microtime(true); @@ -330,13 +338,15 @@ throw new TransportException(sprintf('Could not resolve host "%s".', $host)); } - $info['namelookup_time'] = microtime(true) - ($info['start_time'] ?: $now); $multi->dnsCache[$host] = $ip = $ip[0]; $info['debug'] .= "* Added {$host}:0:{$ip} to DNS cache\n"; + $host = $ip; } else { $info['debug'] .= "* Hostname was found in DNS cache\n"; + $host = str_contains($ip, ':') ? "[$ip]" : $ip; } + $info['namelookup_time'] = microtime(true) - ($info['start_time'] ?: $now); $info['primary_ip'] = $ip; if ($onProgress) { @@ -344,7 +354,7 @@ $onProgress(); } - return $ip; + return $host; } /** @@ -375,13 +385,14 @@ try { $url = self::parseUrl($location); + $locationHasHost = isset($url['authority']); + $url = self::resolveUrl($url, $info['url']); } catch (InvalidArgumentException $e) { $info['redirect_url'] = null; return null; } - $url = self::resolveUrl($url, $info['url']); $info['redirect_url'] = implode('', $url); if ($info['redirect_count'] >= $maxRedirects) { @@ -406,13 +417,17 @@ $redirectHeaders['no_auth'] = array_filter($redirectHeaders['no_auth'], $filterContentHeaders); $redirectHeaders['with_auth'] = array_filter($redirectHeaders['with_auth'], $filterContentHeaders); - stream_context_set_option($context, ['http' => $options]); + if (\PHP_VERSION_ID >= 80300) { + stream_context_set_options($context, ['http' => $options]); + } else { + stream_context_set_option($context, ['http' => $options]); + } } } [$host, $port] = self::parseHostPort($url, $info); - if (false !== (parse_url($location, \PHP_URL_HOST) ?? false)) { + if ($locationHasHost) { // Authorization and Cookie headers MUST NOT follow except for the initial host name $requestHeaders = $redirectHeaders['host'] === $host ? $redirectHeaders['with_auth'] : $redirectHeaders['no_auth']; $requestHeaders[] = 'Host: '.$host.$port; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/NoPrivateNetworkHttpClient.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/NoPrivateNetworkHttpClient.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/NoPrivateNetworkHttpClient.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/NoPrivateNetworkHttpClient.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,22 +13,25 @@ use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerInterface; -use Symfony\Component\HttpClient\Exception\InvalidArgumentException; use Symfony\Component\HttpClient\Exception\TransportException; +use Symfony\Component\HttpClient\Response\AsyncContext; +use Symfony\Component\HttpClient\Response\AsyncResponse; use Symfony\Component\HttpFoundation\IpUtils; +use Symfony\Contracts\HttpClient\ChunkInterface; use Symfony\Contracts\HttpClient\HttpClientInterface; use Symfony\Contracts\HttpClient\ResponseInterface; -use Symfony\Contracts\HttpClient\ResponseStreamInterface; use Symfony\Contracts\Service\ResetInterface; /** * Decorator that blocks requests to private networks by default. * * @author Hallison Boaventura + * @author Nicolas Grekas */ final class NoPrivateNetworkHttpClient implements HttpClientInterface, LoggerAwareInterface, ResetInterface { use HttpClientTrait; + use AsyncDecoratorTrait; private const PRIVATE_SUBNETS = [ '127.0.0.0/8', @@ -45,11 +48,14 @@ '::/128', ]; + private $defaultOptions = self::OPTIONS_DEFAULTS; private $client; private $subnets; + private $ipFlags; + private $dnsCache; /** - * @param string|array|null $subnets String or array of subnets using CIDR notation that will be used by IpUtils. + * @param string|array|null $subnets String or array of subnets using CIDR notation that should be considered private. * If null is passed, the standard private subnets will be used. */ public function __construct(HttpClientInterface $client, $subnets = null) @@ -62,8 +68,23 @@ throw new \LogicException(sprintf('You cannot use "%s" if the HttpFoundation component is not installed. Try running "composer require symfony/http-foundation".', __CLASS__)); } + if (null === $subnets) { + $ipFlags = \FILTER_FLAG_IPV4 | \FILTER_FLAG_IPV6; + } else { + $ipFlags = 0; + foreach ((array) $subnets as $subnet) { + $ipFlags |= str_contains($subnet, ':') ? \FILTER_FLAG_IPV6 : \FILTER_FLAG_IPV4; + } + } + + if (!\defined('STREAM_PF_INET6')) { + $ipFlags &= ~\FILTER_FLAG_IPV6; + } + $this->client = $client; - $this->subnets = $subnets; + $this->subnets = null !== $subnets ? (array) $subnets : null; + $this->ipFlags = $ipFlags; + $this->dnsCache = new \ArrayObject(); } /** @@ -71,35 +92,91 @@ */ public function request(string $method, string $url, array $options = []): ResponseInterface { - $onProgress = $options['on_progress'] ?? null; - if (null !== $onProgress && !\is_callable($onProgress)) { - throw new InvalidArgumentException(sprintf('Option "on_progress" must be callable, "%s" given.', get_debug_type($onProgress))); - } + [$url, $options] = self::prepareRequest($method, $url, $options, $this->defaultOptions, true); + + $redirectHeaders = parse_url($url['authority']); + $host = $redirectHeaders['host']; + $url = implode('', $url); + $dnsCache = $this->dnsCache; + $ip = self::dnsResolve($dnsCache, $host, $this->ipFlags, $options); + self::ipCheck($ip, $this->subnets, $this->ipFlags, $host, $url); + + $onProgress = $options['on_progress'] ?? null; $subnets = $this->subnets; + $ipFlags = $this->ipFlags; $lastPrimaryIp = ''; - $options['on_progress'] = function (int $dlNow, int $dlSize, array $info) use ($onProgress, $subnets, &$lastPrimaryIp): void { - if ($info['primary_ip'] !== $lastPrimaryIp) { - if ($info['primary_ip'] && IpUtils::checkIp($info['primary_ip'], $subnets ?? self::PRIVATE_SUBNETS)) { - throw new TransportException(sprintf('IP "%s" is blocked for "%s".', $info['primary_ip'], $info['url'])); - } - + $options['on_progress'] = static function (int $dlNow, int $dlSize, array $info) use ($onProgress, $subnets, $ipFlags, &$lastPrimaryIp): void { + if (!\in_array($info['primary_ip'] ?? '', ['', $lastPrimaryIp], true)) { + self::ipCheck($info['primary_ip'], $subnets, $ipFlags, null, $info['url']); $lastPrimaryIp = $info['primary_ip']; } null !== $onProgress && $onProgress($dlNow, $dlSize, $info); }; - return $this->client->request($method, $url, $options); - } + if (0 >= $maxRedirects = $options['max_redirects']) { + return new AsyncResponse($this->client, $method, $url, $options); + } - /** - * {@inheritdoc} - */ - public function stream($responses, float $timeout = null): ResponseStreamInterface - { - return $this->client->stream($responses, $timeout); + $options['max_redirects'] = 0; + $redirectHeaders['with_auth'] = $redirectHeaders['no_auth'] = $options['headers']; + + if (isset($options['normalized_headers']['host']) || isset($options['normalized_headers']['authorization']) || isset($options['normalized_headers']['cookie'])) { + $redirectHeaders['no_auth'] = array_filter($redirectHeaders['no_auth'], static function ($h) { + return 0 !== stripos($h, 'Host:') && 0 !== stripos($h, 'Authorization:') && 0 !== stripos($h, 'Cookie:'); + }); + } + + return new AsyncResponse($this->client, $method, $url, $options, static function (ChunkInterface $chunk, AsyncContext $context) use (&$method, &$options, $maxRedirects, &$redirectHeaders, $subnets, $ipFlags, $dnsCache): \Generator { + if (null !== $chunk->getError() || $chunk->isTimeout() || !$chunk->isFirst()) { + yield $chunk; + + return; + } + + $statusCode = $context->getStatusCode(); + + if ($statusCode < 300 || 400 <= $statusCode || null === $url = $context->getInfo('redirect_url')) { + $context->passthru(); + + yield $chunk; + + return; + } + + $host = parse_url($url, \PHP_URL_HOST); + $ip = self::dnsResolve($dnsCache, $host, $ipFlags, $options); + self::ipCheck($ip, $subnets, $ipFlags, $host, $url); + + // Do like curl and browsers: turn POST to GET on 301, 302 and 303 + if (303 === $statusCode || 'POST' === $method && \in_array($statusCode, [301, 302], true)) { + $method = 'HEAD' === $method ? 'HEAD' : 'GET'; + unset($options['body'], $options['json']); + + if (isset($options['normalized_headers']['content-length']) || isset($options['normalized_headers']['content-type']) || isset($options['normalized_headers']['transfer-encoding'])) { + $filterContentHeaders = static function ($h) { + return 0 !== stripos($h, 'Content-Length:') && 0 !== stripos($h, 'Content-Type:') && 0 !== stripos($h, 'Transfer-Encoding:'); + }; + $options['header'] = array_filter($options['header'], $filterContentHeaders); + $redirectHeaders['no_auth'] = array_filter($redirectHeaders['no_auth'], $filterContentHeaders); + $redirectHeaders['with_auth'] = array_filter($redirectHeaders['with_auth'], $filterContentHeaders); + } + } + + // Authorization and Cookie headers MUST NOT follow except for the initial host name + $options['headers'] = $redirectHeaders['host'] === $host ? $redirectHeaders['with_auth'] : $redirectHeaders['no_auth']; + + static $redirectCount = 0; + $context->setInfo('redirect_count', ++$redirectCount); + + $context->replaceRequest($method, $url, $options); + + if ($redirectCount >= $maxRedirects) { + $context->passthru(); + } + }); } /** @@ -119,14 +196,73 @@ { $clone = clone $this; $clone->client = $this->client->withOptions($options); + $clone->defaultOptions = self::mergeDefaultOptions($options, $this->defaultOptions); return $clone; } public function reset() { + $this->dnsCache->exchangeArray([]); + if ($this->client instanceof ResetInterface) { $this->client->reset(); } } + + private static function dnsResolve(\ArrayObject $dnsCache, string $host, int $ipFlags, array &$options): string + { + if ($ip = filter_var(trim($host, '[]'), \FILTER_VALIDATE_IP) ?: $options['resolve'][$host] ?? false) { + return $ip; + } + + if ($dnsCache->offsetExists($host)) { + return $dnsCache[$host]; + } + + if ((\FILTER_FLAG_IPV4 & $ipFlags) && $ip = gethostbynamel($host)) { + return $options['resolve'][$host] = $dnsCache[$host] = $ip[0]; + } + + if (!(\FILTER_FLAG_IPV6 & $ipFlags)) { + return $host; + } + + if ($ip = dns_get_record($host, \DNS_AAAA)) { + $ip = $ip[0]['ipv6']; + } elseif (extension_loaded('sockets')) { + if (!$info = socket_addrinfo_lookup($host, 0, ['ai_socktype' => \SOCK_STREAM, 'ai_family' => \AF_INET6])) { + return $host; + } + + $ip = socket_addrinfo_explain($info[0])['ai_addr']['sin6_addr']; + } elseif ('localhost' === $host || 'localhost.' === $host) { + $ip = '::1'; + } else { + return $host; + } + + return $options['resolve'][$host] = $dnsCache[$host] = $ip; + } + + private static function ipCheck(string $ip, ?array $subnets, int $ipFlags, ?string $host, string $url): void + { + if (null === $subnets) { + // Quick check, but not reliable enough, see https://github.com/php/php-src/issues/16944 + $ipFlags |= \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE; + } + + if (false !== filter_var($ip, \FILTER_VALIDATE_IP, $ipFlags) && !IpUtils::checkIp($ip, $subnets ?? self::PRIVATE_SUBNETS)) { + return; + } + + if (null !== $host) { + $type = 'Host'; + } else { + $host = $ip; + $type = 'IP'; + } + + throw new TransportException($type.\sprintf(' "%s" is blocked for "%s".', $host, $url)); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Psr18Client.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Psr18Client.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Psr18Client.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Psr18Client.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,10 +27,12 @@ use Psr\Http\Message\StreamInterface; use Psr\Http\Message\UriFactoryInterface; use Psr\Http\Message\UriInterface; +use Symfony\Component\HttpClient\Internal\HttplugWaitLoop; use Symfony\Component\HttpClient\Response\StreamableInterface; use Symfony\Component\HttpClient\Response\StreamWrapper; use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface; use Symfony\Contracts\HttpClient\HttpClientInterface; +use Symfony\Contracts\HttpClient\ResponseInterface as HttpClientResponseInterface; use Symfony\Contracts\Service\ResetInterface; if (!interface_exists(RequestFactoryInterface::class)) { @@ -56,7 +58,7 @@ private $responseFactory; private $streamFactory; - public function __construct(HttpClientInterface $client = null, ResponseFactoryInterface $responseFactory = null, StreamFactoryInterface $streamFactory = null) + public function __construct(?HttpClientInterface $client = null, ?ResponseFactoryInterface $responseFactory = null, ?StreamFactoryInterface $streamFactory = null) { $this->client = $client ?? HttpClient::create(); $this->responseFactory = $responseFactory; @@ -102,26 +104,7 @@ $response = $this->client->request($request->getMethod(), (string) $request->getUri(), $options); - $psrResponse = $this->responseFactory->createResponse($response->getStatusCode()); - - foreach ($response->getHeaders(false) as $name => $values) { - foreach ($values as $value) { - try { - $psrResponse = $psrResponse->withAddedHeader($name, $value); - } catch (\InvalidArgumentException $e) { - // ignore invalid header - } - } - } - - $body = $response instanceof StreamableInterface ? $response->toStream(false) : StreamWrapper::createResource($response, $this->client); - $body = $this->streamFactory->createStreamFromResource($body); - - if ($body->isSeekable()) { - $body->seek(0); - } - - return $psrResponse->withBody($body); + return HttplugWaitLoop::createPsr7Response($this->responseFactory, $this->streamFactory, $this->client, $response, false); } catch (TransportExceptionInterface $e) { if ($e instanceof \InvalidArgumentException) { throw new Psr18RequestException($e, $request); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/AmpResponse.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/AmpResponse.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/AmpResponse.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/AmpResponse.php 2026-05-20 08:22:01.000000000 +0000 @@ -47,7 +47,6 @@ private $multi; private $options; - private $canceller; private $onProgress; private static $delay; @@ -73,7 +72,7 @@ $info = &$this->info; $headers = &$this->headers; - $canceller = $this->canceller = new CancellationTokenSource(); + $canceller = new CancellationTokenSource(); $handle = &$this->handle; $info['url'] = (string) $request->getUri(); @@ -139,7 +138,7 @@ /** * {@inheritdoc} */ - public function getInfo(string $type = null) + public function getInfo(?string $type = null) { return null !== $type ? $this->info[$type] ?? null : $this->info; } @@ -189,7 +188,7 @@ * * @param AmpClientState $multi */ - private static function perform(ClientState $multi, array &$responses = null): void + private static function perform(ClientState $multi, ?array &$responses = null): void { if ($responses) { foreach ($responses as $response) { @@ -358,7 +357,7 @@ } foreach ($originRequest->getRawHeaders() as [$name, $value]) { - $request->setHeader($name, $value); + $request->addHeader($name, $value); } if ($request->getUri()->getAuthority() !== $originRequest->getUri()->getAuthority()) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/AsyncContext.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/AsyncContext.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/AsyncContext.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/AsyncContext.php 2026-05-20 08:22:01.000000000 +0000 @@ -92,7 +92,7 @@ if (\is_callable($pause = $this->response->getInfo('pause_handler'))) { $pause($duration); } elseif (0 < $duration) { - usleep(1E6 * $duration); + usleep((int) (1E6 * $duration)); } } @@ -111,7 +111,7 @@ /** * Returns the current info of the response. */ - public function getInfo(string $type = null) + public function getInfo(?string $type = null) { if (null !== $type) { return $this->info[$type] ?? $this->response->getInfo($type); @@ -184,7 +184,7 @@ * * @param ?callable(ChunkInterface, self): ?\Iterator $passthru */ - public function passthru(callable $passthru = null): void + public function passthru(?callable $passthru = null): void { $this->passthru = $passthru ?? static function ($chunk, $context) { $context->passthru = null; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/AsyncResponse.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/AsyncResponse.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/AsyncResponse.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/AsyncResponse.php 2026-05-20 08:22:01.000000000 +0000 @@ -44,7 +44,7 @@ /** * @param ?callable(ChunkInterface, AsyncContext): ?\Iterator $passthru */ - public function __construct(HttpClientInterface $client, string $method, string $url, array $options, callable $passthru = null) + public function __construct(HttpClientInterface $client, string $method, string $url, array $options, ?callable $passthru = null) { $this->client = $client; $this->shouldBuffer = $options['buffer'] ?? true; @@ -57,7 +57,7 @@ } $this->response = $client->request($method, $url, ['buffer' => false] + $options); $this->passthru = $passthru; - $this->initializer = static function (self $response, float $timeout = null) { + $this->initializer = static function (self $response, ?float $timeout = null) { if (null === $response->shouldBuffer) { return false; } @@ -65,6 +65,7 @@ while (true) { foreach (self::stream([$response], $timeout) as $chunk) { if ($chunk->isTimeout() && $response->passthru) { + // Timeouts thrown during initialization are transport errors foreach (self::passthru($response->client, $response, new ErrorChunk($response->offset, new TransportException($chunk->getError()))) as $chunk) { if ($chunk->isFirst()) { return false; @@ -114,18 +115,24 @@ return $headers; } - public function getInfo(string $type = null) + public function getInfo(?string $type = null) { + if ('debug' === ($type ?? 'debug')) { + $debug = implode('', array_column($this->info['previous_info'] ?? [], 'debug')); + $debug .= $this->response->getInfo('debug'); + + if ('debug' === $type) { + return $debug; + } + } + if (null !== $type) { return $this->info[$type] ?? $this->response->getInfo($type); } - return $this->info + $this->response->getInfo(); + return array_merge($this->info + $this->response->getInfo(), ['debug' => $debug]); } - /** - * {@inheritdoc} - */ public function toStream(bool $throw = true) { if ($throw) { @@ -146,9 +153,6 @@ return $stream; } - /** - * {@inheritdoc} - */ public function cancel(): void { if ($this->info['canceled']) { @@ -209,7 +213,7 @@ /** * @internal */ - public static function stream(iterable $responses, float $timeout = null, string $class = null): \Generator + public static function stream(iterable $responses, ?float $timeout = null, ?string $class = null): \Generator { while ($responses) { $wrappedResponses = []; @@ -254,6 +258,7 @@ return; } + $chunk = null; foreach ($client->stream($wrappedResponses, $timeout) as $response => $chunk) { $r = $asyncMap[$response]; @@ -296,6 +301,9 @@ } } + if (null === $chunk) { + throw new \LogicException(\sprintf('"%s" is not compliant with HttpClientInterface: its "stream()" method didn\'t yield any chunks when it should have.', get_debug_type($client))); + } if (null === $chunk->getError() && $chunk->isLast()) { $r->yieldedState = self::LAST_CHUNK_YIELDED; } @@ -317,7 +325,7 @@ /** * @param \SplObjectStorage|null $asyncMap */ - private static function passthru(HttpClientInterface $client, self $r, ChunkInterface $chunk, \SplObjectStorage $asyncMap = null): \Generator + private static function passthru(HttpClientInterface $client, self $r, ChunkInterface $chunk, ?\SplObjectStorage $asyncMap = null): \Generator { $r->stream = null; $response = $r->response; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/CurlResponse.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/CurlResponse.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/CurlResponse.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/CurlResponse.php 2026-05-20 08:22:01.000000000 +0000 @@ -40,7 +40,7 @@ * * @internal */ - public function __construct(CurlClientState $multi, $ch, array $options = null, LoggerInterface $logger = null, string $method = 'GET', callable $resolveRedirect = null, int $curlVersion = null) + public function __construct(CurlClientState $multi, $ch, ?array $options = null, ?LoggerInterface $logger = null, string $method = 'GET', ?callable $resolveRedirect = null, ?int $curlVersion = null) { $this->multi = $multi; @@ -76,17 +76,7 @@ } curl_setopt($ch, \CURLOPT_HEADERFUNCTION, static function ($ch, string $data) use (&$info, &$headers, $options, $multi, $id, &$location, $resolveRedirect, $logger): int { - if (0 !== substr_compare($data, "\r\n", -2)) { - return 0; - } - - $len = 0; - - foreach (explode("\r\n", substr($data, 0, -2)) as $data) { - $len += 2 + self::parseHeaderLine($ch, $data, $info, $headers, $options, $multi, $id, $location, $resolveRedirect, $logger); - } - - return $len; + return self::parseHeaderLine($ch, $data, $info, $headers, $options, $multi, $id, $location, $resolveRedirect, $logger); }); if (null === $options) { @@ -105,7 +95,6 @@ $this->info['pause_handler'] = static function (float $duration) use ($ch, $multi, $execCounter) { if (0 < $duration) { if ($execCounter === $multi->execCounter) { - $multi->execCounter = !\is_float($execCounter) ? 1 + $execCounter : \PHP_INT_MIN; curl_multi_remove_handle($multi->handle, $ch); } @@ -203,7 +192,7 @@ /** * {@inheritdoc} */ - public function getInfo(string $type = null) + public function getInfo(?string $type = null) { if (!$info = $this->finalInfo) { $info = array_merge($this->info, curl_getinfo($this->handle)); @@ -284,7 +273,7 @@ * * @param CurlClientState $multi */ - private static function perform(ClientState $multi, array &$responses = null): void + private static function perform(ClientState $multi, ?array &$responses = null): void { if ($multi->performing) { if ($responses) { @@ -331,7 +320,7 @@ } $multi->handlesActivity[$id][] = null; - $multi->handlesActivity[$id][] = \in_array($result, [\CURLE_OK, \CURLE_TOO_MANY_REDIRECTS], true) || '_0' === $waitFor || curl_getinfo($ch, \CURLINFO_SIZE_DOWNLOAD) === curl_getinfo($ch, \CURLINFO_CONTENT_LENGTH_DOWNLOAD) ? null : new TransportException(ucfirst(curl_error($ch) ?: curl_strerror($result)).sprintf(' for "%s".', curl_getinfo($ch, \CURLINFO_EFFECTIVE_URL))); + $multi->handlesActivity[$id][] = \in_array($result, [\CURLE_OK, \CURLE_TOO_MANY_REDIRECTS], true) || '_0' === $waitFor || curl_getinfo($ch, \CURLINFO_SIZE_DOWNLOAD) === curl_getinfo($ch, \CURLINFO_CONTENT_LENGTH_DOWNLOAD) || (curl_error($ch) === 'OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0' && -1.0 === curl_getinfo($ch, \CURLINFO_CONTENT_LENGTH_DOWNLOAD) && \in_array('close', array_map('strtolower', $responses[$id]->headers['connection']), true)) ? null : new TransportException(ucfirst(curl_error($ch) ?: curl_strerror($result)).sprintf(' for "%s".', curl_getinfo($ch, \CURLINFO_EFFECTIVE_URL))); } } finally { $multi->performing = false; @@ -381,19 +370,29 @@ */ private static function parseHeaderLine($ch, string $data, array &$info, array &$headers, ?array $options, CurlClientState $multi, int $id, ?string &$location, ?callable $resolveRedirect, ?LoggerInterface $logger): int { + if (!str_ends_with($data, "\r\n")) { + return 0; + } + $waitFor = @curl_getinfo($ch, \CURLINFO_PRIVATE) ?: '_0'; if ('H' !== $waitFor[0]) { return \strlen($data); // Ignore HTTP trailers } - if ('' !== $data) { + $statusCode = curl_getinfo($ch, \CURLINFO_RESPONSE_CODE); + + if ($statusCode !== $info['http_code'] && !preg_match("#^HTTP/\d+(?:\.\d+)? {$statusCode}(?: |\r\n$)#", $data)) { + return \strlen($data); // Ignore headers from responses to CONNECT requests + } + + if ("\r\n" !== $data) { // Regular header line: add it to the list - self::addResponseHeaders([$data], $info, $headers); + self::addResponseHeaders([substr($data, 0, -2)], $info, $headers); if (!str_starts_with($data, 'HTTP/')) { if (0 === stripos($data, 'Location:')) { - $location = trim(substr($data, 9)); + $location = trim(substr($data, 9, -2)); } return \strlen($data); @@ -416,7 +415,7 @@ // End of headers: handle informational responses, redirects, etc. - if (200 > $statusCode = curl_getinfo($ch, \CURLINFO_RESPONSE_CODE)) { + if (200 > $statusCode) { $multi->handlesActivity[$id][] = new InformationalChunk($statusCode, $headers); $location = null; @@ -435,15 +434,6 @@ $options['max_redirects'] = curl_getinfo($ch, \CURLINFO_REDIRECT_COUNT); curl_setopt($ch, \CURLOPT_FOLLOWLOCATION, false); curl_setopt($ch, \CURLOPT_MAXREDIRS, $options['max_redirects']); - } else { - $url = parse_url($location ?? ':'); - - if (isset($url['host']) && null !== $ip = $multi->dnsCache->hostnames[$url['host'] = strtolower($url['host'])] ?? null) { - // Populate DNS cache for redirects if needed - $port = $url['port'] ?? ('http' === ($url['scheme'] ?? parse_url(curl_getinfo($ch, \CURLINFO_EFFECTIVE_URL), \PHP_URL_SCHEME)) ? 80 : 443); - curl_setopt($ch, \CURLOPT_RESOLVE, ["{$url['host']}:$port:$ip"]); - $multi->dnsCache->removals["-{$url['host']}:$port"] = "-{$url['host']}:$port"; - } } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/HttplugPromise.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/HttplugPromise.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/HttplugPromise.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/HttplugPromise.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ $this->promise = $promise; } - public function then(callable $onFulfilled = null, callable $onRejected = null): self + public function then(?callable $onFulfilled = null, ?callable $onRejected = null): self { return new self($this->promise->then( $this->wrapThenCallback($onFulfilled), diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/MockResponse.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/MockResponse.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/MockResponse.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/MockResponse.php 2026-05-20 08:22:01.000000000 +0000 @@ -93,7 +93,7 @@ /** * {@inheritdoc} */ - public function getInfo(string $type = null) + public function getInfo(?string $type = null) { return null !== $type ? $this->info[$type] ?? null : $this->info; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/NativeResponse.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/NativeResponse.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/NativeResponse.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/NativeResponse.php 2026-05-20 08:22:01.000000000 +0000 @@ -82,7 +82,7 @@ /** * {@inheritdoc} */ - public function getInfo(string $type = null) + public function getInfo(?string $type = null) { if (!$info = $this->finalInfo) { $info = $this->info; @@ -232,7 +232,7 @@ * * @param NativeClientState $multi */ - private static function perform(ClientState $multi, array &$responses = null): void + private static function perform(ClientState $multi, ?array &$responses = null): void { foreach ($multi->openHandles as $i => [$pauseExpiry, $h, $buffer, $onProgress]) { if ($pauseExpiry) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/StreamWrapper.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/StreamWrapper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/StreamWrapper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/StreamWrapper.php 2026-05-20 08:22:01.000000000 +0000 @@ -47,7 +47,7 @@ * * @return resource */ - public static function createResource(ResponseInterface $response, HttpClientInterface $client = null) + public static function createResource(ResponseInterface $response, ?HttpClientInterface $client = null) { if ($response instanceof StreamableInterface) { $stack = debug_backtrace(\DEBUG_BACKTRACE_PROVIDE_OBJECT | \DEBUG_BACKTRACE_IGNORE_ARGS, 2); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/TraceableResponse.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/TraceableResponse.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/TraceableResponse.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/TraceableResponse.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,7 +36,7 @@ private $content; private $event; - public function __construct(HttpClientInterface $client, ResponseInterface $response, &$content, StopwatchEvent $event = null) + public function __construct(HttpClientInterface $client, ResponseInterface $response, &$content, ?StopwatchEvent $event = null) { $this->client = $client; $this->response = $response; @@ -57,7 +57,9 @@ public function __destruct() { try { - $this->response->__destruct(); + if (method_exists($this->response, '__destruct')) { + $this->response->__destruct(); + } } finally { if ($this->event && $this->event->isStarted()) { $this->event->stop(); @@ -132,7 +134,7 @@ } } - public function getInfo(string $type = null) + public function getInfo(?string $type = null) { return $this->response->getInfo($type); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/TransportResponseTrait.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/TransportResponseTrait.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Response/TransportResponseTrait.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Response/TransportResponseTrait.php 2026-05-20 08:22:01.000000000 +0000 @@ -146,7 +146,7 @@ * * @internal */ - public static function stream(iterable $responses, float $timeout = null): \Generator + public static function stream(iterable $responses, ?float $timeout = null): \Generator { $runningResponses = []; @@ -303,7 +303,7 @@ } if (-1 === self::select($multi, min($timeoutMin, $timeoutMax - $elapsedTimeout))) { - usleep(min(500, 1E6 * $timeoutMin)); + usleep((int) min(500, 1E6 * $timeoutMin)); } $elapsedTimeout = microtime(true) - $lastActivity; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Retry/GenericRetryStrategy.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Retry/GenericRetryStrategy.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Retry/GenericRetryStrategy.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Retry/GenericRetryStrategy.php 2026-05-20 08:22:01.000000000 +0000 @@ -102,7 +102,7 @@ $delay = $this->delayMs * $this->multiplier ** $context->getInfo('retry_count'); if ($this->jitter > 0) { - $randomness = $delay * $this->jitter; + $randomness = (int) ($delay * $this->jitter); $delay = $delay + random_int(-$randomness, +$randomness); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/RetryableHttpClient.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/RetryableHttpClient.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/RetryableHttpClient.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/RetryableHttpClient.php 2026-05-20 08:22:01.000000000 +0000 @@ -39,7 +39,7 @@ /** * @param int $maxRetries The maximum number of times to retry */ - public function __construct(HttpClientInterface $client, RetryStrategyInterface $strategy = null, int $maxRetries = 3, LoggerInterface $logger = null) + public function __construct(HttpClientInterface $client, ?RetryStrategyInterface $strategy = null, int $maxRetries = 3, ?LoggerInterface $logger = null) { $this->client = $client; $this->strategy = $strategy ?? new GenericRetryStrategy(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/ScopingHttpClient.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/ScopingHttpClient.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/ScopingHttpClient.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/ScopingHttpClient.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ private $defaultOptionsByRegexp; private $defaultRegexp; - public function __construct(HttpClientInterface $client, array $defaultOptionsByRegexp, string $defaultRegexp = null) + public function __construct(HttpClientInterface $client, array $defaultOptionsByRegexp, ?string $defaultRegexp = null) { $this->client = $client; $this->defaultOptionsByRegexp = $defaultOptionsByRegexp; @@ -43,7 +43,7 @@ } } - public static function forBaseUri(HttpClientInterface $client, string $baseUri, array $defaultOptions = [], string $regexp = null): self + public static function forBaseUri(HttpClientInterface $client, string $baseUri, array $defaultOptions = [], ?string $regexp = null): self { if (null === $regexp) { $regexp = preg_quote(implode('', self::resolveUrl(self::parseUrl('.'), self::parseUrl($baseUri)))); @@ -96,7 +96,7 @@ /** * {@inheritdoc} */ - public function stream($responses, float $timeout = null): ResponseStreamInterface + public function stream($responses, ?float $timeout = null): ResponseStreamInterface { return $this->client->stream($responses, $timeout); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/AmpHttpClientTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/AmpHttpClientTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/AmpHttpClientTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/AmpHttpClientTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -14,6 +14,9 @@ use Symfony\Component\HttpClient\AmpHttpClient; use Symfony\Contracts\HttpClient\HttpClientInterface; +/** + * @group dns-sensitive + */ class AmpHttpClientTest extends HttpClientTestCase { protected function getHttpClient(string $testCase): HttpClientInterface diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/AsyncDecoratorTraitTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/AsyncDecoratorTraitTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/AsyncDecoratorTraitTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/AsyncDecoratorTraitTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ class AsyncDecoratorTraitTest extends NativeHttpClientTest { - protected function getHttpClient(string $testCase, \Closure $chunkFilter = null, HttpClientInterface $decoratedClient = null): HttpClientInterface + protected function getHttpClient(string $testCase, ?\Closure $chunkFilter = null, ?HttpClientInterface $decoratedClient = null): HttpClientInterface { if ('testHandleIsRemovedOnException' === $testCase) { $this->markTestSkipped("AsyncDecoratorTrait doesn't cache handles"); @@ -42,7 +42,7 @@ private $chunkFilter; - public function __construct(HttpClientInterface $client, \Closure $chunkFilter = null) + public function __construct(HttpClientInterface $client, ?\Closure $chunkFilter = null) { $this->chunkFilter = $chunkFilter; $this->client = $client; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/CurlHttpClientTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/CurlHttpClientTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/CurlHttpClientTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/CurlHttpClientTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -17,37 +17,25 @@ /** * @requires extension curl + * @group dns-sensitive */ class CurlHttpClientTest extends HttpClientTestCase { protected function getHttpClient(string $testCase): HttpClientInterface { - if (false !== strpos($testCase, 'Push')) { - if (\PHP_VERSION_ID >= 70300 && \PHP_VERSION_ID < 70304) { - $this->markTestSkipped('PHP 7.3.0 to 7.3.3 don\'t support HTTP/2 PUSH'); - } - - if (!\defined('CURLMOPT_PUSHFUNCTION') || 0x073D00 > ($v = curl_version())['version_number'] || !(\CURL_VERSION_HTTP2 & $v['features'])) { - $this->markTestSkipped('curl <7.61 is used or it is not compiled with support for HTTP/2 PUSH'); - } + if (!str_contains($testCase, 'Push')) { + return new CurlHttpClient(['verify_peer' => false, 'verify_host' => false]); } - return new CurlHttpClient(['verify_peer' => false, 'verify_host' => false]); - } - - public function testBindToPort() - { - $client = $this->getHttpClient(__FUNCTION__); - $response = $client->request('GET', 'http://localhost:8057', ['bindto' => '127.0.0.1:9876']); - $response->getStatusCode(); - - $r = new \ReflectionProperty($response, 'handle'); - $r->setAccessible(true); + if (\PHP_VERSION_ID >= 70300 && \PHP_VERSION_ID < 70304) { + $this->markTestSkipped('PHP 7.3.0 to 7.3.3 don\'t support HTTP/2 PUSH'); + } - $curlInfo = curl_getinfo($r->getValue($response)); + if (!\defined('CURLMOPT_PUSHFUNCTION') || 0x073D00 > ($v = curl_version())['version_number'] || !(\CURL_VERSION_HTTP2 & $v['features'])) { + $this->markTestSkipped('curl <7.61 is used or it is not compiled with support for HTTP/2 PUSH'); + } - self::assertSame('127.0.0.1', $curlInfo['local_ip']); - self::assertSame(9876, $curlInfo['local_port']); + return new CurlHttpClient(['verify_peer' => false, 'verify_host' => false], 6, 50); } public function testTimeoutIsNotAFatalError() @@ -63,9 +51,9 @@ { $httpClient = $this->getHttpClient(__FUNCTION__); - $r = new \ReflectionProperty($httpClient, 'multi'); + $r = new \ReflectionMethod($httpClient, 'ensureState'); $r->setAccessible(true); - $clientState = $r->getValue($httpClient); + $clientState = $r->invoke($httpClient); $initialShareId = $clientState->share; $httpClient->reset(); self::assertNotSame($initialShareId, $clientState->share); @@ -121,9 +109,55 @@ $httpClient->request('POST', 'http://localhost:8057/', [ 'extra' => [ 'curl' => [ - \CURLOPT_PRIVATE => 'overriden private', + \CURLOPT_PRIVATE => 'overridden private', ], ], ]); } + + public function testKeepAuthorizationHeaderOnRedirectToSameHostWithConfiguredHostToIpAddressMapping() + { + $httpClient = $this->getHttpClient(__FUNCTION__); + $response = $httpClient->request('POST', 'http://127.0.0.1:8057/301', [ + 'headers' => [ + 'Authorization' => 'Basic Zm9vOmJhcg==', + ], + 'resolve' => [ + 'symfony.com' => '10.10.10.10', + ], + ]); + + $this->assertSame(200, $response->getStatusCode()); + $this->assertSame('/302', $response->toArray()['REQUEST_URI'] ?? null); + } + + /** + * @group integration + */ + public function testMaxConnections() + { + foreach ($ports = [80, 8681, 8682, 8683, 8684] as $port) { + if (!($fp = @fsockopen('localhost', $port, $errorCode, $errorMessage, 2))) { + self::markTestSkipped('FrankenPHP is not running'); + } + fclose($fp); + } + + $httpClient = $this->getHttpClient(__FUNCTION__); + + $expectedResults = [ + [false, false, false, false, false], + [true, true, true, true, true], + [true, true, true, true, true], + ]; + + foreach ($expectedResults as $expectedResult) { + foreach ($ports as $i => $port) { + $response = $httpClient->request('GET', \sprintf('http://localhost:%s/http-client', $port)); + $response->getContent(); + + self::assertSame($expectedResult[$i], str_contains($response->getInfo('debug'), 'Re-using existing connection')); + } + } + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/EventSourceHttpClientTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/EventSourceHttpClientTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/EventSourceHttpClientTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/EventSourceHttpClientTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,9 +15,11 @@ use Symfony\Component\HttpClient\Chunk\DataChunk; use Symfony\Component\HttpClient\Chunk\ErrorChunk; use Symfony\Component\HttpClient\Chunk\FirstChunk; +use Symfony\Component\HttpClient\Chunk\LastChunk; use Symfony\Component\HttpClient\Chunk\ServerSentEvent; use Symfony\Component\HttpClient\EventSourceHttpClient; use Symfony\Component\HttpClient\Exception\EventSourceException; +use Symfony\Component\HttpClient\MockHttpClient; use Symfony\Component\HttpClient\Response\MockResponse; use Symfony\Component\HttpClient\Response\ResponseStream; use Symfony\Contracts\HttpClient\HttpClientInterface; @@ -27,9 +29,18 @@ */ class EventSourceHttpClientTest extends TestCase { - public function testGetServerSentEvents() + /** + * @testWith ["\n"] + * ["\r"] + * ["\r\n"] + */ + public function testGetServerSentEvents(string $sep) { - $data = <<assertSame(['Accept: text/event-stream', 'Cache-Control: no-cache'], $options['headers']); + + return new MockResponse([ + str_replace("\n", $sep, << false, 'http_method' => 'GET', 'url' => 'http://localhost:8080/events', 'response_headers' => ['content-type: text/event-stream']]); - $responseStream = new ResponseStream((function () use ($response, $chunk) { - yield $response => new FirstChunk(); - yield $response => $chunk; - yield $response => new ErrorChunk(0, 'timeout'); - })()); - - $hasCorrectHeaders = function ($options) { - $this->assertSame(['Accept: text/event-stream', 'Cache-Control: no-cache'], $options['headers']); - - return true; - }; - - $httpClient = $this->createMock(HttpClientInterface::class); - $httpClient->method('request')->with('GET', 'http://localhost:8080/events', $this->callback($hasCorrectHeaders))->willReturn($response); - - $httpClient->method('stream')->willReturn($responseStream); - - $es = new EventSourceHttpClient($httpClient); +TXT + ), + ], [ + 'canceled' => false, + 'http_method' => 'GET', + 'url' => 'http://localhost:8080/events', + 'response_headers' => ['content-type: text/event-stream'], + ]); + })); $res = $es->connect('http://localhost:8080/events'); $expected = [ new FirstChunk(), - new ServerSentEvent("event: builderror\nid: 46\ndata: {\"foo\": \"bar\"}\n\n"), - new ServerSentEvent("event: reload\nid: 47\ndata: {}\n\n"), - new ServerSentEvent("event: reload\nid: 48\ndata: {}\n\n"), - new ServerSentEvent("data: test\ndata:test\nid: 49\nevent: testEvent\n\n\n"), - new ServerSentEvent("id: 50\ndata: \ndata\ndata: \ndata\ndata: \n\n"), + new ServerSentEvent(str_replace("\n", $sep, "event: builderror\nid: 46\ndata: {\"foo\": \"bar\"}\n\n")), + new ServerSentEvent(str_replace("\n", $sep, "event: reload\nid: 47\ndata: {}\n\n")), + new DataChunk(-1, str_replace("\n", $sep, ": this is a oneline comment\n\n")), + new DataChunk(-1, str_replace("\n", $sep, ": this is a\n: multiline comment\n\n")), + new ServerSentEvent(str_replace("\n", $sep, ": comments are ignored\nevent: reload\n: anywhere\nid: 48\ndata: {}\n\n")), + new ServerSentEvent(str_replace("\n", $sep, "data: test\ndata:test\nid: 49\nevent: testEvent\n\n\n")), + new ServerSentEvent(str_replace("\n", $sep, "id: 50\ndata: \ndata\ndata: \ndata\ndata: \n\n")), + new DataChunk(-1, str_replace("\n", $sep, "id: 60\ndata")), + new LastChunk("\r\n" === $sep ? 355 : 322), ]; - $i = 0; - - $this->expectExceptionMessage('Response has been canceled'); - while ($res) { - if ($i > 0) { - $res->cancel(); - } - foreach ($es->stream($res) as $chunk) { - if ($chunk->isTimeout()) { - continue; - } - - if ($chunk->isLast()) { - continue; - } - - $this->assertEquals($expected[$i++], $chunk); - } + foreach ($es->stream($res) as $chunk) { + $this->assertEquals(array_shift($expected), $chunk); } + $this->assertSame([], $expected); } /** diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/Fixtures/response-functional/index.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/Fixtures/response-functional/index.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/Fixtures/response-functional/index.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/Fixtures/response-functional/index.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,12 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +echo 'Success'; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/HttpClientTestCase.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/HttpClientTestCase.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/HttpClientTestCase.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/HttpClientTestCase.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,9 +12,12 @@ namespace Symfony\Component\HttpClient\Tests; use PHPUnit\Framework\SkippedTestSuiteError; +use Symfony\Bridge\PhpUnit\DnsMock; use Symfony\Component\HttpClient\Exception\ClientException; +use Symfony\Component\HttpClient\Exception\InvalidArgumentException; use Symfony\Component\HttpClient\Exception\TransportException; use Symfony\Component\HttpClient\Internal\ClientState; +use Symfony\Component\HttpClient\NoPrivateNetworkHttpClient; use Symfony\Component\HttpClient\Response\StreamWrapper; use Symfony\Component\Process\Exception\ProcessFailedException; use Symfony\Component\Process\Process; @@ -455,4 +458,148 @@ $this->expectNotToPerformAssertions(); } + + public function testMisspelledScheme() + { + $httpClient = $this->getHttpClient(__FUNCTION__); + + $this->expectException(InvalidArgumentException::class); + $this->expectExceptionMessage('Invalid URL: host is missing in "http:/localhost:8057/".'); + + $httpClient->request('GET', 'http:/localhost:8057/'); + } + + public function testNoPrivateNetwork() + { + $client = $this->getHttpClient(__FUNCTION__); + $client = new NoPrivateNetworkHttpClient($client); + + $this->expectException(TransportException::class); + $this->expectExceptionMessage('Host "localhost" is blocked'); + + $client->request('GET', 'http://localhost:8888'); + } + + public function testNoPrivateNetworkWithResolve() + { + $client = $this->getHttpClient(__FUNCTION__); + $client = new NoPrivateNetworkHttpClient($client); + + $this->expectException(TransportException::class); + $this->expectExceptionMessage('Host "symfony.com" is blocked'); + + $client->request('GET', 'http://symfony.com', ['resolve' => ['symfony.com' => '127.0.0.1']]); + } + + public function testNoPrivateNetworkWithResolveAndRedirect() + { + DnsMock::withMockedHosts([ + 'localhost' => [ + [ + 'host' => 'localhost', + 'class' => 'IN', + 'ttl' => 15, + 'type' => 'A', + 'ip' => '127.0.0.1', + ], + ], + 'symfony.com' => [ + [ + 'host' => 'symfony.com', + 'class' => 'IN', + 'ttl' => 15, + 'type' => 'A', + 'ip' => '10.0.0.1', + ], + ], + ]); + + $client = $this->getHttpClient(__FUNCTION__); + $client = new NoPrivateNetworkHttpClient($client, '10.0.0.1/32'); + + $this->expectException(TransportException::class); + $this->expectExceptionMessage('Host "symfony.com" is blocked'); + + $client->request('GET', 'http://localhost:8057/302?location=https://symfony.com/'); + } + + public function testNoPrivateNetwork304() + { + $client = $this->getHttpClient(__FUNCTION__); + $client = new NoPrivateNetworkHttpClient($client, '104.26.14.6/32'); + $response = $client->request('GET', 'http://localhost:8057/304', [ + 'headers' => ['If-Match' => '"abc"'], + 'buffer' => false, + ]); + + $this->assertSame(304, $response->getStatusCode()); + $this->assertSame('', $response->getContent(false)); + } + + public function testNoPrivateNetwork302() + { + $client = $this->getHttpClient(__FUNCTION__); + $client = new NoPrivateNetworkHttpClient($client, '104.26.14.6/32'); + $response = $client->request('GET', 'http://localhost:8057/302/relative'); + + $body = $response->toArray(); + + $this->assertSame('/', $body['REQUEST_URI']); + $this->assertNull($response->getInfo('redirect_url')); + + $response = $client->request('GET', 'http://localhost:8057/302/relative', [ + 'max_redirects' => 0, + ]); + + $this->assertSame(302, $response->getStatusCode()); + $this->assertSame('http://localhost:8057/', $response->getInfo('redirect_url')); + } + + public function testNoPrivateNetworkStream() + { + $client = $this->getHttpClient(__FUNCTION__); + + $response = $client->request('GET', 'http://localhost:8057'); + $client = new NoPrivateNetworkHttpClient($client, '104.26.14.6/32'); + + $response = $client->request('GET', 'http://localhost:8057'); + $chunks = $client->stream($response); + $result = []; + + foreach ($chunks as $r => $chunk) { + if ($chunk->isTimeout()) { + $result[] = 't'; + } elseif ($chunk->isLast()) { + $result[] = 'l'; + } elseif ($chunk->isFirst()) { + $result[] = 'f'; + } + } + + $this->assertSame($response, $r); + $this->assertSame(['f', 'l'], $result); + + $chunk = null; + $i = 0; + + foreach ($client->stream($response) as $chunk) { + ++$i; + } + + $this->assertSame(1, $i); + $this->assertTrue($chunk->isLast()); + } + + public function testNoRedirectWithInvalidLocation() + { + $client = $this->getHttpClient(__FUNCTION__); + + $response = $client->request('GET', 'http://localhost:8057/302?location=localhost:8067'); + + $this->assertSame(302, $response->getStatusCode()); + + $response = $client->request('GET', 'http://localhost:8057/302?location=http:localhost'); + + $this->assertSame(302, $response->getStatusCode()); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -63,7 +63,6 @@ public static function provideResolveUrl(): array { return [ - [self::RFC3986_BASE, 'http:h', 'http:h'], [self::RFC3986_BASE, 'g', 'http://a/b/c/g'], [self::RFC3986_BASE, './g', 'http://a/b/c/g'], [self::RFC3986_BASE, 'g/', 'http://a/b/c/g/'], @@ -103,6 +102,7 @@ [self::RFC3986_BASE, 'g/../h', 'http://a/b/c/h'], [self::RFC3986_BASE, 'g;x=1/./y', 'http://a/b/c/g;x=1/y'], [self::RFC3986_BASE, 'g;x=1/../y', 'http://a/b/c/y'], + [self::RFC3986_BASE, 'g/h:123/i', 'http://a/b/c/g/h:123/i'], // dot-segments in the query or fragment [self::RFC3986_BASE, 'g?y/./x', 'http://a/b/c/g?y/./x'], [self::RFC3986_BASE, 'g?y/../x', 'http://a/b/c/g?y/../x'], @@ -117,7 +117,6 @@ ['http://u:p@a/b/c/d;p?q', '.', 'http://u:p@a/b/c/'], // path ending with slash or no slash at all ['http://a/b/c/d/', 'e', 'http://a/b/c/d/e'], - ['http:no-slash', 'e', 'http:e'], // falsey relative parts [self::RFC3986_BASE, '//0', 'http://0/'], [self::RFC3986_BASE, '0', 'http://a/b/c/0'], @@ -129,14 +128,14 @@ public function testResolveUrlWithoutScheme() { $this->expectException(InvalidArgumentException::class); - $this->expectExceptionMessage('Invalid URL: scheme is missing in "//localhost:8080". Did you forget to add "http(s)://"?'); + $this->expectExceptionMessage('Unsupported scheme in "localhost:8080": "http" or "https" expected.'); self::resolveUrl(self::parseUrl('localhost:8080'), null); } - public function testResolveBaseUrlWitoutScheme() + public function testResolveBaseUrlWithoutScheme() { $this->expectException(InvalidArgumentException::class); - $this->expectExceptionMessage('Invalid URL: scheme is missing in "//localhost:8081". Did you forget to add "http(s)://"?'); + $this->expectExceptionMessage('Unsupported scheme in "localhost:8081": "http" or "https" expected.'); self::resolveUrl(self::parseUrl('/foo'), self::parseUrl('localhost:8081')); } @@ -155,12 +154,13 @@ yield [['http:', '//example.com', null, null, null], 'http://Example.coM:80']; yield [['https:', '//xn--dj-kia8a.example.com:8000', '/', null, null], 'https://DÉjà.Example.com:8000/']; yield [[null, null, '/f%20o.o', '?a=b', '#c'], '/f o%2Eo?a=b#c']; + yield [[null, null, '/custom%7C2010-01-01%2000:00:00%7C2023-06-15%2005:50:35', '?a=b', '#c'], '/custom|2010-01-01 00:00:00|2023-06-15 05:50:35?a=b#c']; yield [[null, '//a:b@foo', '/bar', null, null], '//a:b@foo/bar']; yield [[null, '//a:b@foo', '/b{}', null, null], '//a:b@foo/b{}']; yield [['http:', null, null, null, null], 'http:']; yield [['http:', null, 'bar', null, null], 'http:bar']; yield [[null, null, 'bar', '?a=1&c=c', null], 'bar?a=a&b=b', ['b' => null, 'c' => 'c', 'a' => 1]]; - yield [[null, null, 'bar', '?a=b+c&b=b-._~!$%26/%27()[]*%2B%2C;%3D:@%25\\^`%7B|%7D', null], 'bar?a=b+c', ['b' => 'b-._~!$&/\'()[]*+,;=:@%\\^`{|}']]; + yield [[null, null, 'bar', '?a=b+c&b=b-._~!$%26/%27()[]*%2B%2C;%3D:@%25%5C%5E%60%7B%7C%7D', null], 'bar?a=b+c', ['b' => 'b-._~!$&/\'()[]*+,;=:@%\\^`{|}']]; yield [[null, null, 'bar', '?a=b%2B%20c', null], 'bar?a=b+c', ['a' => 'b+ c']]; yield [[null, null, 'bar', '?a[b]=c', null], 'bar', ['a' => ['b' => 'c']]]; yield [[null, null, 'bar', '?a[b[c]=d', null], 'bar?a[b[c]=d', []]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/HttplugClientTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/HttplugClientTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/HttplugClientTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/HttplugClientTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,6 +32,9 @@ TestHttpServer::start(); } + /** + * @requires function ob_gzhandler + */ public function testSendRequest() { $client = new HttplugClient(new NativeHttpClient()); @@ -46,6 +49,9 @@ $this->assertSame('HTTP/1.1', $body['SERVER_PROTOCOL']); } + /** + * @requires function ob_gzhandler + */ public function testSendAsyncRequest() { $client = new HttplugClient(new NativeHttpClient()); @@ -267,4 +273,37 @@ $this->assertSame(200, $response->getStatusCode()); $this->assertSame('OK', (string) $response->getBody()); } + + public function testInvalidHeaderResponse() + { + $responseHeaders = [ + // space in header name not allowed in RFC 7230 + ' X-XSS-Protection' => '0', + 'Cache-Control' => 'no-cache', + ]; + $response = new MockResponse('body', ['response_headers' => $responseHeaders]); + $this->assertArrayHasKey(' x-xss-protection', $response->getHeaders()); + + $client = new HttplugClient(new MockHttpClient($response)); + $request = $client->createRequest('POST', 'http://localhost:8057/post') + ->withBody($client->createStream('foo=0123456789')); + + $resultResponse = $client->sendRequest($request); + $this->assertCount(1, $resultResponse->getHeaders()); + } + + public function testResponseReasonPhrase() + { + $responseHeaders = [ + 'HTTP/1.1 103 Very Early Hints', + ]; + $response = new MockResponse('body', ['response_headers' => $responseHeaders]); + + $client = new HttplugClient(new MockHttpClient($response)); + $request = $client->createRequest('POST', 'http://localhost:8057/post') + ->withBody($client->createStream('foo=0123456789')); + + $resultResponse = $client->sendRequest($request); + $this->assertSame('Very Early Hints', $resultResponse->getReasonPhrase()); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/MockHttpClientTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/MockHttpClientTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/MockHttpClientTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/MockHttpClientTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -304,7 +304,7 @@ switch ($testCase) { default: - return new MockHttpClient(function (string $method, string $url, array $options) use ($client) { + return new MockHttpClient(function (string $method, string $url, array $options) use ($client, $testCase) { try { // force the request to be completed so that we don't test side effects of the transport $response = $client->request($method, $url, ['buffer' => false] + $options); @@ -312,6 +312,9 @@ return new MockResponse($content, $response->getInfo()); } catch (\Throwable $e) { + if (str_starts_with($testCase, 'testNoPrivateNetwork')) { + throw $e; + } $this->fail($e->getMessage()); } }); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/NativeHttpClientTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/NativeHttpClientTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/NativeHttpClientTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/NativeHttpClientTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -14,6 +14,9 @@ use Symfony\Component\HttpClient\NativeHttpClient; use Symfony\Contracts\HttpClient\HttpClientInterface; +/** + * @group dns-sensitive + */ class NativeHttpClientTest extends HttpClientTestCase { protected function getHttpClient(string $testCase): HttpClientInterface diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/NoPrivateNetworkHttpClientTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/NoPrivateNetworkHttpClientTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/NoPrivateNetworkHttpClientTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/NoPrivateNetworkHttpClientTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,17 +12,16 @@ namespace Symfony\Component\HttpClient\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\DnsMock; use Symfony\Component\HttpClient\Exception\InvalidArgumentException; use Symfony\Component\HttpClient\Exception\TransportException; use Symfony\Component\HttpClient\MockHttpClient; use Symfony\Component\HttpClient\NoPrivateNetworkHttpClient; use Symfony\Component\HttpClient\Response\MockResponse; -use Symfony\Contracts\HttpClient\HttpClientInterface; -use Symfony\Contracts\HttpClient\ResponseInterface; class NoPrivateNetworkHttpClientTest extends TestCase { - public static function getExcludeData(): array + public static function getExcludeIpData(): array { return [ // private @@ -51,31 +50,87 @@ ['104.26.14.6', '104.26.14.0/24', true], ['2606:4700:20::681a:e06', null, false], ['2606:4700:20::681a:e06', '2606:4700:20::/43', true], - - // no ipv4/ipv6 at all - ['2606:4700:20::681a:e06', '::/0', true], - ['104.26.14.6', '0.0.0.0/0', true], - - // weird scenarios (e.g.: when trying to match ipv4 address on ipv6 subnet) - ['10.0.0.1', 'fc00::/7', false], - ['fc00::1', '10.0.0.0/8', false], ]; } + public static function getExcludeHostData(): iterable + { + yield from self::getExcludeIpData(); + + // no ipv4/ipv6 at all + yield ['2606:4700:20::681a:e06', '::/0', true]; + yield ['104.26.14.6', '0.0.0.0/0', true]; + + // weird scenarios (e.g.: when trying to match ipv4 address on ipv6 subnet) + yield ['10.0.0.1', 'fc00::/7', true]; + yield ['fc00::1', '10.0.0.0/8', true]; + } + /** - * @dataProvider getExcludeData + * @dataProvider getExcludeIpData + * @group dns-sensitive */ - public function testExclude(string $ipAddr, $subnets, bool $mustThrow) + public function testExcludeByIp(string $ipAddr, $subnets, bool $mustThrow) { + $host = strtr($ipAddr, '.:', '--'); + DnsMock::withMockedHosts([ + $host => [ + str_contains($ipAddr, ':') ? [ + 'type' => 'AAAA', + 'ipv6' => '3706:5700:20::ac43:4826', + ] : [ + 'type' => 'A', + 'ip' => '105.26.14.6', + ], + ], + ]); + $content = 'foo'; - $url = sprintf('http://%s/', 0 < substr_count($ipAddr, ':') ? sprintf('[%s]', $ipAddr) : $ipAddr); + $url = \sprintf('http://%s/', $host); if ($mustThrow) { $this->expectException(TransportException::class); - $this->expectExceptionMessage(sprintf('IP "%s" is blocked for "%s".', $ipAddr, $url)); + $this->expectExceptionMessage(\sprintf('IP "%s" is blocked for "%s".', $ipAddr, $url)); } - $previousHttpClient = $this->getHttpClientMock($url, $ipAddr, $content); + $previousHttpClient = $this->getMockHttpClient($ipAddr, $content); + $client = new NoPrivateNetworkHttpClient($previousHttpClient, $subnets); + $response = $client->request('GET', $url); + + if (!$mustThrow) { + $this->assertEquals($content, $response->getContent()); + $this->assertEquals(200, $response->getStatusCode()); + } + } + + /** + * @dataProvider getExcludeHostData + * @group dns-sensitive + */ + public function testExcludeByHost(string $ipAddr, $subnets, bool $mustThrow) + { + $host = strtr($ipAddr, '.:', '--'); + DnsMock::withMockedHosts([ + $host => [ + str_contains($ipAddr, ':') ? [ + 'type' => 'AAAA', + 'ipv6' => $ipAddr, + ] : [ + 'type' => 'A', + 'ip' => $ipAddr, + ], + ], + ]); + + $content = 'foo'; + $url = \sprintf('http://%s/', $host); + + if ($mustThrow) { + $this->expectException(TransportException::class); + $this->expectExceptionMessage(\sprintf('Host "%s" is blocked for "%s".', $host, $url)); + } + + $previousHttpClient = $this->getMockHttpClient($ipAddr, $content); $client = new NoPrivateNetworkHttpClient($previousHttpClient, $subnets); $response = $client->request('GET', $url); @@ -96,7 +151,7 @@ ++$executionCount; }; - $previousHttpClient = $this->getHttpClientMock($url, $ipAddr, $content); + $previousHttpClient = $this->getMockHttpClient($ipAddr, $content); $client = new NoPrivateNetworkHttpClient($previousHttpClient); $response = $client->request('GET', $url, ['on_progress' => $customCallback]); @@ -109,7 +164,6 @@ { $ipAddr = '104.26.14.6'; $url = sprintf('http://%s/', $ipAddr); - $content = 'bar'; $customCallback = sprintf('cb_%s', microtime(true)); $this->expectException(InvalidArgumentException::class); @@ -127,38 +181,8 @@ new NoPrivateNetworkHttpClient(new MockHttpClient(), 3); } - private function getHttpClientMock(string $url, string $ipAddr, string $content) + private function getMockHttpClient(string $ipAddr, string $content) { - $previousHttpClient = $this - ->getMockBuilder(HttpClientInterface::class) - ->getMock(); - - $previousHttpClient - ->expects($this->once()) - ->method('request') - ->with( - 'GET', - $url, - $this->callback(function ($options) { - $this->assertArrayHasKey('on_progress', $options); - $onProgress = $options['on_progress']; - $this->assertIsCallable($onProgress); - - return true; - }) - ) - ->willReturnCallback(function ($method, $url, $options) use ($ipAddr, $content): ResponseInterface { - $info = [ - 'primary_ip' => $ipAddr, - 'url' => $url, - ]; - - $onProgress = $options['on_progress']; - $onProgress(0, 0, $info); - - return MockResponse::fromRequest($method, $url, [], new MockResponse($content)); - }); - - return $previousHttpClient; + return new MockHttpClient(new MockResponse($content, ['primary_ip' => $ipAddr])); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/Psr18ClientTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/Psr18ClientTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/Psr18ClientTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/Psr18ClientTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,6 +28,9 @@ TestHttpServer::start(); } + /** + * @requires function ob_gzhandler + */ public function testSendRequest() { $factory = new Psr17Factory(); @@ -101,4 +104,19 @@ $resultResponse = $client->sendRequest($request); $this->assertCount(1, $resultResponse->getHeaders()); } + + public function testResponseReasonPhrase() + { + $responseHeaders = [ + 'HTTP/1.1 103 Very Early Hints', + ]; + $response = new MockResponse('body', ['response_headers' => $responseHeaders]); + + $client = new Psr18Client(new MockHttpClient($response)); + $request = $client->createRequest('POST', 'http://localhost:8057/post') + ->withBody($client->createStream('foo=0123456789')); + + $resultResponse = $client->sendRequest($request); + $this->assertSame('Very Early Hints', $resultResponse->getReasonPhrase()); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/Retry/GenericRetryStrategyTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/Retry/GenericRetryStrategyTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/Retry/GenericRetryStrategyTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/Retry/GenericRetryStrategyTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -67,7 +67,7 @@ public static function provideDelay(): iterable { - // delay, multiplier, maxDelay, retries, expectedDelay + // delay, multiplier, maxDelay, previousRetries, expectedDelay yield [1000, 1, 5000, 0, 1000]; yield [1000, 1, 5000, 1, 1000]; yield [1000, 1, 5000, 2, 1000]; @@ -90,13 +90,16 @@ yield [0, 2, 10000, 1, 0]; } - public function testJitter() + /** + * @dataProvider provideJitter + */ + public function testJitter(float $multiplier, int $previousRetries) { - $strategy = new GenericRetryStrategy([], 1000, 1, 0, 1); + $strategy = new GenericRetryStrategy([], 1000, $multiplier, 0, 1); $min = 2000; $max = 0; for ($i = 0; $i < 50; ++$i) { - $delay = $strategy->getDelay($this->getContext(0, 'GET', 'http://example.com/', 200), null, null); + $delay = $strategy->getDelay($this->getContext($previousRetries, 'GET', 'http://example.com/', 200), null, null); $min = min($min, $delay); $max = max($max, $delay); } @@ -105,6 +108,13 @@ $this->assertLessThanOrEqual(1000, $min); } + public static function provideJitter(): iterable + { + // multiplier, previousRetries + yield [1, 0]; + yield [1.1, 2]; + } + private function getContext($retryCount, $method, $url, $statusCode): AsyncContext { $passthru = null; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/RetryableHttpClientTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/RetryableHttpClientTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/Tests/RetryableHttpClientTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/Tests/RetryableHttpClientTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,14 +13,17 @@ use PHPUnit\Framework\TestCase; use Symfony\Component\HttpClient\Exception\ServerException; +use Symfony\Component\HttpClient\Exception\TransportException; use Symfony\Component\HttpClient\HttpClient; use Symfony\Component\HttpClient\MockHttpClient; use Symfony\Component\HttpClient\NativeHttpClient; use Symfony\Component\HttpClient\Response\AsyncContext; use Symfony\Component\HttpClient\Response\MockResponse; use Symfony\Component\HttpClient\Retry\GenericRetryStrategy; +use Symfony\Component\HttpClient\Retry\RetryStrategyInterface; use Symfony\Component\HttpClient\RetryableHttpClient; use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface; +use Symfony\Contracts\HttpClient\Test\TestHttpServer; class RetryableHttpClientTest extends TestCase { @@ -244,4 +247,37 @@ self::assertSame('Test out content', $response->getContent()); self::assertSame('Test out content', $response->getContent(), 'Content should be buffered'); } + + public function testRetryOnTimeout() + { + $client = HttpClient::create(); + + TestHttpServer::start(); + + $strategy = new class() implements RetryStrategyInterface { + public $isCalled = false; + + public function shouldRetry(AsyncContext $context, ?string $responseContent, ?TransportExceptionInterface $exception): ?bool + { + $this->isCalled = true; + + return false; + } + + public function getDelay(AsyncContext $context, ?string $responseContent, ?TransportExceptionInterface $exception): int + { + return 0; + } + }; + $client = new RetryableHttpClient($client, $strategy); + $response = $client->request('GET', 'http://localhost:8057/timeout-header', ['timeout' => 0.1]); + + try { + $response->getStatusCode(); + $this->fail(TransportException::class.' expected'); + } catch (TransportException $e) { + } + + $this->assertTrue($strategy->isCalled, 'The HTTP retry strategy should be called'); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/TraceableHttpClient.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/TraceableHttpClient.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/TraceableHttpClient.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/TraceableHttpClient.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ private $stopwatch; private $tracedRequests; - public function __construct(HttpClientInterface $client, Stopwatch $stopwatch = null) + public function __construct(HttpClientInterface $client, ?Stopwatch $stopwatch = null) { $this->client = $client; $this->stopwatch = $stopwatch; @@ -72,7 +72,7 @@ /** * {@inheritdoc} */ - public function stream($responses, float $timeout = null): ResponseStreamInterface + public function stream($responses, ?float $timeout = null): ResponseStreamInterface { if ($responses instanceof TraceableResponse) { $responses = [$responses]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/composer.json symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/composer.json --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpClient/composer.json 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpClient/composer.json 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ "php": ">=7.2.5", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-client-contracts": "^2.4", + "symfony/http-client-contracts": "^2.5.4", "symfony/polyfill-php73": "^1.11", "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.0|^2|^3" @@ -35,9 +35,10 @@ "amphp/http-client": "^4.2.1", "amphp/http-tunnel": "^1.0", "amphp/socket": "^1.1", - "guzzlehttp/promises": "^1.4", + "guzzlehttp/promises": "^1.4|^2.0", "nyholm/psr7": "^1.0", "php-http/httplug": "^1.0|^2.0", + "php-http/message-factory": "^1.0", "psr/http-client": "^1.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0", "symfony/http-kernel": "^4.4.13|^5.1.5|^6.0", diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/BinaryFileResponse.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/BinaryFileResponse.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/BinaryFileResponse.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/BinaryFileResponse.php 2026-05-20 08:22:01.000000000 +0000 @@ -45,7 +45,7 @@ * @param bool $autoEtag Whether the ETag header should be automatically set * @param bool $autoLastModified Whether the Last-Modified header should be automatically set */ - public function __construct($file, int $status = 200, array $headers = [], bool $public = true, string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true) + public function __construct($file, int $status = 200, array $headers = [], bool $public = true, ?string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true) { parent::__construct(null, $status, $headers); @@ -69,7 +69,7 @@ * * @deprecated since Symfony 5.2, use __construct() instead. */ - public static function create($file = null, int $status = 200, array $headers = [], bool $public = true, string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true) + public static function create($file = null, int $status = 200, array $headers = [], bool $public = true, ?string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true) { trigger_deprecation('symfony/http-foundation', '5.2', 'The "%s()" method is deprecated, use "new %s()" instead.', __METHOD__, static::class); @@ -85,7 +85,7 @@ * * @throws FileException */ - public function setFile($file, string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true) + public function setFile($file, ?string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true) { if (!$file instanceof File) { if ($file instanceof \SplFileInfo) { @@ -244,8 +244,12 @@ } if ('x-accel-redirect' === strtolower($type)) { // Do X-Accel-Mapping substitutions. - // @link https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/#x-accel-redirect - $parts = HeaderUtils::split($request->headers->get('X-Accel-Mapping', ''), ',='); + // @link https://github.com/rack/rack/blob/main/lib/rack/sendfile.rb + // @link https://mattbrictson.com/blog/accelerated-rails-downloads + if (!$request->headers->has('X-Accel-Mapping')) { + throw new \LogicException('The "X-Accel-Mapping" header must be set when "X-Sendfile-Type" is set to "X-Accel-Redirect".'); + } + $parts = HeaderUtils::split($request->headers->get('X-Accel-Mapping'), ',='); foreach ($parts as $part) { [$pathPrefix, $location] = $part; if (substr($path, 0, \strlen($pathPrefix)) === $pathPrefix) { @@ -349,7 +353,7 @@ while ('' !== $data) { $read = fwrite($out, $data); if (false === $read || connection_aborted()) { - break; + break 2; } if (0 < $length) { $length -= $read; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Cookie.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Cookie.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Cookie.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Cookie.php 2026-05-20 08:22:01.000000000 +0000 @@ -71,7 +71,7 @@ return new static($name, $value, $data['expires'], $data['path'], $data['domain'], $data['secure'], $data['httponly'], $data['raw'], $data['samesite']); } - public static function create(string $name, string $value = null, $expire = 0, ?string $path = '/', string $domain = null, bool $secure = null, bool $httpOnly = true, bool $raw = false, ?string $sameSite = self::SAMESITE_LAX): self + public static function create(string $name, ?string $value = null, $expire = 0, ?string $path = '/', ?string $domain = null, ?bool $secure = null, bool $httpOnly = true, bool $raw = false, ?string $sameSite = self::SAMESITE_LAX): self { return new self($name, $value, $expire, $path, $domain, $secure, $httpOnly, $raw, $sameSite); } @@ -89,7 +89,7 @@ * * @throws \InvalidArgumentException */ - public function __construct(string $name, string $value = null, $expire = 0, ?string $path = '/', string $domain = null, bool $secure = null, bool $httpOnly = true, bool $raw = false, ?string $sameSite = 'lax') + public function __construct(string $name, ?string $value = null, $expire = 0, ?string $path = '/', ?string $domain = null, ?bool $secure = null, bool $httpOnly = true, bool $raw = false, ?string $sameSite = 'lax') { // from PHP source code if ($raw && false !== strpbrk($name, self::RESERVED_CHARS_LIST)) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Exception/SessionNotFoundException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Exception/SessionNotFoundException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Exception/SessionNotFoundException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Exception/SessionNotFoundException.php 2026-05-20 08:22:01.000000000 +0000 @@ -20,7 +20,7 @@ */ class SessionNotFoundException extends \LogicException implements RequestExceptionInterface { - public function __construct(string $message = 'There is currently no session available.', int $code = 0, \Throwable $previous = null) + public function __construct(string $message = 'There is currently no session available.', int $code = 0, ?\Throwable $previous = null) { parent::__construct($message, $code, $previous); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/File/File.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/File/File.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/File/File.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/File/File.php 2026-05-20 08:22:01.000000000 +0000 @@ -88,7 +88,7 @@ * * @throws FileException if the target file could not be created */ - public function move(string $directory, string $name = null) + public function move(string $directory, ?string $name = null) { $target = $this->getTargetFile($directory, $name); @@ -121,7 +121,7 @@ /** * @return self */ - protected function getTargetFile(string $directory, string $name = null) + protected function getTargetFile(string $directory, ?string $name = null) { if (!is_dir($directory)) { if (false === @mkdir($directory, 0777, true) && !is_dir($directory)) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/File/UploadedFile.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/File/UploadedFile.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/File/UploadedFile.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/File/UploadedFile.php 2026-05-20 08:22:01.000000000 +0000 @@ -60,7 +60,7 @@ * @throws FileException If file_uploads is disabled * @throws FileNotFoundException If the file does not exist */ - public function __construct(string $path, string $originalName, string $mimeType = null, int $error = null, bool $test = false) + public function __construct(string $path, string $originalName, ?string $mimeType = null, ?int $error = null, bool $test = false) { $this->originalName = $this->getName($originalName); $this->mimeType = $mimeType ?: 'application/octet-stream'; @@ -74,7 +74,7 @@ * Returns the original file name. * * It is extracted from the request from which the file has been uploaded. - * Then it should not be considered as a safe value. + * This should not be considered as a safe value to use for a file name on your servers. * * @return string */ @@ -87,7 +87,7 @@ * Returns the original file extension. * * It is extracted from the original file name that was uploaded. - * Then it should not be considered as a safe value. + * This should not be considered as a safe value to use for a file name on your servers. * * @return string */ @@ -172,7 +172,7 @@ * * @throws FileException if, for any reason, the file could not have been moved */ - public function move(string $directory, string $name = null) + public function move(string $directory, ?string $name = null) { if ($this->isValid()) { if ($this->test) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/HeaderBag.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/HeaderBag.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/HeaderBag.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/HeaderBag.php 2026-05-20 08:22:01.000000000 +0000 @@ -67,7 +67,7 @@ * * @return array>|array */ - public function all(string $key = null) + public function all(?string $key = null) { if (null !== $key) { return $this->headers[strtr($key, self::UPPER, self::LOWER)] ?? []; @@ -110,7 +110,7 @@ * * @return string|null */ - public function get(string $key, string $default = null) + public function get(string $key, ?string $default = null) { $headers = $this->all($key); @@ -197,7 +197,7 @@ * * @throws \RuntimeException When the HTTP header is not parseable */ - public function getDate(string $key, \DateTime $default = null) + public function getDate(string $key, ?\DateTime $default = null) { if (null === $value = $this->get($key)) { return $default; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/HeaderUtils.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/HeaderUtils.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/HeaderUtils.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/HeaderUtils.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,17 +33,21 @@ * * Example: * - * HeaderUtils::split("da, en-gb;q=0.8", ",;") + * HeaderUtils::split('da, en-gb;q=0.8', ',;') * // => ['da'], ['en-gb', 'q=0.8']] * * @param string $separators List of characters to split on, ordered by - * precedence, e.g. ",", ";=", or ",;=" + * precedence, e.g. ',', ';=', or ',;=' * * @return array Nested array with as many levels as there are characters in * $separators */ public static function split(string $header, string $separators): array { + if ('' === $separators) { + throw new \InvalidArgumentException('At least one separator must be specified.'); + } + $quotedSeparators = preg_quote($separators, '/'); preg_match_all(' @@ -77,8 +81,8 @@ * * Example: * - * HeaderUtils::combine([["foo", "abc"], ["bar"]]) - * // => ["foo" => "abc", "bar" => true] + * HeaderUtils::combine([['foo', 'abc'], ['bar']]) + * // => ['foo' => 'abc', 'bar' => true] */ public static function combine(array $parts): array { @@ -95,13 +99,13 @@ /** * Joins an associative array into a string for use in an HTTP header. * - * The key and value of each entry are joined with "=", and all entries + * The key and value of each entry are joined with '=', and all entries * are joined with the specified separator and an additional space (for * readability). Values are quoted if necessary. * * Example: * - * HeaderUtils::toString(["foo" => "abc", "bar" => true, "baz" => "a b c"], ",") + * HeaderUtils::toString(['foo' => 'abc', 'bar' => true, 'baz' => 'a b c'], ',') * // => 'foo=abc, bar, baz="a b c"' */ public static function toString(array $assoc, string $separator): string @@ -252,39 +256,40 @@ private static function groupParts(array $matches, string $separators, bool $first = true): array { $separator = $separators[0]; - $partSeparators = substr($separators, 1); - + $separators = substr($separators, 1) ?: ''; $i = 0; + + if ('' === $separators && !$first) { + $parts = ['']; + + foreach ($matches as $match) { + if (!$i && isset($match['separator'])) { + $i = 1; + $parts[1] = ''; + } else { + $parts[$i] .= self::unquote($match[0]); + } + } + + return $parts; + } + + $parts = []; $partMatches = []; - $previousMatchWasSeparator = false; + foreach ($matches as $match) { - if (!$first && $previousMatchWasSeparator && isset($match['separator']) && $match['separator'] === $separator) { - $previousMatchWasSeparator = true; - $partMatches[$i][] = $match; - } elseif (isset($match['separator']) && $match['separator'] === $separator) { - $previousMatchWasSeparator = true; + if (($match['separator'] ?? null) === $separator) { ++$i; } else { - $previousMatchWasSeparator = false; $partMatches[$i][] = $match; } } - $parts = []; - if ($partSeparators) { - foreach ($partMatches as $matches) { - $parts[] = self::groupParts($matches, $partSeparators, false); - } - } else { - foreach ($partMatches as $matches) { - $parts[] = self::unquote($matches[0][0]); - } - - if (!$first && 2 < \count($parts)) { - $parts = [ - $parts[0], - implode($separator, \array_slice($parts, 1)), - ]; + foreach ($partMatches as $matches) { + if ('' === $separators && '' !== $unquoted = self::unquote($matches[0][0])) { + $parts[] = $unquoted; + } elseif ($groupedParts = self::groupParts($matches, $separators, false)) { + $parts[] = $groupedParts; } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/InputBag.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/InputBag.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/InputBag.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/InputBag.php 2026-05-20 08:22:01.000000000 +0000 @@ -45,7 +45,7 @@ /** * {@inheritdoc} */ - public function all(string $key = null): array + public function all(?string $key = null): array { return parent::all($key); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/JsonResponse.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/JsonResponse.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/JsonResponse.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/JsonResponse.php 2026-05-20 08:22:01.000000000 +0000 @@ -105,7 +105,7 @@ * * @throws \InvalidArgumentException When the callback name is not valid */ - public function setCallback(string $callback = null) + public function setCallback(?string $callback = null) { if (null !== $callback) { // partially taken from https://geekality.net/2011/08/03/valid-javascript-identifier/ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/ParameterBag.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/ParameterBag.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/ParameterBag.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/ParameterBag.php 2026-05-20 08:22:01.000000000 +0000 @@ -39,7 +39,7 @@ * * @return array */ - public function all(/* string $key = null */) + public function all(/* ?string $key = null */) { $key = \func_num_args() > 0 ? func_get_arg(0) : null; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/RedirectResponse.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/RedirectResponse.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/RedirectResponse.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/RedirectResponse.php 2026-05-20 08:22:01.000000000 +0000 @@ -103,6 +103,7 @@ ', htmlspecialchars($url, \ENT_QUOTES, 'UTF-8'))); $this->headers->set('Location', $url); + $this->headers->set('Content-Type', 'text/html; charset=utf-8'); return $this; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Request.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Request.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Request.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Request.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,6 +11,7 @@ namespace Symfony\Component\HttpFoundation; +use Symfony\Component\HttpFoundation\Exception\BadRequestException; use Symfony\Component\HttpFoundation\Exception\ConflictingHeadersException; use Symfony\Component\HttpFoundation\Exception\JsonException; use Symfony\Component\HttpFoundation\Exception\SessionNotFoundException; @@ -246,6 +247,9 @@ self::HEADER_X_FORWARDED_PREFIX => 'X_FORWARDED_PREFIX', ]; + /** @var bool */ + private $isIisRewrite = false; + /** * @param array $query The GET parameters * @param array $request The POST parameters @@ -330,6 +334,8 @@ * @param string|resource|null $content The raw body data * * @return static + * + * @throws BadRequestException When the URI is invalid */ public static function create(string $uri, string $method = 'GET', array $parameters = [], array $cookies = [], array $files = [], array $server = [], $content = null) { @@ -352,7 +358,20 @@ $server['PATH_INFO'] = ''; $server['REQUEST_METHOD'] = strtoupper($method); - $components = parse_url($uri); + if (false === $components = parse_url(\strlen($uri) !== strcspn($uri, '?#') ? $uri : $uri.'#')) { + throw new BadRequestException('Invalid URI.'); + } + + if (false !== ($i = strpos($uri, '\\')) && $i < strcspn($uri, '?#')) { + throw new BadRequestException('Invalid URI: A URI cannot contain a backslash.'); + } + if (\strlen($uri) !== strcspn($uri, "\r\n\t")) { + throw new BadRequestException('Invalid URI: A URI cannot contain CR/LF/TAB characters.'); + } + if ('' !== $uri && (\ord($uri[0]) <= 32 || \ord($uri[-1]) <= 32)) { + throw new BadRequestException('Invalid URI: A URI must not start nor end with ASCII control characters or spaces.'); + } + if (isset($components['host'])) { $server['SERVER_NAME'] = $components['host']; $server['HTTP_HOST'] = $components['host']; @@ -448,7 +467,7 @@ * * @return static */ - public function duplicate(array $query = null, array $request = null, array $attributes = null, array $cookies = null, array $files = null, array $server = null) + public function duplicate(?array $query = null, ?array $request = null, ?array $attributes = null, ?array $cookies = null, ?array $files = null, ?array $server = null) { $dup = clone $this; if (null !== $query) { @@ -1287,7 +1306,7 @@ } if (!preg_match('/^[A-Z]++$/D', $method)) { - throw new SuspiciousOperationException(sprintf('Invalid method override "%s".', $method)); + throw new SuspiciousOperationException('Invalid HTTP method override.'); } return $this->method = $method; @@ -1648,7 +1667,7 @@ * * @return string|null */ - public function getPreferredLanguage(array $locales = null) + public function getPreferredLanguage(?array $locales = null) { $preferredLanguages = $this->getLanguages(); @@ -1805,11 +1824,10 @@ { $requestUri = ''; - if ('1' == $this->server->get('IIS_WasUrlRewritten') && '' != $this->server->get('UNENCODED_URL')) { + if ($this->isIisRewrite() && '' != $this->server->get('UNENCODED_URL')) { // IIS7 with URL Rewrite: make sure we get the unencoded URL (double slash problem) $requestUri = $this->server->get('UNENCODED_URL'); $this->server->remove('UNENCODED_URL'); - $this->server->remove('IIS_WasUrlRewritten'); } elseif ($this->server->has('REQUEST_URI')) { $requestUri = $this->server->get('REQUEST_URI'); @@ -1965,9 +1983,8 @@ } $pathInfo = substr($requestUri, \strlen($baseUrl)); - if (false === $pathInfo || '' === $pathInfo) { - // If substr() returns false then PATH_INFO is set to an empty string - return '/'; + if (false === $pathInfo || '' === $pathInfo || '/' !== $pathInfo[0]) { + return '/'.$pathInfo; } return $pathInfo; @@ -2012,7 +2029,13 @@ */ private function getUrlencodedPrefix(string $string, string $prefix): ?string { - if (!str_starts_with(rawurldecode($string), $prefix)) { + if ($this->isIisRewrite()) { + // ISS with UrlRewriteModule might report SCRIPT_NAME/PHP_SELF with wrong case + // see https://github.com/php/php-src/issues/11981 + if (0 !== stripos(rawurldecode($string), $prefix)) { + return null; + } + } elseif (!str_starts_with(rawurldecode($string), $prefix)) { return null; } @@ -2053,7 +2076,7 @@ return self::$trustedProxies && IpUtils::checkIp($this->server->get('REMOTE_ADDR', ''), self::$trustedProxies); } - private function getTrustedValues(int $type, string $ip = null): array + private function getTrustedValues(int $type, ?string $ip = null): array { $clientValues = []; $forwardedValues = []; @@ -2145,4 +2168,20 @@ // Now the IP chain contains only untrusted proxies and the client IP return $clientIps ? array_reverse($clientIps) : [$firstTrustedIp]; } + + /** + * Is this IIS with UrlRewriteModule? + * + * This method consumes, caches and removed the IIS_WasUrlRewritten env var, + * so we don't inherit it to sub-requests. + */ + private function isIisRewrite(): bool + { + if (1 === $this->server->getInt('IIS_WasUrlRewritten')) { + $this->isIisRewrite = true; + $this->server->remove('IIS_WasUrlRewritten'); + } + + return $this->isIisRewrite; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/RequestMatcher.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/RequestMatcher.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/RequestMatcher.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/RequestMatcher.php 2026-05-20 08:22:01.000000000 +0000 @@ -58,7 +58,7 @@ * @param string|string[]|null $ips * @param string|string[]|null $schemes */ - public function __construct(string $path = null, string $host = null, $methods = null, $ips = null, array $attributes = [], $schemes = null, int $port = null) + public function __construct(?string $path = null, ?string $host = null, $methods = null, $ips = null, array $attributes = [], $schemes = null, ?int $port = null) { $this->matchPath($path); $this->matchHost($host); @@ -91,7 +91,7 @@ } /** - * Adds a check for the the URL port. + * Adds a check for the URL port. * * @param int|null $port The port number to connect to */ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Response.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Response.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Response.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Response.php 2026-05-20 08:22:01.000000000 +0000 @@ -298,7 +298,7 @@ $charset = $this->charset ?: 'UTF-8'; if (!$headers->has('Content-Type')) { $headers->set('Content-Type', 'text/html; charset='.$charset); - } elseif (0 === stripos($headers->get('Content-Type'), 'text/') && false === stripos($headers->get('Content-Type'), 'charset')) { + } elseif (0 === stripos($headers->get('Content-Type') ?? '', 'text/') && false === stripos($headers->get('Content-Type') ?? '', 'charset')) { // add the charset $headers->set('Content-Type', $headers->get('Content-Type').'; charset='.$charset); } @@ -463,7 +463,7 @@ * * @final */ - public function setStatusCode(int $code, string $text = null): object + public function setStatusCode(int $code, ?string $text = null): object { $this->statusCode = $code; if ($this->isInvalid()) { @@ -737,7 +737,7 @@ * * @final */ - public function setExpires(\DateTimeInterface $date = null): object + public function setExpires(?\DateTimeInterface $date = null): object { if (null === $date) { $this->headers->remove('Expires'); @@ -886,7 +886,7 @@ * * @final */ - public function setLastModified(\DateTimeInterface $date = null): object + public function setLastModified(?\DateTimeInterface $date = null): object { if (null === $date) { $this->headers->remove('Last-Modified'); @@ -924,7 +924,7 @@ * * @final */ - public function setEtag(string $etag = null, bool $weak = false): object + public function setEtag(?string $etag = null, bool $weak = false): object { if (null === $etag) { $this->headers->remove('Etag'); @@ -1217,7 +1217,7 @@ * * @final */ - public function isRedirect(string $location = null): bool + public function isRedirect(?string $location = null): bool { return \in_array($this->statusCode, [201, 301, 302, 303, 307, 308]) && (null === $location ?: $location == $this->headers->get('Location')); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php 2026-05-20 08:22:01.000000000 +0000 @@ -88,7 +88,7 @@ /** * {@inheritdoc} */ - public function all(string $key = null) + public function all(?string $key = null) { $headers = parent::all(); @@ -186,7 +186,7 @@ /** * Removes a cookie from the array, but does not unset it in the browser. */ - public function removeCookie(string $name, ?string $path = '/', string $domain = null) + public function removeCookie(string $name, ?string $path = '/', ?string $domain = null) { if (null === $path) { $path = '/'; @@ -239,7 +239,7 @@ /** * Clears a cookie in the browser. */ - public function clearCookie(string $name, ?string $path = '/', string $domain = null, bool $secure = false, bool $httpOnly = true, string $sameSite = null) + public function clearCookie(string $name, ?string $path = '/', ?string $domain = null, bool $secure = false, bool $httpOnly = true, ?string $sameSite = null) { $this->setCookie(new Cookie($name, null, 1, $path, $domain, $secure, $httpOnly, false, $sameSite)); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/ServerBag.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/ServerBag.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/ServerBag.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/ServerBag.php 2026-05-20 08:22:01.000000000 +0000 @@ -31,7 +31,7 @@ foreach ($this->parameters as $key => $value) { if (str_starts_with($key, 'HTTP_')) { $headers[substr($key, 5)] = $value; - } elseif (\in_array($key, ['CONTENT_TYPE', 'CONTENT_LENGTH', 'CONTENT_MD5'], true)) { + } elseif (\in_array($key, ['CONTENT_TYPE', 'CONTENT_LENGTH', 'CONTENT_MD5'], true) && '' !== $value) { $headers[$key] = $value; } } @@ -51,7 +51,7 @@ * RewriteCond %{HTTP:Authorization} .+ * RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0] * RewriteCond %{REQUEST_FILENAME} !-f - * RewriteRule ^(.*)$ app.php [QSA,L] + * RewriteRule ^(.*)$ index.php [QSA,L] */ $authorizationHeader = null; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Session.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Session.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Session.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Session.php 2026-05-20 08:22:01.000000000 +0000 @@ -39,7 +39,7 @@ private $usageIndex = 0; private $usageReporter; - public function __construct(SessionStorageInterface $storage = null, AttributeBagInterface $attributes = null, FlashBagInterface $flashes = null, callable $usageReporter = null) + public function __construct(?SessionStorageInterface $storage = null, ?AttributeBagInterface $attributes = null, ?FlashBagInterface $flashes = null, ?callable $usageReporter = null) { $this->storage = $storage ?? new NativeSessionStorage(); $this->usageReporter = $usageReporter; @@ -175,7 +175,7 @@ /** * {@inheritdoc} */ - public function invalidate(int $lifetime = null) + public function invalidate(?int $lifetime = null) { $this->storage->clear(); @@ -185,7 +185,7 @@ /** * {@inheritdoc} */ - public function migrate(bool $destroy = false, int $lifetime = null) + public function migrate(bool $destroy = false, ?int $lifetime = null) { return $this->storage->regenerate($destroy, $lifetime); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/SessionFactory.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/SessionFactory.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/SessionFactory.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/SessionFactory.php 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ private $storageFactory; private $usageReporter; - public function __construct(RequestStack $requestStack, SessionStorageFactoryInterface $storageFactory, callable $usageReporter = null) + public function __construct(RequestStack $requestStack, SessionStorageFactoryInterface $storageFactory, ?callable $usageReporter = null) { $this->requestStack = $requestStack; $this->storageFactory = $storageFactory; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/SessionInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/SessionInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/SessionInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/SessionInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -66,7 +66,7 @@ * * @return bool */ - public function invalidate(int $lifetime = null); + public function invalidate(?int $lifetime = null); /** * Migrates the current session to a new session id while maintaining all @@ -80,7 +80,7 @@ * * @return bool */ - public function migrate(bool $destroy = false, int $lifetime = null); + public function migrate(bool $destroy = false, ?int $lifetime = null); /** * Force the session to be saved and closed. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ * @throws \InvalidArgumentException On invalid $savePath * @throws \RuntimeException When failing to create the save directory */ - public function __construct(string $savePath = null) + public function __construct(?string $savePath = null) { if (null === $savePath) { $savePath = \ini_get('session.save_path'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php 2026-05-20 08:22:01.000000000 +0000 @@ -112,16 +112,16 @@ /** * Username when lazy-connect. * - * @var string + * @var string|null */ - private $username = ''; + private $username = null; /** * Password when lazy-connect. * - * @var string + * @var string|null */ - private $password = ''; + private $password = null; /** * Connection options when lazy-connect. @@ -397,8 +397,8 @@ $updateStmt = $this->pdo->prepare( "UPDATE $this->table SET $this->lifetimeCol = :expiry, $this->timeCol = :time WHERE $this->idCol = :id" ); - $updateStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR); - $updateStmt->bindParam(':expiry', $expiry, \PDO::PARAM_INT); + $updateStmt->bindValue(':id', $sessionId, \PDO::PARAM_STR); + $updateStmt->bindValue(':expiry', $expiry, \PDO::PARAM_INT); $updateStmt->bindValue(':time', time(), \PDO::PARAM_INT); $updateStmt->execute(); } catch (\PDOException $e) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/SessionHandlerFactory.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/SessionHandlerFactory.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/SessionHandlerFactory.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/SessionHandlerFactory.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,7 +11,10 @@ namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; +use Doctrine\DBAL\Configuration; use Doctrine\DBAL\DriverManager; +use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory; +use Doctrine\DBAL\Tools\DsnParser; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Traits\RedisClusterProxy; use Symfony\Component\Cache\Traits\RedisProxy; @@ -60,7 +63,7 @@ case str_starts_with($connection, 'rediss:'): case str_starts_with($connection, 'memcached:'): if (!class_exists(AbstractAdapter::class)) { - throw new \InvalidArgumentException(sprintf('Unsupported DSN "%s". Try running "composer require symfony/cache".', $connection)); + throw new \InvalidArgumentException('Unsupported Redis or Memcached DSN. Try running "composer require symfony/cache".'); } $handlerClass = str_starts_with($connection, 'memcached:') ? MemcachedSessionHandler::class : RedisSessionHandler::class; $connection = AbstractAdapter::createConnection($connection, ['lazy' => true]); @@ -69,9 +72,18 @@ case str_starts_with($connection, 'pdo_oci://'): if (!class_exists(DriverManager::class)) { - throw new \InvalidArgumentException(sprintf('Unsupported DSN "%s". Try running "composer require doctrine/dbal".', $connection)); + throw new \InvalidArgumentException('Unsupported PDO OCI DSN. Try running "composer require doctrine/dbal".'); } - $connection = DriverManager::getConnection(['url' => $connection])->getWrappedConnection(); + $connection[3] = '-'; + $params = class_exists(DsnParser::class) ? (new DsnParser())->parse($connection) : ['url' => $connection]; + $config = new Configuration(); + if (class_exists(DefaultSchemaManagerFactory::class)) { + $config->setSchemaManagerFactory(new DefaultSchemaManagerFactory()); + } + + $connection = DriverManager::getConnection($params, $config); + // The condition should be removed once support for DBAL <3.3 is dropped + $connection = method_exists($connection, 'getNativeConnection') ? $connection->getNativeConnection() : $connection->getWrappedConnection(); // no break; case str_starts_with($connection, 'mssql://'): diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php 2026-05-20 08:22:01.000000000 +0000 @@ -100,7 +100,7 @@ * to expire with browser session. Time is in seconds, and is * not a Unix timestamp. */ - public function stampNew(int $lifetime = null) + public function stampNew(?int $lifetime = null) { $this->stampCreated($lifetime); } @@ -158,7 +158,7 @@ $this->name = $name; } - private function stampCreated(int $lifetime = null): void + private function stampCreated(?int $lifetime = null): void { $timeStamp = time(); $this->meta[self::CREATED] = $this->meta[self::UPDATED] = $this->lastUsed = $timeStamp; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php 2026-05-20 08:22:01.000000000 +0000 @@ -62,7 +62,7 @@ */ protected $bags = []; - public function __construct(string $name = 'MOCKSESSID', MetadataBag $metaBag = null) + public function __construct(string $name = 'MOCKSESSID', ?MetadataBag $metaBag = null) { $this->name = $name; $this->setMetadataBag($metaBag); @@ -94,7 +94,7 @@ /** * {@inheritdoc} */ - public function regenerate(bool $destroy = false, int $lifetime = null) + public function regenerate(bool $destroy = false, ?int $lifetime = null) { if (!$this->started) { $this->start(); @@ -204,7 +204,7 @@ return $this->started; } - public function setMetadataBag(MetadataBag $bag = null) + public function setMetadataBag(?MetadataBag $bag = null) { if (null === $bag) { $bag = new MetadataBag(); @@ -226,14 +226,11 @@ /** * Generates a session ID. * - * This doesn't need to be particularly cryptographically secure since this is just - * a mock. - * * @return string */ protected function generateId() { - return hash('sha256', uniqid('ss_mock_', true)); + return bin2hex(random_bytes(16)); } protected function loadSession() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ /** * @param string|null $savePath Path of directory to save session files */ - public function __construct(string $savePath = null, string $name = 'MOCKSESSID', MetadataBag $metaBag = null) + public function __construct(?string $savePath = null, string $name = 'MOCKSESSID', ?MetadataBag $metaBag = null) { if (null === $savePath) { $savePath = sys_get_temp_dir(); @@ -68,7 +68,7 @@ /** * {@inheritdoc} */ - public function regenerate(bool $destroy = false, int $lifetime = null) + public function regenerate(bool $destroy = false, ?int $lifetime = null) { if (!$this->started) { $this->start(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorageFactory.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorageFactory.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorageFactory.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorageFactory.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ /** * @see MockFileSessionStorage constructor. */ - public function __construct(string $savePath = null, string $name = 'MOCKSESSID', MetadataBag $metaBag = null) + public function __construct(?string $savePath = null, string $name = 'MOCKSESSID', ?MetadataBag $metaBag = null) { $this->savePath = $savePath; $this->name = $name; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php 2026-05-20 08:22:01.000000000 +0000 @@ -97,7 +97,7 @@ * * @param AbstractProxy|\SessionHandlerInterface|null $handler */ - public function __construct(array $options = [], $handler = null, MetadataBag $metaBag = null) + public function __construct(array $options = [], $handler = null, ?MetadataBag $metaBag = null) { if (!\extension_loaded('session')) { throw new \LogicException('PHP extension "session" is required.'); @@ -233,7 +233,7 @@ /** * {@inheritdoc} */ - public function regenerate(bool $destroy = false, int $lifetime = null) + public function regenerate(bool $destroy = false, ?int $lifetime = null) { // Cannot regenerate the session ID for non-active sessions. if (\PHP_SESSION_ACTIVE !== session_status()) { @@ -355,7 +355,7 @@ return $this->bags[$name]; } - public function setMetadataBag(MetadataBag $metaBag = null) + public function setMetadataBag(?MetadataBag $metaBag = null) { if (null === $metaBag) { $metaBag = new MetadataBag(); @@ -487,7 +487,7 @@ * PHP takes the return value from the read() handler, unserializes it * and populates $_SESSION with the result automatically. */ - protected function loadSession(array &$session = null) + protected function loadSession(?array &$session = null) { if (null === $session) { $session = &$_SESSION; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorageFactory.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorageFactory.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorageFactory.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorageFactory.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ /** * @see NativeSessionStorage constructor. */ - public function __construct(array $options = [], $handler = null, MetadataBag $metaBag = null, bool $secure = false) + public function __construct(array $options = [], $handler = null, ?MetadataBag $metaBag = null, bool $secure = false) { $this->options = $options; $this->handler = $handler; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorage.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorage.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorage.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorage.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ /** * @param AbstractProxy|\SessionHandlerInterface|null $handler */ - public function __construct($handler = null, MetadataBag $metaBag = null) + public function __construct($handler = null, ?MetadataBag $metaBag = null) { if (!\extension_loaded('session')) { throw new \LogicException('PHP extension "session" is required.'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorageFactory.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorageFactory.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorageFactory.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorageFactory.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ /** * @see PhpBridgeSessionStorage constructor. */ - public function __construct($handler = null, MetadataBag $metaBag = null, bool $secure = false) + public function __construct($handler = null, ?MetadataBag $metaBag = null, bool $secure = false) { $this->handler = $handler; $this->metaBag = $metaBag; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -90,7 +90,7 @@ * * @throws \RuntimeException If an error occurs while regenerating this storage */ - public function regenerate(bool $destroy = false, int $lifetime = null); + public function regenerate(bool $destroy = false, ?int $lifetime = null); /** * Force the session to be saved and closed. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/StreamedResponse.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/StreamedResponse.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/StreamedResponse.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/StreamedResponse.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ protected $streamed; private $headersSent; - public function __construct(callable $callback = null, int $status = 200, array $headers = []) + public function __construct(?callable $callback = null, int $status = 200, array $headers = []) { parent::__construct(null, $status, $headers); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Test/Constraint/ResponseCookieValueSame.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Test/Constraint/ResponseCookieValueSame.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Test/Constraint/ResponseCookieValueSame.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Test/Constraint/ResponseCookieValueSame.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,7 +22,7 @@ private $path; private $domain; - public function __construct(string $name, string $value, string $path = '/', string $domain = null) + public function __construct(string $name, string $value, string $path = '/', ?string $domain = null) { $this->name = $name; $this->value = $value; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Test/Constraint/ResponseHasCookie.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Test/Constraint/ResponseHasCookie.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Test/Constraint/ResponseHasCookie.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Test/Constraint/ResponseHasCookie.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ private $path; private $domain; - public function __construct(string $name, string $path = '/', string $domain = null) + public function __construct(string $name, string $path = '/', ?string $domain = null) { $this->name = $name; $this->path = $path; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -41,6 +41,8 @@ { return [ ['', []], + [';;;', []], + ['0', [new AcceptHeaderItem('0')]], ['gzip', [new AcceptHeaderItem('gzip')]], ['gzip,deflate,sdch', [new AcceptHeaderItem('gzip'), new AcceptHeaderItem('deflate'), new AcceptHeaderItem('sdch')]], ["gzip, deflate\t,sdch", [new AcceptHeaderItem('gzip'), new AcceptHeaderItem('deflate'), new AcceptHeaderItem('sdch')]], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -368,7 +368,7 @@ $this->assertEquals('none', $response->headers->get('Accept-Ranges')); } - public function testAcceptRangeNotOverriden() + public function testAcceptRangeNotOverridden() { $request = Request::create('/', 'POST'); $response = new BinaryFileResponse(__DIR__.'/File/Fixtures/test.gif', 200, ['Content-Type' => 'application/octet-stream']); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/CookieTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/CookieTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/CookieTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/CookieTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -324,6 +324,9 @@ $cookie = Cookie::fromString('foo=bar', true); $this->assertEquals(Cookie::create('foo', 'bar', 0, '/', null, false, false, false, null), $cookie); + $cookie = Cookie::fromString('foo=bar=', true); + $this->assertEquals(Cookie::create('foo', 'bar=', 0, '/', null, false, false, false, null), $cookie); + $cookie = Cookie::fromString('foo', true); $this->assertEquals(Cookie::create('foo', null, 0, '/', null, false, false, false, null), $cookie); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/HeaderUtilsTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/HeaderUtilsTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/HeaderUtilsTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/HeaderUtilsTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,7 +34,7 @@ [['foo', '123, bar'], 'foo=123, bar', '='], [['foo', '123, bar'], ' foo = 123, bar ', '='], [[['foo', '123'], ['bar']], 'foo=123, bar', ',='], - [[[['foo', '123']], [['bar'], ['foo', '456']]], 'foo=123, bar; foo=456', ',;='], + [[[['foo', '123']], [['bar'], ['foo', '456']]], 'foo=123, bar;; foo=456', ',;='], [[[['foo', 'a,b;c=d']]], 'foo="a,b;c=d"', ',;='], [['foo', 'bar'], 'foo,,,, bar', ','], @@ -46,13 +46,15 @@ [[['foo_cookie', 'foo=1&bar=2&baz=3'], ['expires', 'Tue, 22-Sep-2020 06:27:09 GMT'], ['path', '/']], 'foo_cookie=foo=1&bar=2&baz=3; expires=Tue, 22-Sep-2020 06:27:09 GMT; path=/', ';='], [[['foo_cookie', 'foo=='], ['expires', 'Tue, 22-Sep-2020 06:27:09 GMT'], ['path', '/']], 'foo_cookie=foo==; expires=Tue, 22-Sep-2020 06:27:09 GMT; path=/', ';='], + [[['foo_cookie', 'foo='], ['expires', 'Tue, 22-Sep-2020 06:27:09 GMT'], ['path', '/']], 'foo_cookie=foo=; expires=Tue, 22-Sep-2020 06:27:09 GMT; path=/', ';='], [[['foo_cookie', 'foo=a=b'], ['expires', 'Tue, 22-Sep-2020 06:27:09 GMT'], ['path', '/']], 'foo_cookie=foo="a=b"; expires=Tue, 22-Sep-2020 06:27:09 GMT; path=/', ';='], // These are not a valid header values. We test that they parse anyway, // and that both the valid and invalid parts are returned. [[], '', ','], [[], ',,,', ','], - [['foo', 'bar', 'baz'], 'foo, "bar", "baz', ','], + [[['', 'foo'], ['bar', '']], '=foo,bar=', ',='], + [['foo', 'foobar', 'baz'], 'foo, foo"bar", "baz', ','], [['foo', 'bar, baz'], 'foo, "bar, baz', ','], [['foo', 'bar, baz\\'], 'foo, "bar, baz\\', ','], [['foo', 'bar, baz\\'], 'foo, "bar, baz\\\\', ','], @@ -147,7 +149,7 @@ /** * @dataProvider provideParseQuery */ - public function testParseQuery(string $query, string $expected = null) + public function testParseQuery(string $query, ?string $expected = null) { $this->assertSame($expected ?? $query, http_build_query(HeaderUtils::parseQuery($query), '', '&')); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/InputBagTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/InputBagTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/InputBagTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/InputBagTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -98,4 +98,22 @@ $this->expectDeprecation('Since symfony/http-foundation 5.1: Filtering an array value with "Symfony\Component\HttpFoundation\InputBag::filter()" without passing the FILTER_REQUIRE_ARRAY or FILTER_FORCE_ARRAY flag is deprecated'); $bag->filter('foo', \FILTER_VALIDATE_INT); } + + public function testAdd() + { + $bag = new InputBag(['foo' => 'bar']); + $bag->add(['baz' => 'qux']); + + $this->assertSame('bar', $bag->get('foo'), '->add() does not remove existing parameters'); + $this->assertSame('qux', $bag->get('baz'), '->add() adds new parameters'); + } + + public function testReplace() + { + $bag = new InputBag(['foo' => 'bar']); + $bag->replace(['baz' => 'qux']); + + $this->assertNull($bag->get('foo'), '->replace() removes existing parameters'); + $this->assertSame('qux', $bag->get('baz'), '->replace() adds new parameters'); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -294,6 +294,14 @@ new JsonResponse(new \stdClass(), 200, [], true); } + + public function testSetDataWithNull() + { + $response = new JsonResponse(); + $response->setData(null); + + $this->assertSame('null', $response->getContent()); + } } class JsonSerializableObject implements \JsonSerializable diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/RateLimiter/AbstractRequestRateLimiterTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/RateLimiter/AbstractRequestRateLimiterTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/RateLimiter/AbstractRequestRateLimiterTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/RateLimiter/AbstractRequestRateLimiterTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -14,6 +14,7 @@ use PHPUnit\Framework\TestCase; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\RateLimiter\LimiterInterface; +use Symfony\Component\RateLimiter\Policy\NoLimiter; use Symfony\Component\RateLimiter\RateLimit; class AbstractRequestRateLimiterTest extends TestCase @@ -33,6 +34,34 @@ $this->assertSame($expected, $rateLimiter->consume(new Request())); } + public function testConsumeWithoutLimiterAddsSpecialNoLimiter() + { + $rateLimiter = new MockAbstractRequestRateLimiter([]); + + try { + $this->assertSame(\PHP_INT_MAX, $rateLimiter->consume(new Request())->getLimit()); + } catch (\TypeError $error) { + if (str_contains($error->getMessage(), 'RateLimit::__construct(): Argument #1 ($availableTokens) must be of type int, float given')) { + $this->markTestSkipped('This test cannot be run on a version of the RateLimiter component that uses \INF instead of \PHP_INT_MAX in NoLimiter.'); + } + + throw $error; + } + } + + public function testResetLimiters() + { + $rateLimiter = new MockAbstractRequestRateLimiter([ + $limiter1 = $this->createMock(LimiterInterface::class), + $limiter2 = $this->createMock(LimiterInterface::class), + ]); + + $limiter1->expects($this->once())->method('reset'); + $limiter2->expects($this->once())->method('reset'); + + $rateLimiter->reset(new Request()); + } + public static function provideRateLimits() { $now = new \DateTimeImmutable(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -44,6 +44,13 @@ $this->assertEquals('foo.bar', $response->headers->get('Location')); } + public function testGenerateContentTypeHeader() + { + $response = new RedirectResponse('foo.bar'); + + $this->assertSame('text/html; charset=utf-8', $response->headers->get('Content-Type')); + } + public function testGetTargetUrl() { $response = new RedirectResponse('foo.bar'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,6 +13,7 @@ use PHPUnit\Framework\TestCase; use Symfony\Bridge\PhpUnit\ExpectDeprecationTrait; +use Symfony\Component\HttpFoundation\Exception\BadRequestException; use Symfony\Component\HttpFoundation\Exception\ConflictingHeadersException; use Symfony\Component\HttpFoundation\Exception\JsonException; use Symfony\Component\HttpFoundation\Exception\SuspiciousOperationException; @@ -244,6 +245,9 @@ // Fragment should not be included in the URI $request = Request::create('http://test.com/foo#bar'); $this->assertEquals('http://test.com/foo', $request->getUri()); + + $request = Request::create('/foo:123'); + $this->assertEquals('http://localhost/foo:123', $request->getUri()); } public function testCreateWithRequestUri() @@ -286,9 +290,34 @@ $this->assertTrue($request->isSecure()); // Fragment should not be included in the URI - $request = Request::create('http://test.com/foo#bar'); - $request->server->set('REQUEST_URI', 'http://test.com/foo#bar'); + $request = Request::create('http://test.com/foo#bar\\baz'); + $request->server->set('REQUEST_URI', 'http://test.com/foo#bar\\baz'); $this->assertEquals('http://test.com/foo', $request->getUri()); + + $request = Request::create('http://test.com/foo?bar=f\\o'); + $this->assertEquals('http://test.com/foo?bar=f%5Co', $request->getUri()); + $this->assertEquals('/foo', $request->getPathInfo()); + $this->assertEquals('bar=f%5Co', $request->getQueryString()); + } + + /** + * @testWith ["http://foo.com\\bar"] + * ["\\\\foo.com/bar"] + * ["a\rb"] + * ["a\nb"] + * ["a\tb"] + * ["\u0000foo"] + * ["foo\u0000"] + * [" foo"] + * ["foo "] + * ["//"] + */ + public function testCreateWithBadRequestUri(string $uri) + { + $this->expectException(BadRequestException::class); + $this->expectExceptionMessage('Invalid URI'); + + Request::create($uri); } /** @@ -1847,6 +1876,72 @@ '', '/foo/api/bar', ], + [ + '/api/index.phpfoo', + [ + 'SCRIPT_FILENAME' => '/var/www/api/index.php', + 'SCRIPT_NAME' => '/api/index.php', + 'PHP_SELF' => '/api/index.php', + ], + '/api/index.php', + '/foo', + ], + ]; + } + + /** + * @dataProvider baseUriDetectionOnIisWithRewriteData + */ + public function testBaseUriDetectionOnIisWithRewrite(array $server, string $expectedBaseUrl, string $expectedPathInfo) + { + $request = new Request([], [], [], [], [], $server); + + self::assertSame($expectedBaseUrl, $request->getBaseUrl()); + self::assertSame($expectedPathInfo, $request->getPathInfo()); + } + + public static function baseUriDetectionOnIisWithRewriteData(): \Generator + { + yield 'No rewrite' => [ + [ + 'PATH_INFO' => '/foo/bar', + 'PHP_SELF' => '/routingtest/index.php/foo/bar', + 'REQUEST_URI' => '/routingtest/index.php/foo/bar', + 'SCRIPT_FILENAME' => 'C:/Users/derrabus/Projects/routing-test/public/index.php', + 'SCRIPT_NAME' => '/routingtest/index.php', + ], + '/routingtest/index.php', + '/foo/bar', + ]; + + yield 'Rewrite with correct case' => [ + [ + 'IIS_WasUrlRewritten' => '1', + 'PATH_INFO' => '/foo/bar', + 'PHP_SELF' => '/routingtest/index.php/foo/bar', + 'REQUEST_URI' => '/routingtest/foo/bar', + 'SCRIPT_FILENAME' => 'C:/Users/derrabus/Projects/routing-test/public/index.php', + 'SCRIPT_NAME' => '/routingtest/index.php', + 'UNENCODED_URL' => '/routingtest/foo/bar', + ], + '/routingtest', + '/foo/bar', + ]; + + // ISS with UrlRewriteModule might report SCRIPT_NAME/PHP_SELF with wrong case + // see https://github.com/php/php-src/issues/11981 + yield 'Rewrite with case mismatch' => [ + [ + 'IIS_WasUrlRewritten' => '1', + 'PATH_INFO' => '/foo/bar', + 'PHP_SELF' => '/routingtest/index.php/foo/bar', + 'REQUEST_URI' => '/RoutingTest/foo/bar', + 'SCRIPT_FILENAME' => 'C:/Users/derrabus/Projects/routing-test/public/index.php', + 'SCRIPT_NAME' => '/routingtest/index.php', + 'UNENCODED_URL' => '/RoutingTest/foo/bar', + ], + '/RoutingTest', + '/foo/bar', ]; } @@ -1882,7 +1977,7 @@ $class = new \ReflectionClass(Request::class); $property = $class->getProperty('httpMethodParameterOverride'); $property->setAccessible(true); - $property->setValue(false); + $property->setValue(null, false); } private function getRequestInstanceForClientIpTests(string $remoteAddr, ?string $httpForwardedFor, ?array $trustedProxies): Request diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/ResponseTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/ResponseTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/ResponseTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/ResponseTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -511,6 +511,16 @@ $this->assertEquals('text/css; charset=UTF-8', $response->headers->get('Content-Type')); } + public function testContentTypeIsNull() + { + $response = new Response('foo'); + $response->headers->set('Content-Type', null); + + $response->prepare(new Request()); + + $this->expectNotToPerformAssertions(); + } + public function testPrepareDoesNothingIfContentTypeIsSet() { $response = new Response('foo'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -177,4 +177,20 @@ 'PHP_AUTH_PW' => '', ], $bag->getHeaders()); } + + /** + * An HTTP request without content-type and content-length will result in + * the variables $_SERVER['CONTENT_TYPE'] and $_SERVER['CONTENT_LENGTH'] + * containing an empty string in PHP. + */ + public function testRequestWithoutContentTypeAndContentLength() + { + $bag = new ServerBag([ + 'CONTENT_TYPE' => '', + 'CONTENT_LENGTH' => '', + 'HTTP_USER_AGENT' => 'foo', + ]); + + $this->assertSame(['USER_AGENT' => 'foo'], $bag->getHeaders()); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractRedisSessionHandlerTestCase.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractRedisSessionHandlerTestCase.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractRedisSessionHandlerTestCase.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractRedisSessionHandlerTestCase.php 2026-05-20 08:22:01.000000000 +0000 @@ -106,6 +106,7 @@ public function testDestroySession() { + $this->storage->open('', 'test'); $this->redisClient->set(self::PREFIX.'id', 'foo'); $this->assertTrue((bool) $this->redisClient->exists(self::PREFIX.'id')); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -119,6 +119,7 @@ public function testDestroySession() { + $this->storage->open('', 'sid'); $this->memcached ->expects($this->once()) ->method('delete') diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MigratingSessionHandlerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MigratingSessionHandlerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MigratingSessionHandlerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MigratingSessionHandlerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -51,6 +51,8 @@ public function testDestroy() { + $this->dualHandler->open('/path/to/save/location', 'xyz'); + $sessionId = 'xyz'; $this->currentHandler->expects($this->once()) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,6 +13,7 @@ use MongoDB\Client; use PHPUnit\Framework\MockObject\MockObject; +use PHPUnit\Framework\SkippedTestSuiteError; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpFoundation\Session\Storage\Handler\MongoDbSessionHandler; @@ -32,13 +33,16 @@ private $storage; public $options; - protected function setUp(): void + public static function setUpBeforeClass(): void { - parent::setUp(); - if (!class_exists(Client::class)) { - $this->markTestSkipped('The mongodb/mongodb package is required.'); + throw new SkippedTestSuiteError('The mongodb/mongodb package is required.'); } + } + + protected function setUp(): void + { + parent::setUp(); $this->mongo = $this->getMockBuilder(Client::class) ->disableOriginalConstructor() @@ -129,6 +133,8 @@ $this->assertInstanceOf(\MongoDB\BSON\UTCDateTime::class, $data[$this->options['time_field']]); $this->assertInstanceOf(\MongoDB\BSON\UTCDateTime::class, $data[$this->options['expiry_field']]); $this->assertGreaterThanOrEqual($expectedExpiry, round((string) $data[$this->options['expiry_field']] / 1000)); + + return $this->createMock(\MongoDB\UpdateResult::class); }); $this->assertTrue($this->storage->write('foo', 'bar')); @@ -149,6 +155,8 @@ ->method('updateOne') ->willReturnCallback(function ($criteria, $updateData, $options) use (&$data) { $data = $updateData; + + return $this->createMock(\MongoDB\UpdateResult::class); }); $this->storage->write('foo', 'bar'); @@ -170,6 +178,8 @@ ->method('deleteOne') ->with([$this->options['id_field'] => 'foo']); + $this->storage->open('test', 'test'); + $this->assertTrue($this->storage->destroy('foo')); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -225,6 +225,7 @@ { // wrong method sequence that should no happen, but still works $storage = new PdoSessionHandler($this->getMemorySqlitePdo()); + $storage->open('', 'sid'); $storage->write('id', 'data'); $storage->write('other_id', 'other_data'); $storage->destroy('inexistent'); @@ -368,7 +369,7 @@ private $driverName; private $errorMode; - public function __construct(string $driverName = null, int $errorMode = null) + public function __construct(?string $driverName = null, ?int $errorMode = null) { $this->driverName = $driverName; $this->errorMode = null !== $errorMode ?: \PDO::ERRMODE_EXCEPTION; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PredisClusterSessionHandlerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PredisClusterSessionHandlerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PredisClusterSessionHandlerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PredisClusterSessionHandlerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,6 +23,9 @@ */ protected function createRedisClient(string $host): object { - return new Client([array_combine(['host', 'port'], explode(':', getenv('REDIS_HOST')) + [1 => 6379])]); + return new Client( + [array_combine(['host', 'port'], explode(':', getenv('REDIS_HOST')) + [1 => 6379])], + ['cluster' => 'redis'] + ); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/StrictSessionHandlerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/StrictSessionHandlerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/StrictSessionHandlerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/StrictSessionHandlerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -130,6 +130,7 @@ $handler->expects($this->never())->method('write'); $handler->expects($this->once())->method('destroy')->willReturn(true); $proxy = new StrictSessionHandler($handler); + $proxy->open('path', 'name'); $this->assertFalse($proxy->validateId('id')); $this->assertSame('', $proxy->read('id')); @@ -144,6 +145,7 @@ $handler->expects($this->never())->method('write'); $handler->expects($this->once())->method('destroy')->willReturn(true); $proxy = new StrictSessionHandler($handler); + $proxy->open('path', 'name'); $this->assertSame('data', $proxy->read('id')); $this->assertTrue($proxy->write('id', '')); @@ -155,6 +157,7 @@ $handler->expects($this->once())->method('destroy') ->with('id')->willReturn(true); $proxy = new StrictSessionHandler($handler); + $proxy->open('path', 'name'); $this->assertTrue($proxy->destroy('id')); } @@ -166,6 +169,7 @@ ->with('id')->willReturn(''); $handler->expects($this->once())->method('destroy')->willReturn(true); $proxy = new StrictSessionHandler($handler); + $proxy->open('path', 'name'); $this->assertSame('', $proxy->read('id')); $this->assertTrue($proxy->destroy('id')); @@ -181,6 +185,7 @@ $handler->expects($this->once())->method('destroy') ->with('id')->willReturn(true); $proxy = new StrictSessionHandler($handler); + $proxy->open('path', 'name'); $this->assertSame('', $proxy->read('id')); $this->assertTrue($proxy->write('id', 'data')); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,10 +34,14 @@ { private $savePath; + private $initialSessionSaveHandler; + private $initialSessionSavePath; + protected function setUp(): void { - $this->iniSet('session.save_handler', 'files'); - $this->iniSet('session.save_path', $this->savePath = sys_get_temp_dir().'/sftest'); + $this->initialSessionSaveHandler = ini_set('session.save_handler', 'files'); + $this->initialSessionSavePath = ini_set('session.save_path', $this->savePath = sys_get_temp_dir().'/sftest'); + if (!is_dir($this->savePath)) { mkdir($this->savePath); } @@ -52,6 +56,8 @@ } $this->savePath = null; + ini_set('session.save_handler', $this->initialSessionSaveHandler); + ini_set('session.save_path', $this->initialSessionSavePath); } protected function getStorage(array $options = []): NativeSessionStorage @@ -154,18 +160,26 @@ public function testDefaultSessionCacheLimiter() { - $this->iniSet('session.cache_limiter', 'nocache'); + $initialLimiter = ini_set('session.cache_limiter', 'nocache'); - new NativeSessionStorage(); - $this->assertEquals('', \ini_get('session.cache_limiter')); + try { + new NativeSessionStorage(); + $this->assertEquals('', \ini_get('session.cache_limiter')); + } finally { + ini_set('session.cache_limiter', $initialLimiter); + } } public function testExplicitSessionCacheLimiter() { - $this->iniSet('session.cache_limiter', 'nocache'); + $initialLimiter = ini_set('session.cache_limiter', 'nocache'); - new NativeSessionStorage(['cache_limiter' => 'public']); - $this->assertEquals('public', \ini_get('session.cache_limiter')); + try { + new NativeSessionStorage(['cache_limiter' => 'public']); + $this->assertEquals('public', \ini_get('session.cache_limiter')); + } finally { + ini_set('session.cache_limiter', $initialLimiter); + } } public function testCookieOptions() @@ -193,35 +207,60 @@ $this->assertEquals($options, $gco); } - public function testSessionOptions() + public function testCacheExpireOption() { $options = [ - 'trans_sid_tags' => 'a=href', 'cache_expire' => '200', ]; $this->getStorage($options); - $this->assertSame('a=href', \ini_get('session.trans_sid_tags')); $this->assertSame('200', \ini_get('session.cache_expire')); } + /** + * The test must only be removed when the "session.trans_sid_tags" option is removed from PHP or when the "trans_sid_tags" option is no longer supported by the native session storage. + */ + public function testTransSidTagsOption() + { + $previousErrorHandler = set_error_handler(function ($errno, $errstr) use (&$previousErrorHandler) { + if ('ini_set(): Usage of session.trans_sid_tags INI setting is deprecated' !== $errstr) { + return $previousErrorHandler ? $previousErrorHandler(...\func_get_args()) : false; + } + }); + + try { + $this->getStorage([ + 'trans_sid_tags' => 'a=href', + ]); + } finally { + restore_error_handler(); + } + + $this->assertSame('a=href', \ini_get('session.trans_sid_tags')); + } + public function testSetSaveHandler() { - $this->iniSet('session.save_handler', 'files'); - $storage = $this->getStorage(); - $storage->setSaveHandler(); - $this->assertInstanceOf(SessionHandlerProxy::class, $storage->getSaveHandler()); - $storage->setSaveHandler(null); - $this->assertInstanceOf(SessionHandlerProxy::class, $storage->getSaveHandler()); - $storage->setSaveHandler(new SessionHandlerProxy(new NativeFileSessionHandler())); - $this->assertInstanceOf(SessionHandlerProxy::class, $storage->getSaveHandler()); - $storage->setSaveHandler(new NativeFileSessionHandler()); - $this->assertInstanceOf(SessionHandlerProxy::class, $storage->getSaveHandler()); - $storage->setSaveHandler(new SessionHandlerProxy(new NullSessionHandler())); - $this->assertInstanceOf(SessionHandlerProxy::class, $storage->getSaveHandler()); - $storage->setSaveHandler(new NullSessionHandler()); - $this->assertInstanceOf(SessionHandlerProxy::class, $storage->getSaveHandler()); + $initialSaveHandler = ini_set('session.save_handler', 'files'); + + try { + $storage = $this->getStorage(); + $storage->setSaveHandler(); + $this->assertInstanceOf(SessionHandlerProxy::class, $storage->getSaveHandler()); + $storage->setSaveHandler(null); + $this->assertInstanceOf(SessionHandlerProxy::class, $storage->getSaveHandler()); + $storage->setSaveHandler(new SessionHandlerProxy(new NativeFileSessionHandler())); + $this->assertInstanceOf(SessionHandlerProxy::class, $storage->getSaveHandler()); + $storage->setSaveHandler(new NativeFileSessionHandler()); + $this->assertInstanceOf(SessionHandlerProxy::class, $storage->getSaveHandler()); + $storage->setSaveHandler(new SessionHandlerProxy(new NullSessionHandler())); + $this->assertInstanceOf(SessionHandlerProxy::class, $storage->getSaveHandler()); + $storage->setSaveHandler(new NullSessionHandler()); + $this->assertInstanceOf(SessionHandlerProxy::class, $storage->getSaveHandler()); + } finally { + ini_set('session.save_handler', $initialSaveHandler); + } } public function testStarted() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,10 +30,14 @@ { private $savePath; + private $initialSessionSaveHandler; + private $initialSessionSavePath; + protected function setUp(): void { - $this->iniSet('session.save_handler', 'files'); - $this->iniSet('session.save_path', $this->savePath = sys_get_temp_dir().'/sftest'); + $this->initialSessionSaveHandler = ini_set('session.save_handler', 'files'); + $this->initialSessionSavePath = ini_set('session.save_path', $this->savePath = sys_get_temp_dir().'/sftest'); + if (!is_dir($this->savePath)) { mkdir($this->savePath); } @@ -48,6 +52,8 @@ } $this->savePath = null; + ini_set('session.save_handler', $this->initialSessionSaveHandler); + ini_set('session.save_path', $this->initialSessionSavePath); } protected function getStorage(): PhpBridgeSessionStorage diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ protected function setUp(): void { - $this->proxy = $this->getMockForAbstractClass(AbstractProxy::class); + $this->proxy = new class() extends AbstractProxy {}; } protected function tearDown(): void diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/UrlHelperTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/UrlHelperTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/Tests/UrlHelperTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/Tests/UrlHelperTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,6 +16,7 @@ use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\UrlHelper; use Symfony\Component\Routing\RequestContext; +use Symfony\Component\Routing\RequestContextAwareInterface; class UrlHelperTest extends TestCase { @@ -64,10 +65,45 @@ } $requestContext = new RequestContext($baseUrl, 'GET', $host, $scheme, $httpPort, $httpsPort, $path); + $helper = new UrlHelper(new RequestStack(), $requestContext); $this->assertEquals($expected, $helper->getAbsoluteUrl($path)); } + + /** + * @dataProvider getGenerateAbsoluteUrlRequestContextData + */ + public function testGenerateAbsoluteUrlWithRequestContextAwareInterface($path, $baseUrl, $host, $scheme, $httpPort, $httpsPort, $expected) + { + if (!class_exists(RequestContext::class)) { + $this->markTestSkipped('The Routing component is needed to run tests that depend on its request context.'); + } + + $requestContext = new RequestContext($baseUrl, 'GET', $host, $scheme, $httpPort, $httpsPort, $path); + $contextAware = new class($requestContext) implements RequestContextAwareInterface { + private $requestContext; + + public function __construct($requestContext) + { + $this->requestContext = $requestContext; + } + + public function setContext(RequestContext $context) + { + $this->requestContext = $context; + } + + public function getContext() + { + return $this->requestContext; + } + }; + + $helper = new UrlHelper(new RequestStack(), $contextAware); + + $this->assertEquals($expected, $helper->getAbsoluteUrl($path)); + } /** * @dataProvider getGenerateAbsoluteUrlRequestContextData diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/UrlHelper.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/UrlHelper.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/UrlHelper.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/UrlHelper.php 2026-05-20 08:22:01.000000000 +0000 @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation; use Symfony\Component\Routing\RequestContext; +use Symfony\Component\Routing\RequestContextAwareInterface; /** * A helper service for manipulating URLs within and outside the request scope. @@ -23,8 +24,15 @@ private $requestStack; private $requestContext; - public function __construct(RequestStack $requestStack, RequestContext $requestContext = null) + /** + * @param RequestContextAwareInterface|RequestContext|null $requestContext + */ + public function __construct(RequestStack $requestStack, $requestContext = null) { + if (null !== $requestContext && !$requestContext instanceof RequestContext && !$requestContext instanceof RequestContextAwareInterface) { + throw new \TypeError(__METHOD__.': Argument #2 ($requestContext) must of type Symfony\Component\Routing\RequestContextAwareInterface|Symfony\Component\Routing\RequestContext|null, '.get_debug_type($requestContext).' given.'); + } + $this->requestStack = $requestStack; $this->requestContext = $requestContext; } @@ -73,28 +81,36 @@ private function getAbsoluteUrlFromContext(string $path): string { - if (null === $this->requestContext || '' === $host = $this->requestContext->getHost()) { + if (null === $context = $this->requestContext) { + return $path; + } + + if ($context instanceof RequestContextAwareInterface) { + $context = $context->getContext(); + } + + if ('' === $host = $context->getHost()) { return $path; } - $scheme = $this->requestContext->getScheme(); + $scheme = $context->getScheme(); $port = ''; - if ('http' === $scheme && 80 !== $this->requestContext->getHttpPort()) { - $port = ':'.$this->requestContext->getHttpPort(); - } elseif ('https' === $scheme && 443 !== $this->requestContext->getHttpsPort()) { - $port = ':'.$this->requestContext->getHttpsPort(); + if ('http' === $scheme && 80 !== $context->getHttpPort()) { + $port = ':'.$context->getHttpPort(); + } elseif ('https' === $scheme && 443 !== $context->getHttpsPort()) { + $port = ':'.$context->getHttpsPort(); } if ('#' === $path[0]) { - $queryString = $this->requestContext->getQueryString(); - $path = $this->requestContext->getPathInfo().($queryString ? '?'.$queryString : '').$path; + $queryString = $context->getQueryString(); + $path = $context->getPathInfo().($queryString ? '?'.$queryString : '').$path; } elseif ('?' === $path[0]) { - $path = $this->requestContext->getPathInfo().$path; + $path = $context->getPathInfo().$path; } if ('/' !== $path[0]) { - $path = rtrim($this->requestContext->getBaseUrl(), '/').'/'.$path; + $path = rtrim($context->getBaseUrl(), '/').'/'.$path; } return $scheme.'://'.$host.$port.$path; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/composer.json symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/composer.json --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpFoundation/composer.json 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpFoundation/composer.json 2026-05-20 08:22:01.000000000 +0000 @@ -22,7 +22,7 @@ "symfony/polyfill-php80": "^1.16" }, "require-dev": { - "predis/predis": "~1.0", + "predis/predis": "^1.0|^2.0", "symfony/cache": "^4.4|^5.0|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerAggregate.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerAggregate.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerAggregate.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerAggregate.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ /** * @param iterable $warmers */ - public function __construct(iterable $warmers = [], bool $debug = false, string $deprecationLogsFilepath = null) + public function __construct(iterable $warmers = [], bool $debug = false, ?string $deprecationLogsFilepath = null) { $this->warmers = $warmers; $this->debug = $debug; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Config/FileLocator.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Config/FileLocator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Config/FileLocator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Config/FileLocator.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ /** * {@inheritdoc} */ - public function locate(string $file, string $currentPath = null, bool $first = true) + public function locate(string $file, ?string $currentPath = null, bool $first = true) { if (isset($file[0]) && '@' === $file[0]) { $resource = $this->kernel->locateResource($file); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ /** * @param iterable $argumentValueResolvers */ - public function __construct(ArgumentMetadataFactoryInterface $argumentMetadataFactory = null, iterable $argumentValueResolvers = []) + public function __construct(?ArgumentMetadataFactoryInterface $argumentMetadataFactory = null, iterable $argumentValueResolvers = []) { $this->argumentMetadataFactory = $argumentMetadataFactory ?? new ArgumentMetadataFactory(); $this->argumentValueResolvers = $argumentValueResolvers ?: self::getDefaultArgumentValueResolvers(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Controller/ContainerControllerResolver.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Controller/ContainerControllerResolver.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Controller/ContainerControllerResolver.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Controller/ContainerControllerResolver.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ { protected $container; - public function __construct(ContainerInterface $container, LoggerInterface $logger = null) + public function __construct(ContainerInterface $container, ?LoggerInterface $logger = null) { $this->container = $container; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ { private $logger; - public function __construct(LoggerInterface $logger = null) + public function __construct(?LoggerInterface $logger = null) { $this->logger = $logger; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadata.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadata.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadata.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadata.php 2026-05-20 08:22:01.000000000 +0000 @@ -137,7 +137,7 @@ /** * @return object[] */ - public function getAttributes(string $name = null, int $flags = 0): array + public function getAttributes(?string $name = null, int $flags = 0): array { if (!$name) { return $this->attributes; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadataFactory.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadataFactory.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadataFactory.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadataFactory.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ $class = $reflection->class; } else { $reflection = new \ReflectionFunction($controller); - if ($class = str_contains($reflection->name, '{closure}') ? null : (\PHP_VERSION_ID >= 80111 ? $reflection->getClosureCalledClass() : $reflection->getClosureScopeClass())) { + if ($class = str_contains($reflection->name, '{closure') ? null : (\PHP_VERSION_ID >= 80111 ? $reflection->getClosureCalledClass() : $reflection->getClosureScopeClass())) { $class = $class->name; } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/AjaxDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/AjaxDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/AjaxDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/AjaxDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ */ class AjaxDataCollector extends DataCollector { - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { // all collecting is done client side } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ /** * Sets the Kernel associated with this Request. */ - public function setKernel(KernelInterface $kernel = null) + public function setKernel(?KernelInterface $kernel = null) { $this->kernel = $kernel; } @@ -40,7 +40,7 @@ /** * {@inheritdoc} */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { $eom = \DateTime::createFromFormat('d/m/Y', '01/'.Kernel::END_OF_MAINTENANCE); $eol = \DateTime::createFromFormat('d/m/Y', '01/'.Kernel::END_OF_LIFE); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -70,9 +70,21 @@ $casters = [ '*' => function ($v, array $a, Stub $s, $isNested) { if (!$v instanceof Stub) { + $b = $a; foreach ($a as $k => $v) { - if (\is_object($v) && !$v instanceof \DateTimeInterface && !$v instanceof Stub) { - $a[$k] = new CutStub($v); + if (!\is_object($v) || $v instanceof \DateTimeInterface || $v instanceof Stub) { + continue; + } + + try { + $a[$k] = $s = new CutStub($v); + + if ($b[$k] === $s) { + // we've hit a non-typed reference + $a[$k] = $v; + } + } catch (\TypeError $e) { + // we've hit a typed reference } } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DataCollectorInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DataCollectorInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DataCollectorInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DataCollectorInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ /** * Collects data for the given Request and Response. */ - public function collect(Request $request, Response $response, \Throwable $exception = null); + public function collect(Request $request, Response $response, ?\Throwable $exception = null); /** * Returns the name of the collector. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -47,7 +47,7 @@ * @param string|FileLinkFormatter|null $fileLinkFormat * @param DataDumperInterface|Connection|null $dumper */ - public function __construct(Stopwatch $stopwatch = null, $fileLinkFormat = null, string $charset = null, RequestStack $requestStack = null, $dumper = null) + public function __construct(?Stopwatch $stopwatch = null, $fileLinkFormat = null, ?string $charset = null, ?RequestStack $requestStack = null, $dumper = null) { $fileLinkFormat = $fileLinkFormat ?: \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); $this->stopwatch = $stopwatch; @@ -101,7 +101,7 @@ } } - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { if (!$this->dataCount) { $this->data = []; @@ -116,11 +116,11 @@ if (!$this->requestStack || !$response->headers->has('X-Debug-Token') || $response->isRedirection() - || ($response->headers->has('Content-Type') && !str_contains($response->headers->get('Content-Type'), 'html')) + || ($response->headers->has('Content-Type') && !str_contains($response->headers->get('Content-Type') ?? '', 'html')) || 'html' !== $request->getRequestFormat() || false === strripos($response->getContent(), '') ) { - if ($response->headers->has('Content-Type') && str_contains($response->headers->get('Content-Type'), 'html')) { + if ($response->headers->has('Content-Type') && str_contains($response->headers->get('Content-Type') ?? '', 'html')) { $dumper = new HtmlDumper('php://output', $this->charset); $dumper->setDisplayOptions(['fileLinkFormat' => $this->fileLinkFormat]); } else { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ private $requestStack; private $currentRequest; - public function __construct(EventDispatcherInterface $dispatcher = null, RequestStack $requestStack = null) + public function __construct(?EventDispatcherInterface $dispatcher = null, ?RequestStack $requestStack = null) { $this->dispatcher = $dispatcher; $this->requestStack = $requestStack; @@ -39,7 +39,7 @@ /** * {@inheritdoc} */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { $this->currentRequest = $this->requestStack && $this->requestStack->getMainRequest() !== $request ? $request : null; $this->data = [ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/ExceptionDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/ExceptionDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/ExceptionDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/ExceptionDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,7 +25,7 @@ /** * {@inheritdoc} */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { if (null !== $exception) { $this->data = [ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ private $requestStack; private $processedLogs; - public function __construct(object $logger = null, string $containerPathPrefix = null, RequestStack $requestStack = null) + public function __construct(?object $logger = null, ?string $containerPathPrefix = null, ?RequestStack $requestStack = null) { if (null !== $logger && $logger instanceof DebugLoggerInterface) { $this->logger = $logger; @@ -43,7 +43,7 @@ /** * {@inheritdoc} */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { $this->currentRequest = $this->requestStack && $this->requestStack->getMainRequest() !== $request ? $request : null; } @@ -222,9 +222,9 @@ return $logs; } - private function getContainerCompilerLogs(string $compilerLogsFilepath = null): array + private function getContainerCompilerLogs(?string $compilerLogsFilepath = null): array { - if (!is_file($compilerLogsFilepath)) { + if (!$compilerLogsFilepath || !is_file($compilerLogsFilepath)) { return []; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ /** * {@inheritdoc} */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { $this->updateMemoryUsage(); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -38,7 +38,7 @@ private $sessionUsages = []; private $requestStack; - public function __construct(RequestStack $requestStack = null) + public function __construct(?RequestStack $requestStack = null) { $this->controllers = new \SplObjectStorage(); $this->requestStack = $requestStack; @@ -47,7 +47,7 @@ /** * {@inheritdoc} */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { // attributes are serialized and as they can be anything, they need to be converted to strings. $attributes = []; @@ -66,7 +66,7 @@ $sessionMetadata = []; $sessionAttributes = []; $flashes = []; - if ($request->hasSession()) { + if (!$request->attributes->getBoolean('_stateless') && $request->hasSession()) { $session = $request->getSession(); if ($session->isStarted()) { $sessionMetadata['Created'] = date(\DATE_RFC822, $session->getMetadataBag()->getCreated()); @@ -474,7 +474,7 @@ 'line' => $r->getStartLine(), ]; - if (str_contains($r->name, '{closure}')) { + if (str_contains($r->name, '{closure')) { return $controller; } $controller['method'] = $r->name; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/RouterDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/RouterDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/RouterDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/RouterDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,7 +36,7 @@ * * @final */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { if ($response instanceof RedirectResponse) { $this->data['redirect'] = true; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -27,7 +27,7 @@ private $kernel; private $stopwatch; - public function __construct(KernelInterface $kernel = null, Stopwatch $stopwatch = null) + public function __construct(?KernelInterface $kernel = null, ?Stopwatch $stopwatch = null) { $this->kernel = $kernel; $this->stopwatch = $stopwatch; @@ -37,7 +37,7 @@ /** * {@inheritdoc} */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { if (null !== $this->kernel) { $startTime = $this->kernel->getStartTime(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Debug/FileLinkFormatter.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Debug/FileLinkFormatter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Debug/FileLinkFormatter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Debug/FileLinkFormatter.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,7 +43,7 @@ * @param string|array|null $fileLinkFormat * @param string|\Closure $urlFormat the URL format, or a closure that returns it on-demand */ - public function __construct($fileLinkFormat = null, RequestStack $requestStack = null, string $baseDir = null, $urlFormat = null) + public function __construct($fileLinkFormat = null, ?RequestStack $requestStack = null, ?string $baseDir = null, $urlFormat = null) { if (!\is_array($fileLinkFormat) && $fileLinkFormat = (self::FORMATS[$fileLinkFormat] ?? $fileLinkFormat) ?: \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format')) { $i = strpos($f = $fileLinkFormat, '&', max(strrpos($f, '%f'), strrpos($f, '%l'))) ?: \strlen($f); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php 2026-05-20 08:22:01.000000000 +0000 @@ -70,6 +70,7 @@ foreach ($container->findTaggedServiceIds($this->controllerTag, true) as $id => $tags) { $def = $container->getDefinition($id); $def->setPublic(true); + $def->setLazy(false); $class = $def->getClass(); $autowire = $def->isAutowired(); $bindings = $def->getBindings(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Event/KernelEvent.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Event/KernelEvent.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Event/KernelEvent.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Event/KernelEvent.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ use Symfony\Contracts\EventDispatcher\Event; /** - * Base class for events thrown in the HttpKernel component. + * Base class for events dispatched in the HttpKernel component. * * @author Bernhard Schussek */ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/AbstractSessionListener.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/AbstractSessionListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/AbstractSessionListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/AbstractSessionListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,13 +36,15 @@ * * @author Johannes M. Schmitt * @author Tobias Schultze - * - * @internal */ abstract class AbstractSessionListener implements EventSubscriberInterface, ResetInterface { public const NO_AUTO_CACHE_CONTROL_HEADER = 'Symfony-Session-NoAutoCacheControl'; + + /** + * @internal + */ protected $container; private $sessionUsageStack = []; private $debug; @@ -52,13 +54,19 @@ */ private $sessionOptions; - public function __construct(ContainerInterface $container = null, bool $debug = false, array $sessionOptions = []) + /** + * @internal + */ + public function __construct(?ContainerInterface $container = null, bool $debug = false, array $sessionOptions = []) { $this->container = $container; $this->debug = $debug; $this->sessionOptions = $sessionOptions; } + /** + * @internal + */ public function onKernelRequest(RequestEvent $event) { if (!$event->isMainRequest()) { @@ -94,6 +102,9 @@ $this->sessionUsageStack[] = $session instanceof Session ? $session->getUsageIndex() : 0; } + /** + * @internal + */ public function onKernelResponse(ResponseEvent $event) { if (!$event->isMainRequest() || (!$this->container->has('initialized_session') && !$event->getRequest()->hasSession())) { @@ -222,6 +233,9 @@ } } + /** + * @internal + */ public function onFinishRequest(FinishRequestEvent $event) { if ($event->isMainRequest()) { @@ -229,6 +243,9 @@ } } + /** + * @internal + */ public function onSessionUsage(): void { if (!$this->debug) { @@ -264,6 +281,9 @@ throw new UnexpectedSessionUsageException('Session was used while the request was declared stateless.'); } + /** + * @internal + */ public static function getSubscribedEvents(): array { return [ @@ -274,6 +294,9 @@ ]; } + /** + * @internal + */ public function reset(): void { if (\PHP_SESSION_ACTIVE === session_status()) { @@ -291,6 +314,8 @@ /** * Gets the session object. * + * @internal + * * @return SessionInterface|null */ abstract protected function getSession(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -49,7 +49,7 @@ * @param bool $scream Enables/disables screaming mode, where even silenced errors are logged * @param bool $scope Enables/disables scoping mode */ - public function __construct(callable $exceptionHandler = null, LoggerInterface $logger = null, $levels = \E_ALL, ?int $throwAt = \E_ALL, bool $scream = true, $scope = true, $deprecationLogger = null, $fileLinkFormat = null) + public function __construct(?callable $exceptionHandler = null, ?LoggerInterface $logger = null, $levels = \E_ALL, ?int $throwAt = \E_ALL, bool $scream = true, $scope = true, $deprecationLogger = null, $fileLinkFormat = null) { if (!\is_bool($scope)) { trigger_deprecation('symfony/http-kernel', '5.4', 'Passing a $fileLinkFormat is deprecated.'); @@ -57,7 +57,7 @@ $deprecationLogger = $fileLinkFormat; } - $handler = set_exception_handler('is_int'); + $handler = set_exception_handler('var_dump'); $this->earlyHandler = \is_array($handler) ? $handler[0] : null; restore_exception_handler(); @@ -73,7 +73,7 @@ /** * Configures the error handler. */ - public function configure(object $event = null) + public function configure(?object $event = null) { if ($event instanceof ConsoleEvent && !\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) { return; @@ -82,8 +82,9 @@ return; } $this->firstCall = $this->hasTerminatedWithException = false; + $hasRun = null; - $handler = set_exception_handler('is_int'); + $handler = set_exception_handler('var_dump'); $handler = \is_array($handler) ? $handler[0] : null; restore_exception_handler(); @@ -144,6 +145,19 @@ if ($this->exceptionHandler) { if ($handler instanceof ErrorHandler) { $handler->setExceptionHandler($this->exceptionHandler); + if (null !== $hasRun) { + $throwAt = $handler->throwAt(0) | \E_ERROR | \E_CORE_ERROR | \E_COMPILE_ERROR | \E_USER_ERROR | \E_RECOVERABLE_ERROR | \E_PARSE; + $loggers = []; + + foreach ($handler->setLoggers([]) as $type => $log) { + if ($type & $throwAt) { + $loggers[$type] = [null, $log[1]]; + } + } + + // Assume $kernel->terminateWithException() will log uncaught exceptions appropriately + $handler->setLoggers($loggers); + } } $this->exceptionHandler = null; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/DumpListener.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/DumpListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/DumpListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/DumpListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ private $dumper; private $connection; - public function __construct(ClonerInterface $cloner, DataDumperInterface $dumper, Connection $connection = null) + public function __construct(ClonerInterface $cloner, DataDumperInterface $dumper, ?Connection $connection = null) { $this->cloner = $cloner; $this->dumper = $dumper; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/ErrorListener.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/ErrorListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/ErrorListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/ErrorListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -41,7 +41,7 @@ /** * @param array|null}> $exceptionsMapping */ - public function __construct($controller, LoggerInterface $logger = null, bool $debug = false, array $exceptionsMapping = []) + public function __construct($controller, ?LoggerInterface $logger = null, bool $debug = false, array $exceptionsMapping = []) { $this->controller = $controller; $this->logger = $logger; @@ -155,7 +155,7 @@ /** * Logs an exception. */ - protected function logException(\Throwable $exception, string $message, string $logLevel = null): void + protected function logException(\Throwable $exception, string $message, ?string $logLevel = null): void { if (null !== $this->logger) { if (null !== $logLevel) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/LocaleListener.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/LocaleListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/LocaleListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/LocaleListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -35,7 +35,7 @@ private $useAcceptLanguageHeader; private $enabledLocales; - public function __construct(RequestStack $requestStack, string $defaultLocale = 'en', RequestContextAwareInterface $router = null, bool $useAcceptLanguageHeader = false, array $enabledLocales = []) + public function __construct(RequestStack $requestStack, string $defaultLocale = 'en', ?RequestContextAwareInterface $router = null, bool $useAcceptLanguageHeader = false, array $enabledLocales = []) { $this->defaultLocale = $defaultLocale; $this->requestStack = $requestStack; @@ -68,8 +68,10 @@ { if ($locale = $request->attributes->get('_locale')) { $request->setLocale($locale); - } elseif ($this->useAcceptLanguageHeader && $this->enabledLocales && ($preferredLanguage = $request->getPreferredLanguage($this->enabledLocales))) { - $request->setLocale($preferredLanguage); + } elseif ($this->useAcceptLanguageHeader && $this->enabledLocales) { + if ($request->getLanguages() && $preferredLanguage = $request->getPreferredLanguage($this->enabledLocales)) { + $request->setLocale($preferredLanguage); + } $request->attributes->set('_vary_by_language', true); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -48,7 +48,7 @@ * @param bool $onlyException True if the profiler only collects data when an exception occurs, false otherwise * @param bool $onlyMainRequests True if the profiler only collects data when the request is the main request, false otherwise */ - public function __construct(Profiler $profiler, RequestStack $requestStack, RequestMatcherInterface $matcher = null, bool $onlyException = false, bool $onlyMainRequests = false, string $collectParameter = null) + public function __construct(Profiler $profiler, RequestStack $requestStack, ?RequestMatcherInterface $matcher = null, bool $onlyException = false, bool $onlyMainRequests = false, ?string $collectParameter = null) { $this->profiler = $profiler; $this->matcher = $matcher; @@ -97,7 +97,7 @@ return; } - $session = $request->hasPreviousSession() && $request->hasSession() ? $request->getSession() : null; + $session = !$request->attributes->getBoolean('_stateless') && $request->hasPreviousSession() && $request->hasSession() ? $request->getSession() : null; if ($session instanceof Session) { $usageIndexValue = $usageIndexReference = &$session->getUsageIndex(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -55,7 +55,7 @@ * * @throws \InvalidArgumentException */ - public function __construct($matcher, RequestStack $requestStack, RequestContext $context = null, LoggerInterface $logger = null, string $projectDir = null, bool $debug = true) + public function __construct($matcher, RequestStack $requestStack, ?RequestContext $context = null, ?LoggerInterface $logger = null, ?string $projectDir = null, bool $debug = true) { if (!$matcher instanceof UrlMatcherInterface && !$matcher instanceof RequestMatcherInterface) { throw new \InvalidArgumentException('Matcher must either implement UrlMatcherInterface or RequestMatcherInterface.'); @@ -73,7 +73,7 @@ $this->debug = $debug; } - private function setCurrentRequest(Request $request = null) + private function setCurrentRequest(?Request $request = null) { if (null !== $request) { try { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/SurrogateListener.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/SurrogateListener.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/EventListener/SurrogateListener.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/EventListener/SurrogateListener.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ { private $surrogate; - public function __construct(SurrogateInterface $surrogate = null) + public function __construct(?SurrogateInterface $surrogate = null) { $this->surrogate = $surrogate; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/AccessDeniedHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/AccessDeniedHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/AccessDeniedHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/AccessDeniedHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,7 +22,7 @@ * @param \Throwable|null $previous The previous exception * @param int $code The internal exception code */ - public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []) + public function __construct(?string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/BadRequestHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/BadRequestHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/BadRequestHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/BadRequestHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ * @param \Throwable|null $previous The previous exception * @param int $code The internal exception code */ - public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []) + public function __construct(?string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/ConflictHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/ConflictHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/ConflictHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/ConflictHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ * @param \Throwable|null $previous The previous exception * @param int $code The internal exception code */ - public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []) + public function __construct(?string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/GoneHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/GoneHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/GoneHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/GoneHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ * @param \Throwable|null $previous The previous exception * @param int $code The internal exception code */ - public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []) + public function __construct(?string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/HttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/HttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/HttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/HttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ private $statusCode; private $headers; - public function __construct(int $statusCode, ?string $message = '', \Throwable $previous = null, array $headers = [], ?int $code = 0) + public function __construct(int $statusCode, ?string $message = '', ?\Throwable $previous = null, array $headers = [], ?int $code = 0) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/LengthRequiredHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/LengthRequiredHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/LengthRequiredHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/LengthRequiredHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ * @param \Throwable|null $previous The previous exception * @param int $code The internal exception code */ - public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []) + public function __construct(?string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/MethodNotAllowedHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/MethodNotAllowedHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/MethodNotAllowedHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/MethodNotAllowedHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,7 +22,7 @@ * @param \Throwable|null $previous The previous exception * @param int|null $code The internal exception code */ - public function __construct(array $allow, ?string $message = '', \Throwable $previous = null, ?int $code = 0, array $headers = []) + public function __construct(array $allow, ?string $message = '', ?\Throwable $previous = null, ?int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/NotAcceptableHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/NotAcceptableHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/NotAcceptableHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/NotAcceptableHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ * @param \Throwable|null $previous The previous exception * @param int $code The internal exception code */ - public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []) + public function __construct(?string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/NotFoundHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/NotFoundHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/NotFoundHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/NotFoundHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ * @param \Throwable|null $previous The previous exception * @param int $code The internal exception code */ - public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []) + public function __construct(?string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/PreconditionFailedHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/PreconditionFailedHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/PreconditionFailedHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/PreconditionFailedHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ * @param \Throwable|null $previous The previous exception * @param int $code The internal exception code */ - public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []) + public function __construct(?string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/PreconditionRequiredHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/PreconditionRequiredHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/PreconditionRequiredHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/PreconditionRequiredHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -23,7 +23,7 @@ * @param \Throwable|null $previous The previous exception * @param int $code The internal exception code */ - public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []) + public function __construct(?string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/ServiceUnavailableHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/ServiceUnavailableHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/ServiceUnavailableHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/ServiceUnavailableHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,7 +22,7 @@ * @param \Throwable|null $previous The previous exception * @param int|null $code The internal exception code */ - public function __construct($retryAfter = null, ?string $message = '', \Throwable $previous = null, ?int $code = 0, array $headers = []) + public function __construct($retryAfter = null, ?string $message = '', ?\Throwable $previous = null, ?int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/TooManyRequestsHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/TooManyRequestsHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/TooManyRequestsHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/TooManyRequestsHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,7 +24,7 @@ * @param \Throwable|null $previous The previous exception * @param int|null $code The internal exception code */ - public function __construct($retryAfter = null, ?string $message = '', \Throwable $previous = null, ?int $code = 0, array $headers = []) + public function __construct($retryAfter = null, ?string $message = '', ?\Throwable $previous = null, ?int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/UnauthorizedHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/UnauthorizedHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/UnauthorizedHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/UnauthorizedHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -22,7 +22,7 @@ * @param \Throwable|null $previous The previous exception * @param int|null $code The internal exception code */ - public function __construct(string $challenge, ?string $message = '', \Throwable $previous = null, ?int $code = 0, array $headers = []) + public function __construct(string $challenge, ?string $message = '', ?\Throwable $previous = null, ?int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/UnprocessableEntityHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/UnprocessableEntityHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/UnprocessableEntityHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/UnprocessableEntityHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ * @param \Throwable|null $previous The previous exception * @param int $code The internal exception code */ - public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []) + public function __construct(?string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/UnsupportedMediaTypeHttpException.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/UnsupportedMediaTypeHttpException.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Exception/UnsupportedMediaTypeHttpException.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Exception/UnsupportedMediaTypeHttpException.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,7 +21,7 @@ * @param \Throwable|null $previous The previous exception * @param int $code The internal exception code */ - public function __construct(?string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []) + public function __construct(?string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) { if (null === $message) { trigger_deprecation('symfony/http-kernel', '5.3', 'Passing null as $message to "%s()" is deprecated, pass an empty string instead.', __METHOD__); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php 2026-05-20 08:22:01.000000000 +0000 @@ -34,7 +34,7 @@ * * @param FragmentRendererInterface $inlineStrategy The inline strategy to use when the surrogate is not supported */ - public function __construct(SurrogateInterface $surrogate = null, FragmentRendererInterface $inlineStrategy, UriSigner $signer = null) + public function __construct(?SurrogateInterface $surrogate, FragmentRendererInterface $inlineStrategy, ?UriSigner $signer = null) { $this->surrogate = $surrogate; $this->inlineStrategy = $inlineStrategy; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGenerator.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGenerator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGenerator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGenerator.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,7 +28,7 @@ private $signer; private $requestStack; - public function __construct(string $fragmentPath, UriSigner $signer = null, RequestStack $requestStack = null) + public function __construct(string $fragmentPath, ?UriSigner $signer = null, ?RequestStack $requestStack = null) { $this->fragmentPath = $fragmentPath; $this->signer = $signer; @@ -38,7 +38,7 @@ /** * {@inheritDoc} */ - public function generate(ControllerReference $controller, Request $request = null, bool $absolute = false, bool $strict = true, bool $sign = true): string + public function generate(ControllerReference $controller, ?Request $request = null, bool $absolute = false, bool $strict = true, bool $sign = true): string { if (null === $request && (null === $this->requestStack || null === $request = $this->requestStack->getCurrentRequest())) { throw new \LogicException('Generating a fragment URL can only be done when handling a Request.'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGeneratorInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGeneratorInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGeneratorInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGeneratorInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -28,5 +28,5 @@ * @param bool $strict Whether to allow non-scalar attributes or not * @param bool $sign Whether to sign the URL or not */ - public function generate(ControllerReference $controller, Request $request = null, bool $absolute = false, bool $strict = true, bool $sign = true): string; + public function generate(ControllerReference $controller, ?Request $request = null, bool $absolute = false, bool $strict = true, bool $sign = true): string; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php 2026-05-20 08:22:01.000000000 +0000 @@ -32,7 +32,7 @@ /** * @param string|null $globalDefaultTemplate The global default content (it can be a template name or the content) */ - public function __construct(Environment $twig = null, UriSigner $signer = null, string $globalDefaultTemplate = null, string $charset = 'utf-8') + public function __construct(?Environment $twig = null, ?UriSigner $signer = null, ?string $globalDefaultTemplate = null, string $charset = 'utf-8') { $this->twig = $twig; $this->globalDefaultTemplate = $globalDefaultTemplate; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,7 +30,7 @@ private $kernel; private $dispatcher; - public function __construct(HttpKernelInterface $kernel, EventDispatcherInterface $dispatcher = null) + public function __construct(HttpKernelInterface $kernel, ?EventDispatcherInterface $dispatcher = null) { $this->kernel = $kernel; $this->dispatcher = $dispatcher; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php 2026-05-20 08:22:01.000000000 +0000 @@ -133,4 +133,15 @@ $response->headers->set('Surrogate-Control', preg_replace(sprintf('#content="%s/1.0",\s*#', $upperName), '', $value)); } } + + protected static function generateBodyEvalBoundary(): string + { + static $cookie; + $cookie = hash('md5', $cookie ?? $cookie = random_bytes(16), true); + $boundary = base64_encode($cookie); + + \assert(HttpCache::BODY_EVAL_BOUNDARY_LENGTH === \strlen($boundary)); + + return $boundary; + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Esi.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Esi.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Esi.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Esi.php 2026-05-20 08:22:01.000000000 +0000 @@ -45,7 +45,7 @@ /** * {@inheritdoc} */ - public function renderIncludeTag(string $uri, string $alt = null, bool $ignoreErrors = true, string $comment = '') + public function renderIncludeTag(string $uri, ?string $alt = null, bool $ignoreErrors = true, string $comment = '') { $html = sprintf('', $uri, @@ -80,8 +80,8 @@ $content = preg_replace('#.*?#s', '', $content); $content = preg_replace('#]+>#s', '', $content); + $boundary = self::generateBodyEvalBoundary(); $chunks = preg_split('##', $content, -1, \PREG_SPLIT_DELIM_CAPTURE); - $chunks[0] = str_replace($this->phpEscapeMap[0], $this->phpEscapeMap[1], $chunks[0]); $i = 1; while (isset($chunks[$i])) { @@ -95,16 +95,10 @@ throw new \RuntimeException('Unable to process an ESI tag without a "src" attribute.'); } - $chunks[$i] = sprintf('surrogate->handle($this, %s, %s, %s) ?>'."\n", - var_export($options['src'], true), - var_export($options['alt'] ?? '', true), - isset($options['onerror']) && 'continue' === $options['onerror'] ? 'true' : 'false' - ); - ++$i; - $chunks[$i] = str_replace($this->phpEscapeMap[0], $this->phpEscapeMap[1], $chunks[$i]); - ++$i; + $chunks[$i] = $boundary.$options['src']."\n".($options['alt'] ?? '')."\n".('continue' === ($options['onerror'] ?? ''))."\n"; + $i += 2; } - $content = implode('', $chunks); + $content = $boundary.implode('', $chunks).$boundary; $response->setContent($content); $response->headers->set('X-Body-Eval', 'ESI'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php 2026-05-20 08:22:01.000000000 +0000 @@ -17,6 +17,7 @@ namespace Symfony\Component\HttpKernel\HttpCache; +use Symfony\Component\HttpFoundation\Exception\SuspiciousOperationException; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\HttpKernelInterface; @@ -29,6 +30,8 @@ */ class HttpCache implements HttpKernelInterface, TerminableInterface { + public const BODY_EVAL_BOUNDARY_LENGTH = 24; + private $kernel; private $store; private $request; @@ -79,7 +82,7 @@ * This setting is overridden by the stale-if-error HTTP Cache-Control extension * (see RFC 5861). */ - public function __construct(HttpKernelInterface $kernel, StoreInterface $store, SurrogateInterface $surrogate = null, array $options = []) + public function __construct(HttpKernelInterface $kernel, StoreInterface $store, ?SurrogateInterface $surrogate = null, array $options = []) { $this->store = $store; $this->kernel = $kernel; @@ -469,7 +472,7 @@ * * @return Response */ - protected function forward(Request $request, bool $catch = false, Response $entry = null) + protected function forward(Request $request, bool $catch = false, ?Response $entry = null) { if ($this->surrogate) { $this->surrogate->addSurrogateCapability($request); @@ -631,12 +634,22 @@ private function restoreResponseBody(Request $request, Response $response) { if ($response->headers->has('X-Body-Eval')) { + \assert(self::BODY_EVAL_BOUNDARY_LENGTH === 24); + ob_start(); - if ($response->headers->has('X-Body-File')) { - include $response->headers->get('X-Body-File'); - } else { - eval('; ?>'.$response->getContent().'getContent(); + $boundary = substr($content, 0, 24); + $j = strpos($content, $boundary, 24); + echo substr($content, 24, $j - 24); + $i = $j + 24; + + while (false !== $j = strpos($content, $boundary, $i)) { + [$uri, $alt, $ignoreErrors, $part] = explode("\n", substr($content, $i, $j - $i), 4); + $i = $j + 24; + + echo $this->surrogate->handle($this, $uri, $alt, $ignoreErrors); + echo $part; } $response->setContent(ob_get_clean()); @@ -703,7 +716,11 @@ $path .= '?'.$qs; } - return $request->getMethod().' '.$path; + try { + return $request->getMethod().' '.$path; + } catch (SuspiciousOperationException $e) { + return '_BAD_METHOD_ '.$path; + } } /** diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategy.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategy.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategy.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategy.php 2026-05-20 08:22:01.000000000 +0000 @@ -50,7 +50,7 @@ private $ageDirectives = [ 'max-age' => null, 's-maxage' => null, - 'expires' => null, + 'expires' => false, ]; /** @@ -81,15 +81,30 @@ return; } - $isHeuristicallyCacheable = $response->headers->hasCacheControlDirective('public'); $maxAge = $response->headers->hasCacheControlDirective('max-age') ? (int) $response->headers->getCacheControlDirective('max-age') : null; - $this->storeRelativeAgeDirective('max-age', $maxAge, $age, $isHeuristicallyCacheable); $sharedMaxAge = $response->headers->hasCacheControlDirective('s-maxage') ? (int) $response->headers->getCacheControlDirective('s-maxage') : $maxAge; - $this->storeRelativeAgeDirective('s-maxage', $sharedMaxAge, $age, $isHeuristicallyCacheable); - $expires = $response->getExpires(); $expires = null !== $expires ? (int) $expires->format('U') - (int) $response->getDate()->format('U') : null; - $this->storeRelativeAgeDirective('expires', $expires >= 0 ? $expires : null, 0, $isHeuristicallyCacheable); + + // See https://datatracker.ietf.org/doc/html/rfc7234#section-4.2.2 + // If a response is "public" but does not have maximum lifetime, heuristics might be applied. + // Do not store NULL values so the final response can have more limiting value from other responses. + $isHeuristicallyCacheable = $response->headers->hasCacheControlDirective('public') + && null === $maxAge + && null === $sharedMaxAge + && null === $expires; + + if (!$isHeuristicallyCacheable || null !== $maxAge || null !== $expires) { + $this->storeRelativeAgeDirective('max-age', $maxAge, $expires, $age); + } + + if (!$isHeuristicallyCacheable || null !== $sharedMaxAge || null !== $expires) { + $this->storeRelativeAgeDirective('s-maxage', $sharedMaxAge, $expires, $age); + } + + if (null !== $expires) { + $this->ageDirectives['expires'] = true; + } } /** @@ -102,7 +117,7 @@ return; } - // Remove validation related headers of the master response, + // Remove validation related headers of the final response, // because some of the response content comes from at least // one embedded response (which likely has a different caching strategy). $response->setEtag(null); @@ -145,9 +160,9 @@ } } - if (is_numeric($this->ageDirectives['expires'])) { + if ($this->ageDirectives['expires'] && null !== $maxAge) { $date = clone $response->getDate(); - $date->modify('+'.($this->ageDirectives['expires'] + $this->age).' seconds'); + $date = $date->modify('+'.$maxAge.' seconds'); $response->setExpires($date); } } @@ -200,33 +215,16 @@ * we have to subtract the age so that the value is normalized for an age of 0. * * If the value is lower than the currently stored value, we update the value, to keep a rolling - * minimal value of each instruction. - * - * If the value is NULL and the isHeuristicallyCacheable parameter is false, the directive will - * not be set on the final response. In this case, not all responses had the directive set and no - * value can be found that satisfies the requirements of all responses. The directive will be dropped - * from the final response. - * - * If the isHeuristicallyCacheable parameter is true, however, the current response has been marked - * as cacheable in a public (shared) cache, but did not provide an explicit lifetime that would serve - * as an upper bound. In this case, we can proceed and possibly keep the directive on the final response. + * minimal value of each instruction. If the value is NULL, the directive will not be set on the final response. */ - private function storeRelativeAgeDirective(string $directive, ?int $value, int $age, bool $isHeuristicallyCacheable) + private function storeRelativeAgeDirective(string $directive, ?int $value, ?int $expires, int $age): void { - if (null === $value) { - if ($isHeuristicallyCacheable) { - /* - * See https://datatracker.ietf.org/doc/html/rfc7234#section-4.2.2 - * This particular response does not require maximum lifetime; heuristics might be applied. - * Other responses, however, might have more stringent requirements on maximum lifetime. - * So, return early here so that the final response can have the more limiting value set. - */ - return; - } + if (null === $value && null === $expires) { $this->ageDirectives[$directive] = false; } if (false !== $this->ageDirectives[$directive]) { + $value = min($value ?? PHP_INT_MAX, $expires ?? PHP_INT_MAX); $value -= $age; $this->ageDirectives[$directive] = null !== $this->ageDirectives[$directive] ? min($this->ageDirectives[$directive], $value) : $value; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Ssi.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Ssi.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Ssi.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Ssi.php 2026-05-20 08:22:01.000000000 +0000 @@ -42,7 +42,7 @@ /** * {@inheritdoc} */ - public function renderIncludeTag(string $uri, string $alt = null, bool $ignoreErrors = true, string $comment = '') + public function renderIncludeTag(string $uri, ?string $alt = null, bool $ignoreErrors = true, string $comment = '') { return sprintf('', $uri); } @@ -64,9 +64,8 @@ // we don't use a proper XML parser here as we can have SSI tags in a plain text response $content = $response->getContent(); - + $boundary = self::generateBodyEvalBoundary(); $chunks = preg_split('##', $content, -1, \PREG_SPLIT_DELIM_CAPTURE); - $chunks[0] = str_replace($this->phpEscapeMap[0], $this->phpEscapeMap[1], $chunks[0]); $i = 1; while (isset($chunks[$i])) { @@ -80,14 +79,10 @@ throw new \RuntimeException('Unable to process an SSI tag without a "virtual" attribute.'); } - $chunks[$i] = sprintf('surrogate->handle($this, %s, \'\', false) ?>'."\n", - var_export($options['virtual'], true) - ); - ++$i; - $chunks[$i] = str_replace($this->phpEscapeMap[0], $this->phpEscapeMap[1], $chunks[$i]); - ++$i; + $chunks[$i] = $boundary.$options['virtual']."\n\n\n"; + $i += 2; } - $content = implode('', $chunks); + $content = $boundary.implode('', $chunks).$boundary; $response->setContent($content); $response->headers->set('X-Body-Eval', 'SSI'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Store.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Store.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Store.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/Store.php 2026-05-20 08:22:01.000000000 +0000 @@ -475,15 +475,25 @@ /** * Restores a Response from the HTTP headers and body. */ - private function restoreResponse(array $headers, string $path = null): Response + private function restoreResponse(array $headers, ?string $path = null): ?Response { $status = $headers['X-Status'][0]; unset($headers['X-Status']); + $content = null; if (null !== $path) { $headers['X-Body-File'] = [$path]; + unset($headers['x-body-file']); + + if ($headers['X-Body-Eval'] ?? $headers['x-body-eval'] ?? false) { + $content = file_get_contents($path); + \assert(HttpCache::BODY_EVAL_BOUNDARY_LENGTH === 24); + if (48 > \strlen($content) || substr($content, -24) !== substr($content, 0, 24)) { + return null; + } + } } - return new Response($path, $status, $headers); + return new Response($content, $status, $headers); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/SurrogateInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/SurrogateInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpCache/SurrogateInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpCache/SurrogateInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -64,7 +64,7 @@ * * @return string */ - public function renderIncludeTag(string $uri, string $alt = null, bool $ignoreErrors = true, string $comment = ''); + public function renderIncludeTag(string $uri, ?string $alt = null, bool $ignoreErrors = true, string $comment = ''); /** * Replaces a Response Surrogate tags with the included resource content. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpClientKernel.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpClientKernel.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpClientKernel.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpClientKernel.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ { private $client; - public function __construct(HttpClientInterface $client = null) + public function __construct(?HttpClientInterface $client = null) { if (null === $client && !class_exists(HttpClient::class)) { throw new \LogicException(sprintf('You cannot use "%s" as the HttpClient component is not installed. Try running "composer require symfony/http-client".', __CLASS__)); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpKernel.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpKernel.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpKernel.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpKernel.php 2026-05-20 08:22:01.000000000 +0000 @@ -55,7 +55,7 @@ protected $requestStack; private $argumentResolver; - public function __construct(EventDispatcherInterface $dispatcher, ControllerResolverInterface $resolver, RequestStack $requestStack = null, ArgumentResolverInterface $argumentResolver = null) + public function __construct(EventDispatcherInterface $dispatcher, ControllerResolverInterface $resolver, ?RequestStack $requestStack = null, ?ArgumentResolverInterface $argumentResolver = null) { $this->dispatcher = $dispatcher; $this->resolver = $resolver; @@ -100,7 +100,7 @@ /** * @internal */ - public function terminateWithException(\Throwable $exception, Request $request = null) + public function terminateWithException(\Throwable $exception, ?Request $request = null) { if (!$request = $request ?: $this->requestStack->getMainRequest()) { throw $exception; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpKernelBrowser.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpKernelBrowser.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/HttpKernelBrowser.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/HttpKernelBrowser.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,7 +36,7 @@ /** * @param array $server The server parameters (equivalent of $_SERVER) */ - public function __construct(HttpKernelInterface $kernel, array $server = [], History $history = null, CookieJar $cookieJar = null) + public function __construct(HttpKernelInterface $kernel, array $server = [], ?History $history = null, ?CookieJar $cookieJar = null) { // These class properties must be set before calling the parent constructor, as it may depend on it. $this->kernel = $kernel; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Kernel.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Kernel.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Kernel.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Kernel.php 2026-05-20 08:22:01.000000000 +0000 @@ -78,15 +78,15 @@ */ private static $freshCache = []; - public const VERSION = '5.4.23'; - public const VERSION_ID = 50423; + public const VERSION = '5.4.52'; + public const VERSION_ID = 50452; public const MAJOR_VERSION = 5; public const MINOR_VERSION = 4; - public const RELEASE_VERSION = 23; + public const RELEASE_VERSION = 52; public const EXTRA_VERSION = ''; public const END_OF_MAINTENANCE = '11/2024'; - public const END_OF_LIFE = '11/2025'; + public const END_OF_LIFE = '02/2029'; public function __construct(string $environment, bool $debug) { @@ -467,7 +467,7 @@ try { is_dir($buildDir) ?: mkdir($buildDir, 0777, true); - if ($lock = fopen($cachePath.'.lock', 'w')) { + if ($lock = fopen($cachePath.'.lock', 'w+')) { if (!flock($lock, \LOCK_EX | \LOCK_NB, $wouldBlock) && !flock($lock, $wouldBlock ? \LOCK_SH : \LOCK_EX)) { fclose($lock); $lock = null; @@ -778,7 +778,9 @@ $this->startTime = microtime(true); } if ($this->debug && !isset($_ENV['SHELL_VERBOSITY']) && !isset($_SERVER['SHELL_VERBOSITY'])) { - putenv('SHELL_VERBOSITY=3'); + if (\function_exists('putenv')) { + putenv('SHELL_VERBOSITY=3'); + } $_ENV['SHELL_VERBOSITY'] = 3; $_SERVER['SHELL_VERBOSITY'] = 3; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Log/DebugLoggerInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Log/DebugLoggerInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Log/DebugLoggerInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Log/DebugLoggerInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,14 +29,14 @@ * * @return array */ - public function getLogs(Request $request = null); + public function getLogs(?Request $request = null); /** * Returns the number of errors. * * @return int */ - public function countErrors(Request $request = null); + public function countErrors(?Request $request = null); /** * Removes all log records. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Log/Logger.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Log/Logger.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Log/Logger.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Log/Logger.php 2026-05-20 08:22:01.000000000 +0000 @@ -42,7 +42,7 @@ /** * @param string|resource|null $output */ - public function __construct(string $minLevel = null, $output = null, callable $formatter = null) + public function __construct(?string $minLevel = null, $output = null, ?callable $formatter = null) { if (null === $minLevel) { $minLevel = null === $output || 'php://stdout' === $output || 'php://stderr' === $output ? LogLevel::ERROR : LogLevel::WARNING; @@ -67,7 +67,7 @@ $this->minLevelIndex = self::LEVELS[$minLevel]; $this->formatter = $formatter ?: [$this, 'format']; - if ($output && false === $this->handle = \is_resource($output) ? $output : @fopen($output, 'a')) { + if ($output && false === $this->handle = \is_string($output) ? @fopen($output, 'a') : $output) { throw new InvalidArgumentException(sprintf('Unable to open "%s".', $output)); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php 2026-05-20 08:22:01.000000000 +0000 @@ -47,7 +47,7 @@ /** * {@inheritdoc} */ - public function find(?string $ip, ?string $url, ?int $limit, ?string $method, int $start = null, int $end = null, string $statusCode = null): array + public function find(?string $ip, ?string $url, ?int $limit, ?string $method, ?int $start = null, ?int $end = null, ?string $statusCode = null): array { $file = $this->getIndexFilename(); @@ -60,7 +60,13 @@ $result = []; while (\count($result) < $limit && $line = $this->readLineFromFile($file)) { - $values = str_getcsv($line); + $values = str_getcsv($line, ',', '"', '\\'); + + if (7 !== \count($values)) { + // skip invalid lines + continue; + } + [$csvToken, $csvIp, $csvMethod, $csvUrl, $csvTime, $csvParent, $csvStatusCode] = $values; $csvTime = (int) $csvTime; @@ -181,7 +187,7 @@ $profile->getTime(), $profile->getParentToken(), $profile->getStatusCode(), - ]); + ], ',', '"', '\\'); fclose($file); } @@ -259,7 +265,7 @@ return '' === $line ? null : $line; } - protected function createProfileFromData(string $token, array $data, Profile $parent = null) + protected function createProfileFromData(string $token, array $data, ?Profile $parent = null) { $profile = new Profile($token); $profile->setIp($data['ip']); @@ -286,7 +292,7 @@ return $profile; } - private function doRead($token, Profile $profile = null): ?Profile + private function doRead($token, ?Profile $profile = null): ?Profile { if (!$token || !file_exists($file = $this->getFilename($token))) { return null; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Profiler/Profiler.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Profiler/Profiler.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Profiler/Profiler.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Profiler/Profiler.php 2026-05-20 08:22:01.000000000 +0000 @@ -37,7 +37,7 @@ private $initiallyEnabled = true; private $enabled = true; - public function __construct(ProfilerStorageInterface $storage, LoggerInterface $logger = null, bool $enable = true) + public function __construct(ProfilerStorageInterface $storage, ?LoggerInterface $logger = null, bool $enable = true) { $this->storage = $storage; $this->logger = $logger; @@ -124,7 +124,7 @@ * * @see https://php.net/datetime.formats for the supported date/time formats */ - public function find(?string $ip, ?string $url, ?int $limit, ?string $method, ?string $start, ?string $end, string $statusCode = null) + public function find(?string $ip, ?string $url, ?int $limit, ?string $method, ?string $start, ?string $end, ?string $statusCode = null) { return $this->storage->find($ip, $url, $limit, $method, $this->getTimestamp($start), $this->getTimestamp($end), $statusCode); } @@ -134,7 +134,7 @@ * * @return Profile|null */ - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { if (false === $this->enabled) { return null; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Profiler/ProfilerStorageInterface.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Profiler/ProfilerStorageInterface.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Profiler/ProfilerStorageInterface.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Profiler/ProfilerStorageInterface.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ * @param int|null $start The start date to search from * @param int|null $end The end date to search to */ - public function find(?string $ip, ?string $url, ?int $limit, ?string $method, int $start = null, int $end = null): array; + public function find(?string $ip, ?string $url, ?int $limit, ?string $method, ?int $start = null, ?int $end = null): array; /** * Reads data associated with the given token. diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Controller/ContainerControllerResolverTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Controller/ContainerControllerResolverTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Controller/ContainerControllerResolverTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Controller/ContainerControllerResolverTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -228,7 +228,7 @@ return $tests; } - protected function createControllerResolver(LoggerInterface $logger = null, ContainerInterface $container = null) + protected function createControllerResolver(?LoggerInterface $logger = null, ?ContainerInterface $container = null) { if (!$container) { $container = $this->createMockContainer(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -187,7 +187,7 @@ ]; } - protected function createControllerResolver(LoggerInterface $logger = null) + protected function createControllerResolver(?LoggerInterface $logger = null) { return new ControllerResolver($logger); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/ControllerMetadata/ArgumentMetadataFactoryTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/ControllerMetadata/ArgumentMetadataFactoryTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/ControllerMetadata/ArgumentMetadataFactoryTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/ControllerMetadata/ArgumentMetadataFactoryTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -167,7 +167,7 @@ { } - private function signature2(self $foo = null, FakeClassThatDoesNotExist $bar = null, ImportedAndFake $baz = null) + private function signature2(?self $foo = null, ?FakeClassThatDoesNotExist $bar = null, ?ImportedAndFake $baz = null) { } @@ -179,7 +179,7 @@ { } - private function signature5(array $foo = null, $bar = null) + private function signature5(?array $foo = null, $bar = null) { } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/DataCollectorTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/DataCollectorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/DataCollectorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/DataCollectorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -15,6 +15,8 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Tests\Fixtures\DataCollector\CloneVarDataCollector; +use Symfony\Component\HttpKernel\Tests\Fixtures\UsePropertyInDestruct; +use Symfony\Component\HttpKernel\Tests\Fixtures\WithPublicObjectProperty; use Symfony\Component\VarDumper\Cloner\VarCloner; class DataCollectorTest extends TestCase @@ -35,4 +37,68 @@ $this->assertSame($filePath, $c->getData()[0]); } + + /** + * @requires PHP 8 + */ + public function testClassPublicObjectProperty() + { + $parent = new WithPublicObjectProperty(); + $child = new WithPublicObjectProperty(); + + $child->parent = $parent; + + $c = new CloneVarDataCollector($child); + $c->collect(new Request(), new Response()); + + $this->assertNotNull($c->getData()->parent); + } + + /** + * @requires PHP 8 + */ + public function testClassPublicObjectPropertyAsReference() + { + $parent = new WithPublicObjectProperty(); + $child = new WithPublicObjectProperty(); + + $child->parent = &$parent; + + $c = new CloneVarDataCollector($child); + $c->collect(new Request(), new Response()); + + $this->assertNotNull($c->getData()->parent); + } + + /** + * @requires PHP 8 + */ + public function testClassUsePropertyInDestruct() + { + $parent = new UsePropertyInDestruct(); + $child = new UsePropertyInDestruct(); + + $child->parent = $parent; + + $c = new CloneVarDataCollector($child); + $c->collect(new Request(), new Response()); + + $this->assertNotNull($c->getData()->parent); + } + + /** + * @requires PHP 8 + */ + public function testClassUsePropertyAsReferenceInDestruct() + { + $parent = new UsePropertyInDestruct(); + $child = new UsePropertyInDestruct(); + + $child->parent = &$parent; + + $c = new CloneVarDataCollector($child); + $c->collect(new Request(), new Response()); + + $this->assertNotNull($c->getData()->parent); + } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -13,6 +13,7 @@ use PHPUnit\Framework\TestCase; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\DataCollector\DumpDataCollector; use Symfony\Component\HttpKernel\Debug\FileLinkFormatter; @@ -150,6 +151,24 @@ ob_start(); $collector->__destruct(); + $this->assertEmpty(ob_get_clean()); + } + + public function testNullContentTypeWithNoDebugEnv() + { + $request = new Request(); + $requestStack = new RequestStack(); + $requestStack->push($request); + + $response = new Response(''); + $response->headers->set('Content-Type', null); + $response->headers->set('X-Debug-Token', 'xxxxxxxx'); + + $collector = new DumpDataCollector(null, null, null, $requestStack); + $collector->collect($request, $response); + + ob_start(); + $collector->__destruct(); $this->assertEmpty(ob_get_clean()); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -118,7 +118,7 @@ 'Closure', function () { return 'foo'; }, [ - 'class' => __NAMESPACE__.'\{closure}', + 'class' => \PHP_VERSION_ID >= 80400 ? sprintf('{closure:%s():%d}', __METHOD__, __LINE__ - 2) : __NAMESPACE__.'\{closure}', 'method' => null, 'file' => __FILE__, 'line' => __LINE__ - 5, diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/FragmentRendererPassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/FragmentRendererPassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/FragmentRendererPassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/FragmentRendererPassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -60,7 +60,7 @@ class RendererService implements FragmentRendererInterface { - public function render($uri, Request $request = null, array $options = []): Response + public function render($uri, ?Request $request = null, array $options = []): Response { } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RegisterControllerArgumentLocatorsPassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RegisterControllerArgumentLocatorsPassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RegisterControllerArgumentLocatorsPassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RegisterControllerArgumentLocatorsPassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -25,6 +25,7 @@ use Symfony\Component\DependencyInjection\TypedReference; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\DependencyInjection\RegisterControllerArgumentLocatorsPass; +use Symfony\Component\HttpKernel\Tests\Fixtures\DataCollector\DummyController; use Symfony\Component\HttpKernel\Tests\Fixtures\Suit; class RegisterControllerArgumentLocatorsPassTest extends TestCase @@ -285,6 +286,21 @@ $this->assertTrue($container->getDefinition('foo')->isPublic()); } + public function testControllersAreMadeNonLazy() + { + $container = new ContainerBuilder(); + $container->register('argument_resolver.service')->addArgument([]); + + $container->register('foo', DummyController::class) + ->addTag('controller.service_arguments') + ->setLazy(true); + + $pass = new RegisterControllerArgumentLocatorsPass(); + $pass->process($container); + + $this->assertFalse($container->getDefinition('foo')->isLazy()); + } + /** * @dataProvider provideBindings */ @@ -508,11 +524,11 @@ class NonExistentClassOptionalController { - public function fooAction(NonExistentClass $nonExistent = null) + public function fooAction(?NonExistentClass $nonExistent = null) { } - public function barAction(NonExistentClass $nonExistent = null, $bar) + public function barAction(?NonExistentClass $nonExistent, $bar) { } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPassTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPassTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPassTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPassTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -81,7 +81,7 @@ class RemoveTestController1 { - public function fooAction(\stdClass $bar, ClassNotInContainer $baz = null) + public function fooAction(\stdClass $bar, ?ClassNotInContainer $baz = null) { } } @@ -92,7 +92,7 @@ { } - public function fooAction(ClassNotInContainer $bar = null) + public function fooAction(?ClassNotInContainer $bar = null) { } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/DumpListenerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/DumpListenerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/DumpListenerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/DumpListenerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -74,8 +74,10 @@ class MockDumper implements DataDumperInterface { - public function dump(Data $data) + public function dump(Data $data): ?string { echo '+'.$data->getValue(); + + return null; } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/ErrorListenerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/ErrorListenerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/ErrorListenerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/ErrorListenerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -54,21 +54,25 @@ */ public function testHandleWithoutLogger($event, $event2) { - $this->iniSet('error_log', file_exists('/dev/null') ? '/dev/null' : 'nul'); - - $l = new ErrorListener('foo'); - $l->logKernelException($event); - $l->onKernelException($event); - - $this->assertEquals(new Response('foo'), $event->getResponse()); + $initialErrorLog = ini_set('error_log', file_exists('/dev/null') ? '/dev/null' : 'nul'); try { - $l->logKernelException($event2); - $l->onKernelException($event2); - $this->fail('RuntimeException expected'); - } catch (\RuntimeException $e) { - $this->assertSame('bar', $e->getMessage()); - $this->assertSame('foo', $e->getPrevious()->getMessage()); + $l = new ErrorListener('foo'); + $l->logKernelException($event); + $l->onKernelException($event); + + $this->assertEquals(new Response('foo'), $event->getResponse()); + + try { + $l->logKernelException($event2); + $l->onKernelException($event2); + $this->fail('RuntimeException expected'); + } catch (\RuntimeException $e) { + $this->assertSame('bar', $e->getMessage()); + $this->assertSame('foo', $e->getPrevious()->getMessage()); + } + } finally { + ini_set('error_log', $initialErrorLog); } } @@ -222,7 +226,7 @@ class TestLogger extends Logger implements DebugLoggerInterface { - public function countErrors(Request $request = null): int + public function countErrors(?Request $request = null): int { return \count($this->logs['critical']); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -130,6 +130,28 @@ $this->assertEquals('fr', $request->getLocale()); } + public function testRequestDefaultLocaleIfNoAcceptLanguageHeaderIsPresent() + { + $request = new Request(); + $listener = new LocaleListener($this->requestStack, 'de', null, true, ['lt', 'de']); + $event = $this->getEvent($request); + + $listener->setDefaultLocale($event); + $listener->onKernelRequest($event); + $this->assertEquals('de', $request->getLocale()); + } + + public function testRequestVaryByLanguageAttributeIsSetIfUsingAcceptLanguageHeader() + { + $request = new Request(); + $listener = new LocaleListener($this->requestStack, 'de', null, true, ['lt', 'de']); + $event = $this->getEvent($request); + + $listener->setDefaultLocale($event); + $listener->onKernelRequest($event); + $this->assertTrue($request->attributes->get('_vary_by_language')); + } + public function testRequestSecondPreferredLocaleFromAcceptLanguageHeader() { $request = Request::create('/'); @@ -182,7 +204,7 @@ $this->assertEquals('de', $request->getLocale()); } - public function testRequestAttributeLocaleNotOverridenFromAcceptLanguageHeader() + public function testRequestAttributeLocaleNotOverriddenFromAcceptLanguageHeader() { $request = Request::create('/'); $request->attributes->set('_locale', 'it'); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -40,8 +40,8 @@ ->willReturn($profile); $kernel = $this->createMock(HttpKernelInterface::class); - $mainRequest = $this->createMock(Request::class); - $subRequest = $this->createMock(Request::class); + $mainRequest = new Request(); + $subRequest = new Request(); $response = $this->createMock(Response::class); $requestStack = new RequestStack(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/SessionListenerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/SessionListenerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/SessionListenerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/SessionListenerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -21,6 +21,7 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Session\Session; use Symfony\Component\HttpFoundation\Session\SessionFactory; +use Symfony\Component\HttpFoundation\Session\SessionInterface; use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage; use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorageFactory; use Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorageFactory; @@ -45,7 +46,7 @@ public function testSessionCookieOptions(array $phpSessionOptions, array $sessionOptions, array $expectedSessionOptions) { $session = $this->createMock(Session::class); - $session->method('getUsageIndex')->will($this->onConsecutiveCalls(0, 1)); + $session->method('getUsageIndex')->willReturn(0, 1); $session->method('getId')->willReturn('123456'); $session->method('getName')->willReturn('PHPSESSID'); $session->method('save'); @@ -338,7 +339,13 @@ public function testOnlyTriggeredOnMainRequest() { - $listener = $this->getMockForAbstractClass(AbstractSessionListener::class); + $listener = new class() extends AbstractSessionListener { + protected function getSession(): ?SessionInterface + { + return null; + } + }; + $event = $this->createMock(RequestEvent::class); $event->expects($this->once())->method('isMainRequest')->willReturn(false); $event->expects($this->never())->method('getRequest'); @@ -398,7 +405,7 @@ public function testResponseIsPrivateIfSessionStarted() { $session = $this->createMock(Session::class); - $session->expects($this->exactly(2))->method('getUsageIndex')->will($this->onConsecutiveCalls(0, 1)); + $session->expects($this->exactly(2))->method('getUsageIndex')->willReturn(0, 1); $container = new Container(); $container->set('initialized_session', $session); @@ -423,7 +430,7 @@ public function testResponseIsStillPublicIfSessionStartedAndHeaderPresent() { $session = $this->createMock(Session::class); - $session->expects($this->exactly(2))->method('getUsageIndex')->will($this->onConsecutiveCalls(0, 1)); + $session->expects($this->exactly(2))->method('getUsageIndex')->willReturn(0, 1); $container = new Container(); $container->set('initialized_session', $session); @@ -450,7 +457,7 @@ public function testSessionSaveAndResponseHasSessionCookie() { $session = $this->getMockBuilder(Session::class)->disableOriginalConstructor()->getMock(); - $session->expects($this->exactly(2))->method('getUsageIndex')->will($this->onConsecutiveCalls(0, 1)); + $session->expects($this->exactly(2))->method('getUsageIndex')->willReturn(0, 1); $session->expects($this->exactly(1))->method('getId')->willReturn('123456'); $session->expects($this->exactly(1))->method('getName')->willReturn('PHPSESSID'); $session->expects($this->exactly(1))->method('save'); @@ -532,10 +539,10 @@ $this->assertSame('60', $response->headers->getCacheControlDirective('s-maxage')); } - public function testResponseHeadersMaxAgeAndExpiresNotBeOverridenIfSessionStarted() + public function testResponseHeadersMaxAgeAndExpiresNotBeOverriddenIfSessionStarted() { $session = $this->createMock(Session::class); - $session->expects($this->exactly(2))->method('getUsageIndex')->will($this->onConsecutiveCalls(0, 1)); + $session->expects($this->exactly(2))->method('getUsageIndex')->willReturn(0, 1); $container = new Container(); $container->set('initialized_session', $session); @@ -565,7 +572,7 @@ public function testResponseHeadersMaxAgeAndExpiresDefaultValuesIfSessionStarted() { $session = $this->createMock(Session::class); - $session->expects($this->exactly(2))->method('getUsageIndex')->will($this->onConsecutiveCalls(0, 1)); + $session->expects($this->exactly(2))->method('getUsageIndex')->willReturn(0, 1); $container = new Container(); $container->set('initialized_session', $session); @@ -618,7 +625,7 @@ { $session = $this->createMock(Session::class); $session->expects($this->exactly(1))->method('getName')->willReturn('PHPSESSID'); - $session->expects($this->exactly(4))->method('getUsageIndex')->will($this->onConsecutiveCalls(0, 1, 1, 1)); + $session->expects($this->exactly(4))->method('getUsageIndex')->willReturn(0, 1, 1, 1); $container = new Container(); $container->set('initialized_session', $session); @@ -715,7 +722,7 @@ public function testSessionUsageExceptionIfStatelessAndSessionUsed() { $session = $this->createMock(Session::class); - $session->expects($this->exactly(2))->method('getUsageIndex')->will($this->onConsecutiveCalls(0, 1)); + $session->expects($this->exactly(2))->method('getUsageIndex')->willReturn(0, 1); $container = new Container(); $container->set('initialized_session', $session); @@ -734,7 +741,7 @@ public function testSessionUsageLogIfStatelessAndSessionUsed() { $session = $this->createMock(Session::class); - $session->expects($this->exactly(2))->method('getUsageIndex')->will($this->onConsecutiveCalls(0, 1)); + $session->expects($this->exactly(2))->method('getUsageIndex')->willReturn(0, 1); $logger = $this->createMock(LoggerInterface::class); $logger->expects($this->exactly(1))->method('warning'); @@ -759,7 +766,7 @@ $session->expects($this->exactly(1))->method('getId')->willReturn('123456'); $session->expects($this->exactly(1))->method('getName')->willReturn('PHPSESSID'); $session->method('isStarted')->willReturn(true); - $session->expects($this->exactly(2))->method('getUsageIndex')->will($this->onConsecutiveCalls(0, 1)); + $session->expects($this->exactly(2))->method('getUsageIndex')->willReturn(0, 1); $session->expects($this->exactly(1))->method('save'); $container = new Container(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -45,11 +45,21 @@ protected function setUp(): void { - $this->listener = $this->getMockForAbstractClass(AbstractTestSessionListener::class); $this->session = $this->getSession(); - $this->listener->expects($this->any()) - ->method('getSession') - ->willReturn($this->session); + $this->listener = new class($this->session) extends AbstractTestSessionListener { + private $session; + + public function __construct($session) + { + parent::__construct(); + $this->session = $session; + } + + public function getSession(): ?SessionInterface + { + return $this->session; + } + }; } public function testShouldSaveMainRequestSession() @@ -158,7 +168,7 @@ $this->assertTrue(true); } - private function filterResponse(Request $request, $type = HttpKernelInterface::MAIN_REQUEST, Response $response = null) + private function filterResponse(Request $request, $type = HttpKernelInterface::MAIN_REQUEST, ?Response $response = null) { $request->setSession($this->session); $response = $response ?? new Response(); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/AccessDeniedHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/AccessDeniedHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/AccessDeniedHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/AccessDeniedHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ class AccessDeniedHttpExceptionTest extends HttpExceptionTest { - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new AccessDeniedHttpException($message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/BadRequestHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/BadRequestHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/BadRequestHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/BadRequestHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ class BadRequestHttpExceptionTest extends HttpExceptionTest { - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new BadRequestHttpException($message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/ConflictHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/ConflictHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/ConflictHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/ConflictHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ class ConflictHttpExceptionTest extends HttpExceptionTest { - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new ConflictHttpException($message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/GoneHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/GoneHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/GoneHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/GoneHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ class GoneHttpExceptionTest extends HttpExceptionTest { - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new GoneHttpException($message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/HttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/HttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/HttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/HttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -63,7 +63,7 @@ $this->assertSame($previous, $exception->getPrevious()); } - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new HttpException(200, $message, $previous, $headers, $code); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/LengthRequiredHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/LengthRequiredHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/LengthRequiredHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/LengthRequiredHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ class LengthRequiredHttpExceptionTest extends HttpExceptionTest { - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new LengthRequiredHttpException($message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/MethodNotAllowedHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/MethodNotAllowedHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/MethodNotAllowedHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/MethodNotAllowedHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -45,7 +45,7 @@ $this->assertSame($headers, $exception->getHeaders()); } - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new MethodNotAllowedHttpException(['get'], $message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/NotAcceptableHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/NotAcceptableHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/NotAcceptableHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/NotAcceptableHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ class NotAcceptableHttpExceptionTest extends HttpExceptionTest { - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new NotAcceptableHttpException($message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/NotFoundHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/NotFoundHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/NotFoundHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/NotFoundHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ class NotFoundHttpExceptionTest extends HttpExceptionTest { - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new NotFoundHttpException($message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/PreconditionFailedHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/PreconditionFailedHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/PreconditionFailedHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/PreconditionFailedHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ class PreconditionFailedHttpExceptionTest extends HttpExceptionTest { - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new PreconditionFailedHttpException($message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/PreconditionRequiredHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/PreconditionRequiredHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/PreconditionRequiredHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/PreconditionRequiredHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ class PreconditionRequiredHttpExceptionTest extends HttpExceptionTest { - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new PreconditionRequiredHttpException($message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/ServiceUnavailableHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/ServiceUnavailableHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/ServiceUnavailableHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/ServiceUnavailableHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -45,7 +45,7 @@ $this->assertSame($headers, $exception->getHeaders()); } - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new ServiceUnavailableHttpException(null, $message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/TooManyRequestsHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/TooManyRequestsHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/TooManyRequestsHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/TooManyRequestsHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -45,7 +45,7 @@ $this->assertSame($headers, $exception->getHeaders()); } - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new TooManyRequestsHttpException(null, $message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnauthorizedHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnauthorizedHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnauthorizedHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnauthorizedHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -45,7 +45,7 @@ $this->assertSame($headers, $exception->getHeaders()); } - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new UnauthorizedHttpException('Challenge', $message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnprocessableEntityHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnprocessableEntityHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnprocessableEntityHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnprocessableEntityHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ class UnprocessableEntityHttpExceptionTest extends HttpExceptionTest { - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new UnprocessableEntityHttpException($message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnsupportedMediaTypeHttpExceptionTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnsupportedMediaTypeHttpExceptionTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnsupportedMediaTypeHttpExceptionTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Exception/UnsupportedMediaTypeHttpExceptionTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -16,7 +16,7 @@ class UnsupportedMediaTypeHttpExceptionTest extends HttpExceptionTest { - protected function createException(string $message = '', \Throwable $previous = null, int $code = 0, array $headers = []): HttpException + protected function createException(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []): HttpException { return new UnsupportedMediaTypeHttpException($message, $previous, $code, $headers); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/DataCollector/CloneVarDataCollector.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/DataCollector/CloneVarDataCollector.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/DataCollector/CloneVarDataCollector.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/DataCollector/CloneVarDataCollector.php 2026-05-20 08:22:01.000000000 +0000 @@ -24,7 +24,7 @@ $this->varToClone = $varToClone; } - public function collect(Request $request, Response $response, \Throwable $exception = null) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { $this->data = $this->cloneVar($this->varToClone); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTestWithLoadClassCache.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTestWithLoadClassCache.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTestWithLoadClassCache.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTestWithLoadClassCache.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,19 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\HttpKernel\Tests\Fixtures; + +class KernelForTestWithLoadClassCache extends KernelForTest +{ + public function doLoadClassCache(): void + { + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/MockableUploadFileWithClientSize.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/MockableUploadFileWithClientSize.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/MockableUploadFileWithClientSize.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/MockableUploadFileWithClientSize.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,22 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\HttpKernel\Tests\Fixtures; + +use Symfony\Component\HttpFoundation\File\UploadedFile; + +class MockableUploadFileWithClientSize extends UploadedFile +{ + public function getClientSize(): int + { + return 0; + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/UsePropertyInDestruct.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/UsePropertyInDestruct.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/UsePropertyInDestruct.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/UsePropertyInDestruct.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,16 @@ +parent !== null) { + $this->parent->name = ''; + } + } +} diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/WithPublicObjectProperty.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/WithPublicObjectProperty.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/WithPublicObjectProperty.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fixtures/WithPublicObjectProperty.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +expectException(\InvalidArgumentException::class); - $handler = $this->getHandler($this->returnValue(new Response('foo'))); + $handler = $this->getHandler(new Response('foo')); $handler->render('/', 'bar'); } public function testDeliverWithUnsuccessfulResponse() { - $handler = $this->getHandler($this->returnValue(new Response('foo', 404))); + $handler = $this->getHandler(new Response('foo', 404)); try { $handler->render('/', 'foo'); $this->fail('->render() throws a \RuntimeException exception if response is not successful'); @@ -70,7 +70,7 @@ { $expectedRequest = Request::create('/'); $handler = $this->getHandler( - $this->returnValue(new Response('foo')), + new Response('foo'), [ '/', $this->callback(function (Request $request) use ($expectedRequest) { @@ -97,7 +97,7 @@ $e = $renderer ->expects($this->any()) ->method('render') - ->will($returnValue) + ->willReturn($returnValue) ; if ($arguments) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,14 +33,14 @@ { public function testRender() { - $strategy = new InlineFragmentRenderer($this->getKernel($this->returnValue(new Response('foo')))); + $strategy = new InlineFragmentRenderer($this->getKernel(new Response('foo'))); $this->assertEquals('foo', $strategy->render('/', Request::create('/'))->getContent()); } public function testRenderWithControllerReference() { - $strategy = new InlineFragmentRenderer($this->getKernel($this->returnValue(new Response('foo')))); + $strategy = new InlineFragmentRenderer($this->getKernel(new Response('foo'))); $this->assertEquals('foo', $strategy->render(new ControllerReference('main_controller', [], []), Request::create('/'))->getContent()); } @@ -81,7 +81,7 @@ $dispatcher = $this->createMock(EventDispatcherInterface::class); $dispatcher->expects($this->never())->method('dispatch'); - $strategy = new InlineFragmentRenderer($this->getKernel($this->throwException(new \RuntimeException('foo'))), $dispatcher); + $strategy = new InlineFragmentRenderer($this->getKernel(new \RuntimeException('foo')), $dispatcher); $this->assertEquals('foo', $strategy->render('/', Request::create('/'))->getContent()); } @@ -89,7 +89,7 @@ public function testRenderExceptionIgnoreErrors() { $exception = new \RuntimeException('foo'); - $kernel = $this->getKernel($this->throwException($exception)); + $kernel = $this->getKernel($exception); $request = Request::create('/'); $expectedEvent = new ExceptionEvent($kernel, $request, $kernel::SUB_REQUEST, $exception); $dispatcher = $this->createMock(EventDispatcherInterface::class); @@ -102,10 +102,17 @@ public function testRenderExceptionIgnoreErrorsWithAlt() { - $strategy = new InlineFragmentRenderer($this->getKernel($this->onConsecutiveCalls( - $this->throwException(new \RuntimeException('foo')), - $this->returnValue(new Response('bar')) - ))); + $strategy = new InlineFragmentRenderer($this->getKernel($this->returnCallback(function () { + static $firstCall = true; + + if ($firstCall) { + $firstCall = false; + + throw new \RuntimeException('foo'); + } + + return new Response('bar'); + }))); $this->assertEquals('bar', $strategy->render('/', Request::create('/'), ['ignore_errors' => true, 'alt' => '/foo'])->getContent()); } @@ -113,12 +120,17 @@ private function getKernel($returnValue) { $kernel = $this->createMock(HttpKernelInterface::class); - $kernel + $mocker = $kernel ->expects($this->any()) ->method('handle') - ->will($returnValue) ; + if ($returnValue instanceof \Exception) { + $mocker->willThrowException($returnValue); + } else { + $mocker->willReturn(...(\is_array($returnValue) ? $returnValue : [$returnValue])); + } + return $kernel; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fragment/RoutableFragmentRendererTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fragment/RoutableFragmentRendererTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Fragment/RoutableFragmentRendererTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Fragment/RoutableFragmentRendererTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -75,7 +75,7 @@ private function callGenerateFragmentUriMethod(ControllerReference $reference, Request $request, $absolute = false) { - $renderer = $this->getMockForAbstractClass(RoutableFragmentRenderer::class); + $renderer = $this->createStub(RoutableFragmentRenderer::class); $r = new \ReflectionObject($renderer); $m = $r->getMethod('generateFragmentUri'); $m->setAccessible(true); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -102,7 +102,7 @@ $response = new Response(' www.example.com Keep this'."\n www.example.com And this"); $this->assertSame($response, $esi->process($request, $response)); - $this->assertEquals(' Keep this And this', $response->getContent()); + $this->assertEquals(' Keep this And this', substr($response->getContent(), 24, -24)); } public function testCommentTagsAreRemoved() @@ -113,7 +113,7 @@ $response = new Response(' Keep this'); $this->assertSame($response, $esi->process($request, $response)); - $this->assertEquals(' Keep this', $response->getContent()); + $this->assertEquals(' Keep this', substr($response->getContent(), 24, -24)); } public function testProcess() @@ -124,23 +124,27 @@ $response = new Response('foo '); $this->assertSame($response, $esi->process($request, $response)); - $this->assertEquals('foo surrogate->handle($this, \'...\', \'alt\', true) ?>'."\n", $response->getContent()); + $content = explode(substr($response->getContent(), 0, 24), $response->getContent()); + $this->assertSame(['', 'foo ', "...\nalt\n1\n", ''], $content); $this->assertEquals('ESI', $response->headers->get('x-body-eval')); $response = new Response('foo '); $this->assertSame($response, $esi->process($request, $response)); - $this->assertEquals('foo surrogate->handle($this, \'foo\\\'\', \'bar\\\'\', true) ?>'."\n", $response->getContent()); + $content = explode(substr($response->getContent(), 0, 24), $response->getContent()); + $this->assertSame(['', 'foo ', "foo'\nbar'\n1\n", ''], $content); $response = new Response('foo '); $this->assertSame($response, $esi->process($request, $response)); - $this->assertEquals('foo surrogate->handle($this, \'...\', \'\', false) ?>'."\n", $response->getContent()); + $content = explode(substr($response->getContent(), 0, 24), $response->getContent()); + $this->assertSame(['', 'foo ', "...\n\n\n", ''], $content); $response = new Response('foo '); $this->assertSame($response, $esi->process($request, $response)); - $this->assertEquals('foo surrogate->handle($this, \'...\', \'\', false) ?>'."\n", $response->getContent()); + $content = explode(substr($response->getContent(), 0, 24), $response->getContent()); + $this->assertSame(['', 'foo ', "...\n\n\n", ''], $content); } public function testProcessEscapesPhpTags() @@ -151,7 +155,8 @@ $response = new Response(''); $this->assertSame($response, $esi->process($request, $response)); - $this->assertEquals('php cript language=php>', $response->getContent()); + $content = explode(substr($response->getContent(), 0, 24), $response->getContent()); + $this->assertSame(['', '', ''], $content); } public function testProcessWhenNoSrcInAnEsi() @@ -240,7 +245,7 @@ if (\is_array($response)) { $cache->expects($this->any()) ->method('handle') - ->will($this->onConsecutiveCalls(...$response)) + ->willReturn(...$response) ; } else { $cache->expects($this->any()) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -61,6 +61,17 @@ $this->assertFalse($this->response->headers->has('Age')); } + public function testPassesSuspiciousMethodRequests() + { + $this->setNextResponse(200); + $this->request('POST', '/', ['HTTP_X-HTTP-Method-Override' => '__CONSTRUCT']); + $this->assertHttpKernelIsCalled(); + $this->assertResponseOk(); + $this->assertTraceNotContains('stale'); + $this->assertTraceNotContains('invalid'); + $this->assertFalse($this->response->headers->has('Age')); + } + public function testInvalidatesOnPostPutDeleteRequests() { foreach (['post', 'put', 'delete'] as $method) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,7 +18,7 @@ use Symfony\Component\HttpKernel\HttpCache\Store; use Symfony\Component\HttpKernel\HttpKernelInterface; -class HttpCacheTestCase extends TestCase +abstract class HttpCacheTestCase extends TestCase { protected $kernel; protected $cache; @@ -147,7 +147,7 @@ } // A basic response with 200 status code and a tiny body. - public function setNextResponse($statusCode = 200, array $headers = [], $body = 'Hello World', \Closure $customizer = null) + public function setNextResponse($statusCode = 200, array $headers = [], $body = 'Hello World', ?\Closure $customizer = null) { $this->kernel = new TestHttpKernel($body, $statusCode, $headers, $customizer); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/ResponseCacheStrategyTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/ResponseCacheStrategyTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/ResponseCacheStrategyTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/ResponseCacheStrategyTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -76,6 +76,64 @@ $this->assertFalse($response->headers->hasCacheControlDirective('s-maxage')); } + public function testExpiresHeaderUpdatedFromMaxAge() + { + $cacheStrategy = new ResponseCacheStrategy(); + + $response1 = new Response(); + $response1->setExpires(new \DateTime('+ 1 hour')); + $response1->setPublic(); + $cacheStrategy->add($response1); + + $response = new Response(); + $response->setMaxAge(0); + $response->setSharedMaxAge(86400); + $cacheStrategy->update($response); + + $this->assertSame('0', $response->headers->getCacheControlDirective('max-age')); + $this->assertSame('3600', $response->headers->getCacheControlDirective('s-maxage')); + + // Expires header must be same as Date header because "max-age" is 0. + $this->assertSame($response->headers->get('Date'), $response->headers->get('Expires')); + } + + public function testMaxAgeUpdatedFromExpiresHeader() + { + $cacheStrategy = new ResponseCacheStrategy(); + + $response1 = new Response(); + $response1->setExpires(new \DateTime('+ 1 hour', new \DateTimeZone('UTC'))); + $response1->setPublic(); + $cacheStrategy->add($response1); + + $response = new Response(); + $response->setMaxAge(86400); + $cacheStrategy->update($response); + + $this->assertSame('3600', $response->headers->getCacheControlDirective('max-age')); + $this->assertNull($response->headers->getCacheControlDirective('s-maxage')); + $this->assertSame((new \DateTime('+ 1 hour', new \DateTimeZone('UTC')))->format('D, d M Y H:i:s').' GMT', $response->headers->get('Expires')); + } + + public function testMaxAgeAndSharedMaxAgeUpdatedFromExpiresHeader() + { + $cacheStrategy = new ResponseCacheStrategy(); + + $response1 = new Response(); + $response1->setExpires(new \DateTime('+ 1 day', new \DateTimeZone('UTC'))); + $response1->setPublic(); + $cacheStrategy->add($response1); + + $response = new Response(); + $response->setMaxAge(3600); + $response->setSharedMaxAge(86400); + $cacheStrategy->update($response); + + $this->assertSame('3600', $response->headers->getCacheControlDirective('max-age')); + $this->assertSame('86400', $response->headers->getCacheControlDirective('s-maxage')); + $this->assertSame((new \DateTime('+ 1 hour', new \DateTimeZone('UTC')))->format('D, d M Y H:i:s').' GMT', $response->headers->get('Expires')); + } + public function testMainResponseNotCacheableWhenEmbeddedResponseRequiresValidation() { $cacheStrategy = new ResponseCacheStrategy(); @@ -243,7 +301,7 @@ * * @dataProvider cacheControlMergingProvider */ - public function testCacheControlMerging(array $expects, array $master, array $surrogates) + public function testCacheControlMerging(array $expects, array $main, array $surrogates) { $cacheStrategy = new ResponseCacheStrategy(); $buildResponse = function ($config) { @@ -257,7 +315,7 @@ case 'expires': $expires = clone $response->getDate(); - $expires->modify('+'.$value.' seconds'); + $expires = $expires->modify('+'.$value.' seconds'); $response->setExpires($expires); break; @@ -289,7 +347,7 @@ $cacheStrategy->add($buildResponse($config)); } - $response = $buildResponse($master); + $response = $buildResponse($main); $cacheStrategy->update($response); foreach ($expects as $key => $value) { @@ -371,7 +429,7 @@ ]; yield 'merge max-age and s-maxage' => [ - ['public' => true, 'max-age' => '60'], + ['public' => true, 'max-age' => null, 's-maxage' => '60'], ['public' => true, 's-maxage' => 3600], [ ['public' => true, 'max-age' => 60], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/SsiTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/SsiTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/SsiTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/SsiTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -101,13 +101,15 @@ $response = new Response('foo '); $ssi->process($request, $response); - $this->assertEquals('foo surrogate->handle($this, \'...\', \'\', false) ?>'."\n", $response->getContent()); + $content = explode(substr($response->getContent(), 0, 24), $response->getContent()); + $this->assertSame(['', 'foo ', "...\n\n\n", ''], $content); $this->assertEquals('SSI', $response->headers->get('x-body-eval')); $response = new Response('foo '); $ssi->process($request, $response); - $this->assertEquals("foo surrogate->handle(\$this, 'foo\\'', '', false) ?>\n", $response->getContent()); + $content = explode(substr($response->getContent(), 0, 24), $response->getContent()); + $this->assertSame(['', 'foo ', "foo'\n\n\n", ''], $content); } public function testProcessEscapesPhpTags() @@ -118,7 +120,8 @@ $response = new Response(''); $ssi->process($request, $response); - $this->assertEquals('php cript language=php>', $response->getContent()); + $content = explode(substr($response->getContent(), 0, 24), $response->getContent()); + $this->assertSame(['', '', ''], $content); } public function testProcessWhenNoSrcInAnSsi() @@ -198,7 +201,7 @@ if (\is_array($response)) { $cache->expects($this->any()) ->method('handle') - ->will($this->onConsecutiveCalls(...$response)) + ->willReturn(...$response) ; } else { $cache->expects($this->any()) diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -200,7 +200,7 @@ { $this->storeSimpleEntry(); $response = $this->store->lookup($this->request); - $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test')), $response->getContent()); + $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test')), $response->headers->get('X-Body-File')); } public function testInvalidatesMetaAndEntityStoreEntriesWithInvalidate() @@ -253,9 +253,9 @@ $res3 = new Response('test 3', 200, ['Vary' => 'Foo Bar']); $this->store->write($req3, $res3); - $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 3')), $this->store->lookup($req3)->getContent()); - $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 2')), $this->store->lookup($req2)->getContent()); - $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 1')), $this->store->lookup($req1)->getContent()); + $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 3')), $this->store->lookup($req3)->headers->get('X-Body-File')); + $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 2')), $this->store->lookup($req2)->headers->get('X-Body-File')); + $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 1')), $this->store->lookup($req1)->headers->get('X-Body-File')); $this->assertCount(3, $this->getStoreMetadata($key)); } @@ -265,17 +265,17 @@ $req1 = Request::create('/test', 'get', [], [], [], ['HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar']); $res1 = new Response('test 1', 200, ['Vary' => 'Foo Bar']); $this->store->write($req1, $res1); - $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 1')), $this->store->lookup($req1)->getContent()); + $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 1')), $this->store->lookup($req1)->headers->get('X-Body-File')); $req2 = Request::create('/test', 'get', [], [], [], ['HTTP_FOO' => 'Bling', 'HTTP_BAR' => 'Bam']); $res2 = new Response('test 2', 200, ['Vary' => 'Foo Bar']); $this->store->write($req2, $res2); - $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 2')), $this->store->lookup($req2)->getContent()); + $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 2')), $this->store->lookup($req2)->headers->get('X-Body-File')); $req3 = Request::create('/test', 'get', [], [], [], ['HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar']); $res3 = new Response('test 3', 200, ['Vary' => 'Foo Bar']); $key = $this->store->write($req3, $res3); - $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 3')), $this->store->lookup($req3)->getContent()); + $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 3')), $this->store->lookup($req3)->headers->get('X-Body-File')); $this->assertCount(2, $this->getStoreMetadata($key)); } @@ -330,6 +330,33 @@ $this->assertNotEmpty($response->headers->getCookies()); } + public function testDiscardsInvalidBodyEval() + { + $request = Request::create('https://example.com/foo'); + $response = new Response('foo', 200, ['X-Body-Eval' => 'SSI']); + + $this->store->write($request, $response); + $this->assertNull($this->store->lookup($request)); + + $request = Request::create('https://example.com/foo'); + $content = str_repeat('a', 24).'b'.str_repeat('a', 24).'b'; + $response = new Response($content, 200, ['X-Body-Eval' => 'SSI']); + + $this->store->write($request, $response); + $this->assertNull($this->store->lookup($request)); + } + + public function testLoadsBodyEval() + { + $request = Request::create('https://example.com/foo'); + $content = str_repeat('a', 24).'b'.str_repeat('a', 24); + $response = new Response($content, 200, ['X-Body-Eval' => 'SSI']); + + $this->store->write($request, $response); + $response = $this->store->lookup($request); + $this->assertSame($content, $response->getContent()); + } + protected function storeSimpleEntry($path = null, $headers = []) { if (null === $path) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php 2026-05-20 08:22:01.000000000 +0000 @@ -29,7 +29,7 @@ protected $catch = false; protected $backendRequest; - public function __construct($body, $status, $headers, \Closure $customizer = null) + public function __construct($body, $status, $headers, ?\Closure $customizer = null) { $this->body = $body; $this->status = $status; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpKernelBrowserTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpKernelBrowserTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpKernelBrowserTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpKernelBrowserTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -18,6 +18,7 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\StreamedResponse; use Symfony\Component\HttpKernel\HttpKernelBrowser; +use Symfony\Component\HttpKernel\Tests\Fixtures\MockableUploadFileWithClientSize; use Symfony\Component\HttpKernel\Tests\Fixtures\TestClient; /** @@ -153,10 +154,9 @@ $client = new HttpKernelBrowser($kernel); $file = $this - ->getMockBuilder(UploadedFile::class) + ->getMockBuilder(MockableUploadFileWithClientSize::class) ->setConstructorArgs([$source, 'original', 'mime/original', \UPLOAD_ERR_OK, true]) - ->onlyMethods(['getSize']) - ->addMethods(['getClientSize']) + ->onlyMethods(['getSize', 'getClientSize']) ->getMock() ; /* should be modified when the getClientSize will be removed */ diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -391,7 +391,7 @@ Request::setTrustedProxies([], -1); } - private function getHttpKernel(EventDispatcherInterface $eventDispatcher, $controller = null, RequestStack $requestStack = null, array $arguments = []) + private function getHttpKernel(EventDispatcherInterface $eventDispatcher, $controller = null, ?RequestStack $requestStack = null, array $arguments = []) { if (null === $controller) { $controller = function () { return new Response('Hello'); }; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/KernelTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/KernelTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/KernelTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/KernelTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,6 +30,7 @@ use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\HttpKernel\Kernel; use Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest; +use Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTestWithLoadClassCache; use Symfony\Component\HttpKernel\Tests\Fixtures\KernelWithoutBundles; use Symfony\Component\HttpKernel\Tests\Fixtures\ResettableService; @@ -148,7 +149,7 @@ public function testClassCacheIsNotLoadedByDefault() { - $kernel = $this->getKernel(['initializeBundles'], [], false, ['doLoadClassCache']); + $kernel = $this->getKernel(['initializeBundles', 'doLoadClassCache'], [], false, KernelForTestWithLoadClassCache::class); $kernel->expects($this->never()) ->method('doLoadClassCache'); @@ -400,7 +401,7 @@ $kernel ->expects($this->exactly(2)) ->method('getBundle') - ->willReturn($this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle', null, null, 'Bundle1Bundle')) + ->willReturn($this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle', null, 'Bundle1Bundle')) ; $this->assertEquals( @@ -417,8 +418,8 @@ { $this->expectException(\LogicException::class); $this->expectExceptionMessage('Trying to register two bundles with the same name "DuplicateName"'); - $fooBundle = $this->getBundle(__DIR__.'/Fixtures/FooBundle', null, 'FooBundle', 'DuplicateName'); - $barBundle = $this->getBundle(__DIR__.'/Fixtures/BarBundle', null, 'BarBundle', 'DuplicateName'); + $fooBundle = $this->getBundle(__DIR__.'/Fixtures/FooBundle', 'FooBundle', 'DuplicateName'); + $barBundle = $this->getBundle(__DIR__.'/Fixtures/BarBundle', 'BarBundle', 'DuplicateName'); $kernel = $this->getKernel([], [$fooBundle, $barBundle]); $kernel->boot(); @@ -628,11 +629,10 @@ /** * Returns a mock for the BundleInterface. */ - protected function getBundle($dir = null, $parent = null, $className = null, $bundleName = null): BundleInterface + protected function getBundle($dir = null, $className = null, $bundleName = null): BundleInterface { $bundle = $this ->getMockBuilder(BundleInterface::class) - ->onlyMethods(['getPath', 'getName']) ->disableOriginalConstructor() ; @@ -640,7 +640,7 @@ $bundle->setMockClassName($className); } - $bundle = $bundle->getMockForAbstractClass(); + $bundle = $bundle->getMock(); $bundle ->expects($this->any()) @@ -663,20 +663,16 @@ * @param array $methods Additional methods to mock (besides the abstract ones) * @param array $bundles Bundles to register */ - protected function getKernel(array $methods = [], array $bundles = [], bool $debug = false, array $methodsToAdd = []): Kernel + protected function getKernel(array $methods = [], array $bundles = [], bool $debug = false, string $kernelClass = KernelForTest::class): Kernel { $methods[] = 'registerBundles'; $kernelMockBuilder = $this - ->getMockBuilder(KernelForTest::class) + ->getMockBuilder($kernelClass) ->onlyMethods($methods) ->setConstructorArgs(['test', $debug]) ; - if (0 !== \count($methodsToAdd)) { - $kernelMockBuilder->addMethods($methodsToAdd); - } - $kernel = $kernelMockBuilder->getMock(); $kernel->expects($this->any()) ->method('registerBundles') @@ -713,7 +709,7 @@ private $buildContainer; private $httpKernel; - public function __construct(\Closure $buildContainer = null, HttpKernelInterface $httpKernel = null, $env = 'custom') + public function __construct(?\Closure $buildContainer = null, ?HttpKernelInterface $httpKernel = null, $env = 'custom') { parent::__construct($env, true); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -336,12 +336,12 @@ $handle = fopen($this->tmpDir.'/index.csv', 'r'); for ($i = 0; $i < $iteration; ++$i) { - $row = fgetcsv($handle); + $row = fgetcsv($handle, null, ',', '"', '\\'); $this->assertEquals('token'.$i, $row[0]); $this->assertEquals('127.0.0.'.$i, $row[1]); $this->assertEquals('http://foo.bar/'.$i, $row[3]); } - $this->assertFalse(fgetcsv($handle)); + $this->assertFalse(fgetcsv($handle, null, ',', '"', '\\')); } public function testReadLineFromFile() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/UriSignerTest.php symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/UriSignerTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/Tests/UriSignerTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/Tests/UriSignerTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,14 +43,19 @@ public function testCheckWithDifferentArgSeparator() { - $this->iniSet('arg_separator.output', '&'); - $signer = new UriSigner('foobar'); + $initialSeparatorOutput = ini_set('arg_separator.output', '&'); - $this->assertSame( - 'http://example.com/foo?_hash=rIOcC%2FF3DoEGo%2FvnESjSp7uU9zA9S%2F%2BOLhxgMexoPUM%3D&baz=bay&foo=bar', - $signer->sign('http://example.com/foo?foo=bar&baz=bay') - ); - $this->assertTrue($signer->check($signer->sign('http://example.com/foo?foo=bar&baz=bay'))); + try { + $signer = new UriSigner('foobar'); + + $this->assertSame( + 'http://example.com/foo?_hash=rIOcC%2FF3DoEGo%2FvnESjSp7uU9zA9S%2F%2BOLhxgMexoPUM%3D&baz=bay&foo=bar', + $signer->sign('http://example.com/foo?foo=bar&baz=bay') + ); + $this->assertTrue($signer->check($signer->sign('http://example.com/foo?foo=bar&baz=bay'))); + } finally { + ini_set('arg_separator.output', $initialSeparatorOutput); + } } public function testCheckWithRequest() diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/composer.json symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/composer.json --- symfony-5.4.23+dfsg/src/Symfony/Component/HttpKernel/composer.json 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/HttpKernel/composer.json 2026-05-20 08:22:01.000000000 +0000 @@ -41,6 +41,7 @@ "symfony/stopwatch": "^4.4|^5.0|^6.0", "symfony/translation": "^4.4|^5.0|^6.0", "symfony/translation-contracts": "^1.1|^2|^3", + "symfony/var-dumper": "^4.4.31|^5.4", "psr/cache": "^1.0|^2.0|^3.0", "twig/twig": "^2.13|^3.0.4" }, diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Inflector/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/Inflector/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Inflector/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/Inflector/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Inflector/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/Inflector/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Inflector/Tests/InflectorTest.php symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/Tests/InflectorTest.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Inflector/Tests/InflectorTest.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/Tests/InflectorTest.php 2026-05-20 08:22:01.000000000 +0000 @@ -37,7 +37,7 @@ ['atlases', ['atlas', 'atlase', 'atlasis']], ['axes', ['ax', 'axe', 'axis']], ['babies', 'baby'], - ['bacteria', ['bacterion', 'bacterium']], + ['bacteria', 'bacterium'], ['bases', ['bas', 'base', 'basis']], ['batches', ['batch', 'batche']], ['beaux', 'beau'], @@ -48,6 +48,7 @@ ['bureaux', 'bureau'], ['buses', ['bus', 'buse', 'busis']], ['bushes', ['bush', 'bushe']], + ['buttons', 'button'], ['calves', ['calf', 'calve', 'calff']], ['cars', 'car'], ['cassettes', ['cassett', 'cassette']], @@ -58,10 +59,12 @@ ['circuses', ['circus', 'circuse', 'circusis']], ['cliffs', 'cliff'], ['committee', 'committee'], + ['corpora', 'corpus'], + ['coupons', 'coupon'], ['crises', ['cris', 'crise', 'crisis']], - ['criteria', ['criterion', 'criterium']], + ['criteria', 'criterion'], ['cups', 'cup'], - ['coupons', 'coupon'], + ['curricula', 'curriculum'], ['data', 'data'], ['days', 'day'], ['discos', 'disco'], @@ -87,6 +90,7 @@ ['funguses', ['fungus', 'funguse', 'fungusis']], ['garages', ['garag', 'garage']], ['geese', 'goose'], + ['genera', 'genus'], ['halves', ['half', 'halve', 'halff']], ['hats', 'hat'], ['heroes', ['hero', 'heroe']], @@ -107,6 +111,8 @@ ['lives', 'life'], ['matrices', ['matrex', 'matrix', 'matrice']], ['matrixes', 'matrix'], + ['media', 'medium'], + ['memoranda', 'memorandum'], ['men', 'man'], ['mice', 'mouse'], ['moves', 'move'], @@ -120,7 +126,7 @@ ['parties', 'party'], ['people', 'person'], ['persons', 'person'], - ['phenomena', ['phenomenon', 'phenomenum']], + ['phenomena', 'phenomenon'], ['photos', 'photo'], ['pianos', 'piano'], ['plateaux', 'plateau'], @@ -144,7 +150,7 @@ ['spies', 'spy'], ['staves', ['staf', 'stave', 'staff']], ['stories', 'story'], - ['strata', ['straton', 'stratum']], + ['strata', 'stratum'], ['suitcases', ['suitcas', 'suitcase', 'suitcasis']], ['syllabi', 'syllabus'], ['tags', 'tag'], @@ -180,7 +186,7 @@ ['alumnus', 'alumni'], ['analysis', 'analyses'], ['antenna', 'antennas'], // antennae - ['appendix', ['appendicies', 'appendixes']], + ['appendix', ['appendices', 'appendixes']], ['arch', 'arches'], ['atlas', 'atlases'], ['axe', 'axes'], @@ -195,7 +201,9 @@ ['bureau', ['bureaus', 'bureaux']], ['bus', 'buses'], ['bush', 'bushes'], + ['button', 'buttons'], ['calf', ['calfs', 'calves']], + ['campus', 'campuses'], ['car', 'cars'], ['cassette', 'cassettes'], ['cave', 'caves'], @@ -205,10 +213,11 @@ ['circus', 'circuses'], ['cliff', 'cliffs'], ['committee', 'committees'], + ['coupon', 'coupons'], ['crisis', 'crises'], - ['criteria', 'criterion'], + ['criterion', 'criteria'], ['cup', 'cups'], - ['coupon', 'coupons'], + ['curriculum', 'curricula'], ['data', 'data'], ['day', 'days'], ['disco', 'discos'], @@ -220,7 +229,7 @@ ['edge', 'edges'], ['elf', ['elfs', 'elves']], ['emphasis', 'emphases'], - ['fax', ['facies', 'faxes']], + ['fax', ['faxes', 'faxxes']], ['feedback', 'feedback'], ['focus', 'focuses'], ['foot', 'feet'], @@ -232,10 +241,12 @@ ['half', ['halfs', 'halves']], ['hat', 'hats'], ['hero', 'heroes'], + ['hippocampus', 'hippocampi'], ['hippopotamus', 'hippopotami'], // hippopotamuses ['hoax', 'hoaxes'], ['hoof', ['hoofs', 'hooves']], ['house', 'houses'], + ['icon', 'icons'], ['index', ['indicies', 'indexes']], ['ion', 'ions'], ['iris', 'irises'], @@ -247,7 +258,9 @@ ['life', 'lives'], ['louse', 'lice'], ['man', 'men'], - ['matrix', ['matricies', 'matrixes']], + ['matrix', ['matrices', 'matrixes']], + ['medium', 'media'], + ['memorandum', 'memoranda'], ['mouse', 'mice'], ['move', 'moves'], ['movie', 'movies'], diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Inflector/composer.json symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/composer.json --- symfony-5.4.23+dfsg/src/Symfony/Component/Inflector/composer.json 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Inflector/composer.json 2026-05-20 08:22:01.000000000 +0000 @@ -26,7 +26,7 @@ "php": ">=7.2.5", "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-php80": "^1.16", - "symfony/string": "^5.3.10|^6.0" + "symfony/string": "^5.4.47|^6.4.15" }, "autoload": { "psr-4": { "Symfony\\Component\\Inflector\\": "" }, diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/.gitattributes symfony-5.4.52+dfsg/src/Symfony/Component/Intl/.gitattributes --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/.gitattributes 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/.gitattributes 2026-05-20 08:22:01.000000000 +0000 @@ -1,4 +1,3 @@ /Tests export-ignore /phpunit.xml.dist export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore +/.git* export-ignore diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/.github/PULL_REQUEST_TEMPLATE.md symfony-5.4.52+dfsg/src/Symfony/Component/Intl/.github/PULL_REQUEST_TEMPLATE.md --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/.github/PULL_REQUEST_TEMPLATE.md 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,8 @@ +Please do not submit any Pull Requests here. They will be closed. +--- + +Please submit your PR here instead: +https://github.com/symfony/symfony + +This repository is what we call a "subtree split": a read-only subset of that main repository. +We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/.github/workflows/close-pull-request.yml symfony-5.4.52+dfsg/src/Symfony/Component/Intl/.github/workflows/close-pull-request.yml --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/.github/workflows/close-pull-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/.github/workflows/close-pull-request.yml 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,20 @@ +name: Close Pull Request + +on: + pull_request_target: + types: [opened] + +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + Thanks for your Pull Request! We love contributions. + + However, you should instead open your PR on the main repository: + https://github.com/symfony/symfony + + This repository is what we call a "subtree split": a read-only subset of that main repository. + We're looking forward to your PR there! diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Countries.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Countries.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Countries.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Countries.php 2026-05-20 08:22:01.000000000 +0000 @@ -89,7 +89,7 @@ * * @throws MissingResourceException if the country code does not exist */ - public static function getName(string $country, string $displayLocale = null): string + public static function getName(string $country, ?string $displayLocale = null): string { return self::readEntry(['Names', $country], $displayLocale); } @@ -99,7 +99,7 @@ * * @throws MissingResourceException if the country code does not exist */ - public static function getAlpha3Name(string $alpha3Code, string $displayLocale = null): string + public static function getAlpha3Name(string $alpha3Code, ?string $displayLocale = null): string { return self::getName(self::getAlpha2Code($alpha3Code), $displayLocale); } @@ -109,7 +109,7 @@ * * @return array */ - public static function getNames(string $displayLocale = null): array + public static function getNames(?string $displayLocale = null): array { return self::asort(self::readEntry(['Names'], $displayLocale), $displayLocale); } @@ -121,7 +121,7 @@ * * @return array */ - public static function getAlpha3Names(string $displayLocale = null): array + public static function getAlpha3Names(?string $displayLocale = null): array { $alpha2Names = self::getNames($displayLocale); $alpha3Names = []; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Currencies.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Currencies.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Currencies.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Currencies.php 2026-05-20 08:22:01.000000000 +0000 @@ -50,7 +50,7 @@ /** * @throws MissingResourceException if the currency code does not exist */ - public static function getName(string $currency, string $displayLocale = null): string + public static function getName(string $currency, ?string $displayLocale = null): string { return self::readEntry(['Names', $currency, self::INDEX_NAME], $displayLocale); } @@ -58,7 +58,7 @@ /** * @return string[] */ - public static function getNames(string $displayLocale = null): array + public static function getNames(?string $displayLocale = null): array { // ==================================================================== // For reference: It is NOT possible to return names indexed by @@ -82,7 +82,7 @@ /** * @throws MissingResourceException if the currency code does not exist */ - public static function getSymbol(string $currency, string $displayLocale = null): string + public static function getSymbol(string $currency, ?string $displayLocale = null): string { return self::readEntry(['Names', $currency, self::INDEX_SYMBOL], $displayLocale); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Data/Bundle/Writer/PhpBundleWriter.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Data/Bundle/Writer/PhpBundleWriter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Data/Bundle/Writer/PhpBundleWriter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Data/Bundle/Writer/PhpBundleWriter.php 2026-05-20 08:22:01.000000000 +0000 @@ -11,6 +11,8 @@ namespace Symfony\Component\Intl\Data\Bundle\Writer; +use Symfony\Component\VarExporter\VarExporter; + /** * Writes .php resource bundles. * @@ -42,14 +44,6 @@ } }); - $data = var_export($data, true); - $data = preg_replace('/array \(/', '[', $data); - $data = preg_replace('/\n {1,10}\[/', '[', $data); - $data = preg_replace('/ /', ' ', $data); - $data = preg_replace('/\),$/m', '],', $data); - $data = preg_replace('/\)$/', ']', $data); - $data = sprintf($template, $data); - - file_put_contents($path.'/'.$locale.'.php', $data); + file_put_contents($path.'/'.$locale.'.php', sprintf($template, VarExporter::export($data))); } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Data/Generator/LanguageDataGenerator.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Data/Generator/LanguageDataGenerator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Data/Generator/LanguageDataGenerator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Data/Generator/LanguageDataGenerator.php 2026-05-20 08:22:01.000000000 +0000 @@ -142,12 +142,11 @@ $localizedNames[$language] = $name; } } - $data = [ + + return [ 'Names' => $names, 'LocalizedNames' => $localizedNames, ]; - - return $data; } return null; @@ -243,7 +242,7 @@ foreach ($metadataBundle['alias']['language'] as $alias => $data) { $language = $data['replacement']; - if (2 === \strlen($language) && 3 === \strlen($alias) && 'overlong' === $data['reason']) { + if (2 === \strlen($language) && 3 === \strlen($alias) && \in_array($data['reason'], ['overlong', 'bibliographic'], true)) { $alpha3ToAlpha2[$alias] = $language; } } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Data/Generator/TimezoneDataGenerator.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Data/Generator/TimezoneDataGenerator.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Data/Generator/TimezoneDataGenerator.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Data/Generator/TimezoneDataGenerator.php 2026-05-20 08:22:01.000000000 +0000 @@ -177,7 +177,7 @@ $regionFormat = $reader->readEntry($tempDir, $locale, ['zoneStrings', 'regionFormat']); $fallbackFormat = $reader->readEntry($tempDir, $locale, ['zoneStrings', 'fallbackFormat']); - $resolveName = function (string $id, string $city = null) use ($reader, $tempDir, $locale, $regionFormat, $fallbackFormat): ?string { + $resolveName = function (string $id, ?string $city = null) use ($reader, $tempDir, $locale, $regionFormat, $fallbackFormat): ?string { // Resolve default name as described per http://cldr.unicode.org/translation/timezones if (isset($this->zoneToCountryMapping[$id])) { try { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour1200Transformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour1200Transformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour1200Transformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour1200Transformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,7 +36,7 @@ /** * {@inheritdoc} */ - public function normalizeHour(int $hour, string $marker = null): int + public function normalizeHour(int $hour, ?string $marker = null): int { if ('PM' === $marker) { $hour += 12; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour1201Transformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour1201Transformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour1201Transformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour1201Transformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ /** * {@inheritdoc} */ - public function normalizeHour(int $hour, string $marker = null): int + public function normalizeHour(int $hour, ?string $marker = null): int { if ('PM' !== $marker && 12 === $hour) { $hour = 0; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour2400Transformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour2400Transformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour2400Transformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour2400Transformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -33,7 +33,7 @@ /** * {@inheritdoc} */ - public function normalizeHour(int $hour, string $marker = null): int + public function normalizeHour(int $hour, ?string $marker = null): int { if ('AM' === $marker) { $hour = 0; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour2401Transformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour2401Transformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour2401Transformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/Hour2401Transformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -36,7 +36,7 @@ /** * {@inheritdoc} */ - public function normalizeHour(int $hour, string $marker = null): int + public function normalizeHour(int $hour, ?string $marker = null): int { if ((null === $marker && 24 === $hour) || 'AM' === $marker) { $hour = 0; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/HourTransformer.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/HourTransformer.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/HourTransformer.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/DateFormat/HourTransformer.php 2026-05-20 08:22:01.000000000 +0000 @@ -30,5 +30,5 @@ * * @return int The normalized hour value */ - abstract public function normalizeHour(int $hour, string $marker = null): int; + abstract public function normalizeHour(int $hour, ?string $marker = null): int; } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/DateFormatter/IntlDateFormatter.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/IntlDateFormatter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/DateFormatter/IntlDateFormatter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/DateFormatter/IntlDateFormatter.php 2026-05-20 08:22:01.000000000 +0000 @@ -134,7 +134,7 @@ * @throws MethodArgumentValueNotImplementedException When $locale different than "en" or null is passed * @throws MethodArgumentValueNotImplementedException When $calendar different than GREGORIAN is passed */ - public function __construct(?string $locale, ?int $datetype, ?int $timetype, $timezone = null, ?int $calendar = self::GREGORIAN, string $pattern = null) + public function __construct(?string $locale, ?int $datetype, ?int $timetype, $timezone = null, ?int $calendar = self::GREGORIAN, ?string $pattern = null) { if ('en' !== $locale && null !== $locale) { throw new MethodArgumentValueNotImplementedException(__METHOD__, 'locale', $locale, 'Only the locale "en" is supported'); @@ -174,7 +174,7 @@ * @throws MethodArgumentValueNotImplementedException When $locale different than "en" or null is passed * @throws MethodArgumentValueNotImplementedException When $calendar different than GREGORIAN is passed */ - public static function create(?string $locale, ?int $datetype, ?int $timetype, $timezone = null, int $calendar = self::GREGORIAN, string $pattern = null) + public static function create(?string $locale, ?int $datetype, ?int $timetype, $timezone = null, int $calendar = self::GREGORIAN, ?string $pattern = null) { return new static($locale, $datetype, $timetype, $timezone, $calendar, $pattern); } @@ -244,7 +244,7 @@ * * @throws MethodNotImplementedException */ - public static function formatObject(object $object, $format = null, string $locale = null) + public static function formatObject(object $object, $format = null, ?string $locale = null) { throw new MethodNotImplementedException(__METHOD__); } @@ -430,7 +430,7 @@ * * @throws MethodArgumentNotImplementedException When $position different than null, behavior not implemented */ - public function parse(string $value, int &$position = null) + public function parse(string $value, ?int &$position = null) { // We don't calculate the position when parsing the value if (null !== $position) { diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Intl.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Intl.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Intl.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Intl.php 2026-05-20 08:22:01.000000000 +0000 @@ -117,7 +117,7 @@ */ public static function getIcuStubVersion(): string { - return '73.1'; + return '76.1'; } /** diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Languages.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Languages.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Languages.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Languages.php 2026-05-20 08:22:01.000000000 +0000 @@ -56,7 +56,7 @@ * * @throws MissingResourceException if the language code does not exist */ - public static function getName(string $language, string $displayLocale = null): string + public static function getName(string $language, ?string $displayLocale = null): string { try { return self::readEntry(['Names', $language], $displayLocale); @@ -78,7 +78,7 @@ * * @return array */ - public static function getNames(string $displayLocale = null): array + public static function getNames(?string $displayLocale = null): array { return self::asort(self::readEntry(['Names'], $displayLocale), $displayLocale); } @@ -139,7 +139,7 @@ * * @throws MissingResourceException if the country code does not exists */ - public static function getAlpha3Name(string $language, string $displayLocale = null): string + public static function getAlpha3Name(string $language, ?string $displayLocale = null): string { try { return self::getName(self::getAlpha2Code($language), $displayLocale); @@ -159,7 +159,7 @@ * * @return array */ - public static function getAlpha3Names(string $displayLocale = null): array + public static function getAlpha3Names(?string $displayLocale = null): array { $alpha2Names = self::getNames($displayLocale); $alpha3Names = []; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Locale/Locale.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Locale/Locale.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Locale/Locale.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Locale/Locale.php 2026-05-20 08:22:01.000000000 +0000 @@ -161,7 +161,7 @@ * * @throws MethodNotImplementedException */ - public static function getDisplayLanguage(string $locale, string $inLocale = null) + public static function getDisplayLanguage(string $locale, ?string $inLocale = null) { throw new MethodNotImplementedException(__METHOD__); } @@ -178,7 +178,7 @@ * * @throws MethodNotImplementedException */ - public static function getDisplayName(string $locale, string $inLocale = null) + public static function getDisplayName(string $locale, ?string $inLocale = null) { throw new MethodNotImplementedException(__METHOD__); } @@ -195,7 +195,7 @@ * * @throws MethodNotImplementedException */ - public static function getDisplayRegion(string $locale, string $inLocale = null) + public static function getDisplayRegion(string $locale, ?string $inLocale = null) { throw new MethodNotImplementedException(__METHOD__); } @@ -212,7 +212,7 @@ * * @throws MethodNotImplementedException */ - public static function getDisplayScript(string $locale, string $inLocale = null) + public static function getDisplayScript(string $locale, ?string $inLocale = null) { throw new MethodNotImplementedException(__METHOD__); } @@ -229,7 +229,7 @@ * * @throws MethodNotImplementedException */ - public static function getDisplayVariant(string $locale, string $inLocale = null) + public static function getDisplayVariant(string $locale, ?string $inLocale = null) { throw new MethodNotImplementedException(__METHOD__); } @@ -310,7 +310,7 @@ * * @throws MethodNotImplementedException */ - public static function lookup(array $langtag, string $locale, bool $canonicalize = false, string $default = null) + public static function lookup(array $langtag, string $locale, bool $canonicalize = false, ?string $default = null) { throw new MethodNotImplementedException(__METHOD__); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Locales.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Locales.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Locales.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Locales.php 2026-05-20 08:22:01.000000000 +0000 @@ -51,7 +51,7 @@ /** * @throws MissingResourceException if the locale does not exist */ - public static function getName(string $locale, string $displayLocale = null): string + public static function getName(string $locale, ?string $displayLocale = null): string { try { return self::readEntry(['Names', $locale], $displayLocale); @@ -67,7 +67,7 @@ /** * @return string[] */ - public static function getNames(string $displayLocale = null): array + public static function getNames(?string $displayLocale = null): array { return self::asort(self::readEntry(['Names'], $displayLocale), $displayLocale); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php 2026-05-20 08:22:01.000000000 +0000 @@ -259,7 +259,7 @@ * @throws MethodArgumentValueNotImplementedException When the $style is not supported * @throws MethodArgumentNotImplementedException When the pattern value is different than null */ - public function __construct(?string $locale = 'en', int $style = null, string $pattern = null) + public function __construct(?string $locale = 'en', ?int $style = null, ?string $pattern = null) { if ('en' !== $locale && null !== $locale) { throw new MethodArgumentValueNotImplementedException(__METHOD__, 'locale', $locale, 'Only the locale "en" is supported'); @@ -298,7 +298,7 @@ * @throws MethodArgumentValueNotImplementedException When the $style is not supported * @throws MethodArgumentNotImplementedException When the pattern value is different than null */ - public static function create(?string $locale = 'en', int $style = null, string $pattern = null) + public static function create(?string $locale = 'en', ?int $style = null, ?string $pattern = null) { return new static($locale, $style, $pattern); } @@ -495,7 +495,7 @@ * * @throws MethodNotImplementedException */ - public function parseCurrency(string $value, string &$currency, int &$position = null) + public function parseCurrency(string $value, string &$currency, ?int &$position = null) { throw new MethodNotImplementedException(__METHOD__); } diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/ResourceBundle.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/ResourceBundle.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/ResourceBundle.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/ResourceBundle.php 2026-05-20 08:22:01.000000000 +0000 @@ -43,7 +43,7 @@ * @return mixed returns an array or {@link \ArrayAccess} instance for * complex data and a scalar value for simple data */ - final protected static function readEntry(array $indices, string $locale = null, bool $fallback = true) + final protected static function readEntry(array $indices, ?string $locale = null, bool $fallback = true) { if (null === self::$entryReader) { self::$entryReader = new BundleEntryReader(new BufferedBundleReader( @@ -58,7 +58,7 @@ return self::$entryReader->readEntry(static::getPath(), $locale ?? \Locale::getDefault(), $indices, $fallback); } - final protected static function asort(iterable $list, string $locale = null): array + final protected static function asort(iterable $list, ?string $locale = null): array { if ($list instanceof \Traversable) { $list = iterator_to_array($list); diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/bin/compile symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/bin/compile --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/bin/compile 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/bin/compile 2026-05-20 08:22:01.000000000 +0000 @@ -1,6 +1,5 @@ #!/usr/bin/env bash -[[ $1 == force ]] && docker pull jakzal/php-intl [[ ! -d /tmp/symfony/icu ]] && mkdir -p /tmp/symfony/icu docker run \ @@ -9,5 +8,5 @@ -v /tmp/symfony/icu:/tmp \ -v $(pwd):/symfony \ -w /symfony \ - jakzal/php-intl:8.1-70.1 \ + jakzal/php-intl:8.3-74.1 \ php src/Symfony/Component/Intl/Resources/bin/update-data.php diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/bin/update-data.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/bin/update-data.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/bin/update-data.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/bin/update-data.php 2026-05-20 08:22:01.000000000 +0000 @@ -160,7 +160,11 @@ } $genrb = $buildDir.'/bin/genrb'; -$genrbEnv = 'LD_LIBRARY_PATH='.$buildDir.'/lib '; +if (\PHP_OS === 'Darwin') { + $genrbEnv = 'DYLD_LIBRARY_PATH='.$buildDir.'/lib '; +} else { + $genrbEnv = 'LD_LIBRARY_PATH='.$buildDir.'/lib '; +} echo "Using $genrb.\n"; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/af.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/af.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/af.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/af.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,684 +3,688 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'Verenigde Arabiese Emirate-dirham', + 'AED', + 'Verenigde Arabiese Emirate-dirham', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afgaanse afgani', + 'AFN', + 'Afgaanse afgani', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Albanese lek', + 'ALL', + 'Albanese lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Armeense dram', + 'AMD', + 'Armeense dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Nederlands-Antilliaanse gulde', + 'ANG', + 'Nederlands-Antilliaanse gulde', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Angolese kwanza', + 'AOA', + 'Angolese kwanza', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Argentynse peso', + 'ARS', + 'Argentynse peso', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Australiese dollar', + 'A$', + 'Australiese dollar', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Arubaanse floryn', + 'AWG', + 'Arubaanse floryn', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Azerbeidjaanse manat', + 'AZN', + 'Azerbeidjaanse manat', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Bosnies-Herzegowiniese omskakelbare marka', + 'BAM', + 'Bosnies-Herzegowiniese omskakelbare marka', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Barbados-dollar', + 'BBD', + 'Barbados-dollar', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Bangladesjiese taka', + 'BDT', + 'Bangladesjiese taka', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Bulgaarse lev', + 'BGN', + 'Bulgaarse lev', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Bahreinse dinar', + 'BHD', + 'Bahreinse dinar', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Burundiese frank', + 'BIF', + 'Burundiese frank', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermuda-dollar', + 'BMD', + 'Bermuda-dollar', ], 'BND' => [ - 0 => 'BND', - 1 => 'Broeneise dollar', + 'BND', + 'Broeneise dollar', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Boliviaanse boliviano', + 'BOB', + 'Boliviaanse boliviano', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Brasilliaanse reaal', + 'R$', + 'Brasilliaanse reaal', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Bahamiaanse dollar', + 'BSD', + 'Bahamiaanse dollar', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Bhoetanese ngoeltroem', + 'BTN', + 'Bhoetanese ngoeltroem', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Botswana-pula', + 'BWP', + 'Botswana-pula', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Belarusiese roebel', + 'BYN', + 'Belarusiese roebel', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Belo-Russiese roebel (2000–2016)', + 'BYR', + 'Belo-Russiese roebel (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Beliziese dollar', + 'BZD', + 'Beliziese dollar', ], 'CAD' => [ - 0 => 'CAD', - 1 => 'Kanadese dollar', + 'CAD', + 'Kanadese dollar', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Kongolese frank', + 'CDF', + 'Kongolese frank', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Switserse frank', + 'CHF', + 'Switserse frank', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Chileense peso', + 'CLP', + 'Chileense peso', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Chinese joean (buiteland)', + 'CNH', + 'Chinese joean (buiteland)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Chinese joean', + 'CN¥', + 'Chinese joean', ], 'COP' => [ - 0 => 'COP', - 1 => 'Colombiaanse peso', + 'COP', + 'Colombiaanse peso', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Costa Ricaanse colón', + 'CRC', + 'Costa Ricaanse colón', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Kubaanse omskakelbare peso', + 'CUC', + 'Kubaanse omskakelbare peso', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Kubaanse peso', + 'CUP', + 'Kubaanse peso', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Kaap Verdiese escudo', + 'CVE', + 'Kaap Verdiese escudo', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Tsjeggiese kroon', + 'CZK', + 'Tsjeggiese kroon', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Djiboeti-frank', + 'DJF', + 'Djiboeti-frank', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Deense kroon', + 'DKK', + 'Deense kroon', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Dominikaanse peso', + 'DOP', + 'Dominikaanse peso', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Algeriese dinar', + 'DZD', + 'Algeriese dinar', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Egiptiese pond', + 'EGP', + 'Egiptiese pond', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Eritrese nakfa', + 'ERN', + 'Eritrese nakfa', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Etiopiese birr', + 'ETB', + 'Etiopiese birr', ], 'EUR' => [ - 0 => '€', - 1 => 'Euro', + '€', + 'Euro', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Fidjiaanse dollar', + 'FJD', + 'Fidjiaanse dollar', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Falkland-eilandse pond', + 'FKP', + 'Falkland-eilandse pond', ], 'GBP' => [ - 0 => '£', - 1 => 'Britse pond', + '£', + 'Britse pond', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Georgiese lari', + 'GEL', + 'Georgiese lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Ghanese cedi (1979–2007)', + 'GHC', + 'Ghanese cedi (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Ghanese cedi', + 'GHS', + 'Ghanese cedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Gibraltarese pond', + 'GIP', + 'Gibraltarese pond', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Gambiese dalasi', + 'GMD', + 'Gambiese dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Guinese frank', + 'GNF', + 'Guinese frank', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Guinese syli', + 'GNS', + 'Guinese syli', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Guatemalaanse quetzal', + 'GTQ', + 'Guatemalaanse kwetsal', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Guyanese dollar', + 'GYD', + 'Guyanese dollar', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Hongkongse dollar', + 'HK$', + 'Hongkongse dollar', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Hondurese lempira', + 'HNL', + 'Hondurese lempira', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Kroatiese kuna', + 'HRK', + 'Kroatiese kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Haïtiaanse gourde', + 'HTG', + 'Haïtiaanse gourde', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Hongaarse florint', + 'HUF', + 'Hongaarse florint', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Indonesiese roepia', + 'IDR', + 'Indonesiese roepia', ], 'ILS' => [ - 0 => '₪', - 1 => 'Israeliese nuwe sikkel', + '₪', + 'Israeliese nuwe sikkel', ], 'INR' => [ - 0 => '₹', - 1 => 'Indiese roepee', + '₹', + 'Indiese roepee', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Irakse dinar', + 'IQD', + 'Irakse dinar', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Iranse rial', + 'IRR', + 'Iranse rial', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Yslandse kroon', + 'ISK', + 'Yslandse kroon', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Italiaanse lier', + 'ITL', + 'Italiaanse lier', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Jamaikaanse dollar', + 'JMD', + 'Jamaikaanse dollar', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Jordaniese dinar', + 'JOD', + 'Jordaniese dinar', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Japannese jen', + 'JP¥', + 'Japannese jen', ], 'KES' => [ - 0 => 'KES', - 1 => 'Keniaanse sjieling', + 'KES', + 'Keniaanse sjieling', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Kirgisiese som', + 'KGS', + 'Kirgisiese som', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Kambodjaanse riel', + 'KHR', + 'Kambodjaanse riel', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Comoraanse frank', + 'KMF', + 'Comoraanse frank', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Noord-Koreaanse won', + 'KPW', + 'Noord-Koreaanse won', ], 'KRW' => [ - 0 => '₩', - 1 => 'Suid-Koreaanse won', + '₩', + 'Suid-Koreaanse won', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Koeweitse dinar', + 'KWD', + 'Koeweitse dinar', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Cayman-eilandse dollar', + 'KYD', + 'Cayman-eilandse dollar', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Kazakse tenge', + 'KZT', + 'Kazakse tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Laosiaanse kip', + 'LAK', + 'Laosiaanse kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Libanese pond', + 'LBP', + 'Libanese pond', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Sri Lankaanse roepee', + 'LKR', + 'Sri Lankaanse roepee', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Liberiese dollar', + 'LRD', + 'Liberiese dollar', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Lesotho loti', + 'LSL', + 'Lesotho loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litause litas', + 'LTL', + 'Litause litas', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Lettiese lats', + 'LVL', + 'Lettiese lats', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Libiese dinar', + 'LYD', + 'Libiese dinar', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Marokkaanse dirham', + 'MAD', + 'Marokkaanse dirham', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Moldowiese leu', + 'MDL', + 'Moldowiese leu', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Malgassiese ariary', + 'MGA', + 'Malgassiese ariary', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Macedoniese denar', + 'MKD', + 'Macedoniese denar', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Mianmese kyat', + 'MMK', + 'Mianmese kyat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Mongoolse toegrik', + 'MNT', + 'Mongoolse toegrik', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Macaose pataca', + 'MOP', + 'Macaose pataca', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Mauritaniese ouguiya (1973–2017)', + 'MRO', + 'Mauritaniese ouguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Mauritaniese ouguiya', + 'MRU', + 'Mauritaniese ouguiya', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Mauritiaanse roepee', + 'MUR', + 'Mauritiaanse roepee', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Malediviese rufia', + 'MVR', + 'Malediviese rufia', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Malawiese kwacha', + 'MWK', + 'Malawiese kwacha', ], 'MXN' => [ - 0 => 'MXN', - 1 => 'Meksikaanse peso', + 'MXN', + 'Meksikaanse peso', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Maleisiese ringgit', + 'MYR', + 'Maleisiese ringgit', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Mosambiekse metical (1980–2006)', + 'MZM', + 'Mosambiekse metical (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Mosambiekse metical', + 'MZN', + 'Mosambiekse metical', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Namibiese dollar', + 'NAD', + 'Namibiese dollar', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Nigeriese naira', + 'NGN', + 'Nigeriese naira', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Nicaraguaanse córdoba', + 'NIO', + 'Nicaraguaanse córdoba', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Noorse kroon', + 'NOK', + 'Noorse kroon', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Nepalese roepee', + 'NPR', + 'Nepalese roepee', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Nieu-Seelandse dollar', + 'NZ$', + 'Nieu-Seelandse dollar', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Omaanse rial', + 'OMR', + 'Omaanse rial', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Panamese balboa', + 'PAB', + 'Panamese balboa', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Peruaanse sol', + 'PEN', + 'Peruaanse sol', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Papoea-Nieu-Guinese kina', + 'PGK', + 'Papoea-Nieu-Guinese kina', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Filippynse peso', + 'PHP', + 'Filippynse peso', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Pakistanse roepee', + 'PKR', + 'Pakistanse roepee', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Poolse zloty', + 'PLN', + 'Poolse zloty', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Paraguaanse guarani', + 'PYG', + 'Paraguaanse guarani', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Katarrese rial', + 'QAR', + 'Katarrese rial', ], 'RON' => [ - 0 => 'RON', - 1 => 'Roemeense leu', + 'RON', + 'Roemeense leu', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Serwiese dinar', + 'RSD', + 'Serwiese dinar', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Russiese roebel', + 'RUB', + 'Russiese roebel', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Rwandese frank', + 'RWF', + 'Rwandese frank', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Saoedi-Arabiese riyal', + 'SAR', + 'Saoedi-Arabiese riyal', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Salomonseilandse dollar', + 'SBD', + 'Salomonseilandse dollar', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Seychellese roepee', + 'SCR', + 'Seychellese roepee', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Soedannese pond', + 'SDG', + 'Soedannese pond', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Soedannese pond (1957–1998)', + 'SDP', + 'Soedannese pond (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Sweedse kroon', + 'SEK', + 'Sweedse kroon', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Singapoer-dollar', + 'SGD', + 'Singapoer-dollar', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Sint Helena-pond', + 'SHP', + 'Sint Helena-pond', + ], + 'SLE' => [ + 'SLE', + 'Sierra Leoniese leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Sierra Leoniese leone', + 'SLL', + 'Sierra Leoniese leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Somaliese sjieling', + 'SOS', + 'Somaliese sjieling', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Surinaamse dollar', + 'SRD', + 'Surinaamse dollar', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Suid-Soedanese pond', + 'SSP', + 'Suid-Soedanese pond', ], 'STD' => [ - 0 => 'STD', - 1 => 'São Tomé en Príncipe dobra (1977–2017)', + 'STD', + 'São Tomé en Príncipe dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'São Tomé en Príncipe-dobra', + 'STN', + 'São Tomé en Príncipe-dobra', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Siriese pond', + 'SYP', + 'Siriese pond', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Swazilandse lilangeni', + 'SZL', + 'Swazilandse lilangeni', ], 'THB' => [ - 0 => '฿', - 1 => 'Thaise baht', + '฿', + 'Thaise baht', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Tadjikse somoni', + 'TJS', + 'Tadjikse somoni', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Turkmeense manat', + 'TMT', + 'Turkmeense manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'Tunisiese dinar', + 'TND', + 'Tunisiese dinar', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Tongaanse pa’anga', + 'TOP', + 'Tongaanse pa’anga', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Turkse lier (1922–2005)', + 'TRL', + 'Turkse lier (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Turkse lira', + 'TRY', + 'Turkse lira', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Trinidad en Tobago-dollar', + 'TTD', + 'Trinidad en Tobago-dollar', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Nuwe Taiwanese dollar', + 'NT$', + 'Nuwe Taiwanese dollar', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Tanzaniese sjieling', + 'TZS', + 'Tanzaniese sjieling', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Oekraïnse hriwna', + 'UAH', + 'Oekraïnse hriwna', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Ugandese sjieling', + 'UGX', + 'Ugandese sjieling', ], 'USD' => [ - 0 => 'USD', - 1 => 'VSA-dollar', + 'USD', + 'VSA-dollar', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Uruguaanse peso', + 'UYU', + 'Uruguaanse peso', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Oezbekiese som', + 'UZS', + 'Oezbekiese som', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Venezolaanse bolivar', + 'VEF', + 'Venezolaanse bolivar', ], 'VES' => [ - 0 => 'VES', - 1 => 'Venezolaanse bolívar', + 'VES', + 'Venezolaanse bolívar', ], 'VND' => [ - 0 => '₫', - 1 => 'Viëtnamese dong', + '₫', + 'Viëtnamese dong', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vanuatuse vatu', + 'VUV', + 'Vanuatuse vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Samoaanse tala', + 'WST', + 'Samoaanse tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Sentraal Afrikaanse CFA-frank', + 'FCFA', + 'Sentraal Afrikaanse CFA-frank', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Oos-Karibiese dollar', + 'EC$', + 'Oos-Karibiese dollar', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Wes-Afrikaanse CFA-frank', + 'F CFA', + 'Wes-Afrikaanse CFA-frank', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP-frank', + 'CFPF', + 'CFP-frank', ], 'YER' => [ - 0 => 'YER', - 1 => 'Jemenitiese rial', + 'YER', + 'Jemenitiese rial', ], 'ZAR' => [ - 0 => 'R', - 1 => 'Suid-Afrikaanse rand', + 'R', + 'Suid-Afrikaanse rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Zambiese kwacha (1968–2012)', + 'ZMK', + 'Zambiese kwacha (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Zambiese kwacha', + 'ZMW', + 'Zambiese kwacha', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Zimbabwiese dollar', + 'ZWD', + 'Zimbabwiese dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/af_NA.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/af_NA.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/af_NA.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/af_NA.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'NAD' => [ - 0 => '$', - 1 => 'Namibiese dollar', + '$', + 'Namibiese dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ak.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ak.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ak.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ak.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,232 +3,664 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'Ɛmirete Arab Nkabɔmu Deram', + 'AED', + 'Ɛmirete Arab Nkabɔmu Deram', + ], + 'AFN' => [ + 'AFN', + 'Afghanfoɔ Afghani', + ], + 'ALL' => [ + 'ALL', + 'Albania Lek', + ], + 'AMD' => [ + 'AMD', + 'Amɛnia dram', + ], + 'ANG' => [ + 'ANG', + 'Nɛdɛlande Antɛlia guuda', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Angola Kwanza', + 'AOA', + 'Angola Kwanza', + ], + 'ARS' => [ + 'ARS', + 'Agɛntina peso', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Ɔstrelia Dɔla', + 'A$', + 'Ɔstrelia Dɔla', + ], + 'AWG' => [ + 'AWG', + 'Aruba flɔrin', + ], + 'AZN' => [ + 'AZN', + 'Azɛbagyan manat', + ], + 'BAM' => [ + 'BAM', + 'Bɔsnia-Hɛzegɔvina nsesa maake', + ], + 'BBD' => [ + 'BBD', + 'Babadɔso dɔla', + ], + 'BDT' => [ + 'BDT', + 'Bangladehye taka', + ], + 'BGN' => [ + 'BGN', + 'Bɔɔgaria lɛv', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Baren Dina', + 'BHD', + 'Baren Dina', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Burundi Frank', + 'BIF', + 'Burundi Frank', + ], + 'BMD' => [ + 'BMD', + 'Bɛɛmuda dɔla', + ], + 'BND' => [ + 'BND', + 'Brunei dɔla', + ], + 'BOB' => [ + 'BOB', + 'Bolivia boliviano', + ], + 'BRL' => [ + 'R$', + 'Brazil reale', + ], + 'BSD' => [ + 'BSD', + 'Bahama dɔla', + ], + 'BTN' => [ + 'BTN', + 'Butanfoɔ ngutrum', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Botswana Pula', + 'BWP', + 'Botswana Pula', + ], + 'BYN' => [ + 'BYN', + 'Bɛlaruhyia ruble', + ], + 'BZD' => [ + 'BZD', + 'Belize Dɔla', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Kanada Dɔla', + 'CA$', + 'Kanada Dɔla', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Kongo Frank', + 'CDF', + 'Kongo Frank', + ], + 'CHF' => [ + 'CHF', + 'Swiss Franc', + ], + 'CLP' => [ + 'CLP', + 'Kyili Peso', + ], + 'CNH' => [ + 'CNH', + 'kyaena yuan (offshore)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Yuan', + 'CN¥', + 'kyaena yuan', + ], + 'COP' => [ + 'COP', + 'Kolombia peso', + ], + 'CRC' => [ + 'CRC', + 'Kɔsta Rika kɔlɔn', + ], + 'CUC' => [ + 'CUC', + 'Kuba nsesa peso', + ], + 'CUP' => [ + 'CUP', + 'Kuba peso', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Ɛskudo', + 'CVE', + 'Ɛskudo', + ], + 'CZK' => [ + 'CZK', + 'Kyɛk koruna', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Gyebuti Frank', + 'DJF', + 'Gyebuti Frank', + ], + 'DKK' => [ + 'DKK', + 'Danefoɔ krone', + ], + 'DOP' => [ + 'DOP', + 'Dɔmenika peso', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Ɔlgyeria Dina', + 'DZD', + 'Ɔlgyeria Dina', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Egypt Pɔn', + 'EGP', + 'Egypt Pɔn', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Ɛretereya Nakfa', + 'ERN', + 'Ɛretereya Nakfa', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Itiopia Bir', + 'ETB', + 'Itiopia Bir', ], 'EUR' => [ - 0 => '€', - 1 => 'Iro', + '€', + 'Iro', + ], + 'FJD' => [ + 'FJD', + 'Figyi Dɔla', + ], + 'FKP' => [ + 'FKP', + 'Fɔkland Aelande Pɔn', ], 'GBP' => [ - 0 => '£', - 1 => 'Breten Pɔn', + '£', + 'Breten Pɔn', + ], + 'GEL' => [ + 'GEL', + 'Gyɔɔgyia lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Ghana Sidi (1979–2007)', + 'GHC', + 'Ghana Sidi (1979–2007)', ], 'GHS' => [ - 0 => 'GH₵', - 1 => 'Ghana Sidi', + 'GH₵', + 'Ghana Sidi', + ], + 'GIP' => [ + 'GIP', + 'Gyebrotaa pɔn', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Gambia Dalasi', + 'GMD', + 'Gambia Dalasi', + ], + 'GNF' => [ + 'GNF', + 'Gini franke', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Gini Frank', + 'GNS', + 'Gini Frank', + ], + 'GTQ' => [ + 'GTQ', + 'Guatemala kwɛtsaa', + ], + 'GYD' => [ + 'GYD', + 'Gayana dɔla', + ], + 'HKD' => [ + 'HK$', + 'Hɔnkɔn Dɔla', + ], + 'HNL' => [ + 'HNL', + 'Hɔndura lɛmpira', + ], + 'HRK' => [ + 'HRK', + 'Krohyia kuna', + ], + 'HTG' => [ + 'HTG', + 'Haiti gɔɔde', + ], + 'HUF' => [ + 'HUF', + 'Hangari fɔrint', + ], + 'IDR' => [ + 'IDR', + 'Indɔnihyia rupia', + ], + 'ILS' => [ + '₪', + 'Israel hyekel foforɔ', ], 'INR' => [ - 0 => '₹', - 1 => 'India Rupi', + '₹', + 'India Rupi', + ], + 'IQD' => [ + 'Irak dinaa', + 'Irak dinaa', + ], + 'IRR' => [ + 'IRR', + 'Yiranfoɔ rial', + ], + 'ISK' => [ + 'ISK', + 'Icelandfoɔ Króna', + ], + 'JMD' => [ + 'JMD', + 'Gyameka dɔla', + ], + 'JOD' => [ + 'JOD', + 'Gyɔɔdan dinaa', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Gyapan Yɛn', + 'JP¥', + 'Gyapan Yɛn', ], 'KES' => [ - 0 => 'KES', - 1 => 'Kenya Hyelen', + 'KES', + 'Kenya Hyelen', + ], + 'KGS' => [ + 'KGS', + 'Kagyɛstan som', + ], + 'KHR' => [ + 'KHR', + 'Kambodia riel', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Komoro Frank', + 'KMF', + 'Komoro Frank', + ], + 'KPW' => [ + 'KPW', + 'Korea Atifi won', + ], + 'KRW' => [ + '₩', + 'Korea Anaafoɔ won', + ], + 'KWD' => [ + 'KWD', + 'Kuwait dinaa', + ], + 'KYD' => [ + 'KYD', + 'Kayemanfo Aelande dɔla', + ], + 'KZT' => [ + 'KZT', + 'Kagyastan tenge', + ], + 'LAK' => [ + 'LAK', + 'Laohyia kip', + ], + 'LBP' => [ + 'LBP', + 'Lɛbanon pɔn', + ], + 'LKR' => [ + 'LKR', + 'Sri Lankafoɔ rupee', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Laeberia Dɔla', + 'LRD', + 'Laeberia Dɔla', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Lesoto Loti', + 'LSL', + 'Lesoto Loti', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Libya Dina', + 'LYD', + 'Libya Dina', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Moroko Diram', + 'MAD', + 'Moroko Diram', + ], + 'MDL' => [ + 'MDL', + 'Moldova Leu', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Madagasi Frank', + 'MGA', + 'Madagasi Frank', + ], + 'MKD' => [ + 'MKD', + 'Masidonia denaa', + ], + 'MMK' => [ + 'MMK', + 'Mayamaa kyat', + ], + 'MNT' => [ + 'MNT', + 'Mongoliafoɔ tugrike', + ], + 'MOP' => [ + 'MOP', + 'Makaw pataka', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Mɔretenia Ouguiya (1973–2017)', + 'MRO', + 'Mɔretenia Ouguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Mɔretenia Ouguiya', + 'MRU', + 'Mɔretenia Ouguiya', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Mɔrehyeɔs Rupi', + 'MUR', + 'Mɔrehyeɔs Rupi', + ], + 'MVR' => [ + 'MVR', + 'Maldivefoɔ rufiyaa', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Malawi Kwacha', + 'MWK', + 'Malawi Kwakya', + ], + 'MXN' => [ + 'MX$', + 'Mɛksiko pɛso', + ], + 'MYR' => [ + 'MYR', + 'Malaahyia ringgit', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Mozambik Metical', + 'MZM', + 'Mozambik Metical', + ], + 'MZN' => [ + 'MZN', + 'Mozambik mɛtikaa', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Namibia Dɔla', + 'NAD', + 'Namibia Dɔla', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Naegyeria Naira', + 'NGN', + 'Naegyeria Naira', + ], + 'NIO' => [ + 'NIO', + 'Nikaragua kɔɔdɔba', + ], + 'NOK' => [ + 'NOK', + 'Nɔɔwee Krone', + ], + 'NPR' => [ + 'NPR', + 'Nepalfoɔ rupee', + ], + 'NZD' => [ + 'NZ$', + 'New Zealand Dɔla', + ], + 'OMR' => [ + 'OMR', + 'Oman rial', + ], + 'PAB' => [ + 'PAB', + 'Panama baaboa', + ], + 'PEN' => [ + 'PEN', + 'Pɛruvia sol', + ], + 'PGK' => [ + 'PGK', + 'Papua New Gini kina', + ], + 'PHP' => [ + '₱', + 'Filipine peso', + ], + 'PKR' => [ + 'PKR', + 'Pakistanfoɔ rupee', + ], + 'PLN' => [ + 'PLN', + 'Pɔlihye zloty', + ], + 'PYG' => [ + 'PYG', + 'Paragayana guarani', + ], + 'QAR' => [ + 'QAR', + 'Kata riyaa', + ], + 'RON' => [ + 'RON', + 'Romania Leu', + ], + 'RSD' => [ + 'RSD', + 'Sɛɛbia dinaa', + ], + 'RUB' => [ + 'RUB', + 'Rɔhyia rubuu', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Rewanda Frank', + 'RWF', + 'Rewanda Frank', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Saudi Riyal', + 'SAR', + 'Saudi Riyal', + ], + 'SBD' => [ + 'SBD', + 'Solomon Aeland Dɔla', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Seyhyɛls Rupi', + 'SCR', + 'Seyhyɛls Rupi', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Sudan Dina', + 'SDG', + 'Sudan Dina', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Sudan Pɔn', + 'SDP', + 'Sudan Pɔn', + ], + 'SEK' => [ + 'SEK', + 'Sweden Krona', + ], + 'SGD' => [ + 'SGD', + 'Singapɔɔ dɔla', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'St Helena Pɔn', + 'SHP', + 'St Helena Pɔn', + ], + 'SLE' => [ + 'SLE', + 'Leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Leone', + 'SLL', + 'Leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Somailia Hyelen', + 'SOS', + 'Somailia Hyelen', + ], + 'SRD' => [ + 'SRD', + 'Suriname dɔla', + ], + 'SSP' => [ + 'SSP', + 'Sudan Anaafoɔ Pɔn', ], 'STD' => [ - 0 => 'STD', - 1 => 'Sao Tome ne Principe Dobra (1977–2017)', + 'STD', + 'Sao Tome ne Principe Dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Sao Tome ne Principe Dobra', + 'STN', + 'Sao Tome ne Principe Dobra', + ], + 'SYP' => [ + 'SYP', + 'Siria pɔn', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Lilangeni', + 'SZL', + 'Lilangeni', + ], + 'THB' => [ + 'THB', + 'Tai bat', + ], + 'TJS' => [ + 'TJS', + 'Tagyikistan somoni', + ], + 'TMT' => [ + 'TMT', + 'Tɛkmɛstan manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'Tunisia Dina', + 'TND', + 'Tunisia Dina', + ], + 'TOP' => [ + 'TOP', + 'Tonga Paʻanga', + ], + 'TRY' => [ + 'TRY', + 'Tɛki lira', + ], + 'TTD' => [ + 'TTD', + 'Trinidad ne Tobago dɔla', + ], + 'TWD' => [ + 'NT$', + 'Taewanfoɔ dɔla foforɔ', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Tanzania Hyelen', + 'TZS', + 'Tanzania Hyelen', + ], + 'UAH' => [ + 'UAH', + 'Yukren hryvnia', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Uganda Hyelen', + 'UGX', + 'Uganda Hyelen', ], 'USD' => [ - 0 => 'US$', - 1 => 'Amɛrika Dɔla', + 'US$', + 'Amɛrika Dɔla', + ], + 'UYU' => [ + 'UYU', + 'Yurugueɛ peso', + ], + 'UZS' => [ + 'UZS', + 'Yusbɛkistan som', + ], + 'VES' => [ + 'VES', + 'Venezuelan bolívar', + ], + 'VND' => [ + '₫', + 'Viɛtnamfoɔ dɔn', + ], + 'VUV' => [ + 'VUV', + 'Vanuatu vatu', + ], + 'WST' => [ + 'WST', + 'Samoa Tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Sefa', + 'FCFA', + 'Afrika Mfinimfini Sefa', + ], + 'XCD' => [ + 'EC$', + 'Karibine Apueeɛ dɔla', + ], + 'XOF' => [ + 'AAS', + 'Afrika Atɔeɛ Sefa', + ], + 'XPF' => [ + 'CFPF', + 'CFP Franc', + ], + 'YER' => [ + 'YER', + 'Yɛmɛn rial', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Afrika Anaafo Rand', + 'ZAR', + 'Afrika Anaafo Rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Zambia Kwacha (1968–2012)', + 'ZMK', + 'Zambia Kwacha (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Zambia Kwacha', + 'ZMW', + 'Zambia Kwakya', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Zimbabwe Dɔla', + 'ZWD', + 'Zimbabwe Dɔla', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/am.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/am.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/am.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/am.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,668 +3,672 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'የተባበሩት የአረብ ኤምሬትስ ድርሀም', + 'AED', + 'የተባበሩት የአረብ ኤምሬትስ ድርሀም', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'የአፍጋን አፍጋኒ', + 'AFN', + 'የአፍጋን አፍጋኒ', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'የአልባንያ ሌክ', + 'ALL', + 'የአልባንያ ሌክ', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'የአርመን ድራም', + 'AMD', + 'የአርመን ድራም', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'ኔዘርላንድስ አንቲሊአን ጊልደር', + 'ANG', + 'ኔዘርላንድስ አንቲሊአን ጊልደር', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'የአንጎላ ኩዋንዛ', + 'AOA', + 'የአንጎላ ኩዋንዛ', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'የአርጀንቲና ፔሶ', + 'ARS', + 'የአርጀንቲና ፔሶ', ], 'AUD' => [ - 0 => 'AU$', - 1 => 'የአውስትራሊያ ዶላር', + 'AU$', + 'የአውስትራሊያ ዶላር', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'አሩባን ፍሎሪን', + 'AWG', + 'አሩባን ፍሎሪን', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'የአዛርባጃን ማናት', + 'AZN', + 'የአዛርባጃን ማናት', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'የቦስኒያ ሄርዞጎቪና የሚመነዘር ማርክ', + 'BAM', + 'የቦስኒያ ሄርዞጎቪና የሚመነዘር ማርክ', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'የባርቤዶስ ዶላር', + 'BBD', + 'የባርቤዶስ ዶላር', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'የባንግላዲሽ ታካ', + 'BDT', + 'የባንግላዲሽ ታካ', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'የቡልጋሪያ ሌቭ', + 'BGN', + 'የቡልጋሪያ ሌቭ', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'የባኽሬን ዲናር', + 'BHD', + 'የባኽሬን ዲናር', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'የብሩንዲ ፍራንክ', + 'BIF', + 'የብሩንዲ ፍራንክ', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'የቤርሙዳ ዶላር', + 'BMD', + 'የቤርሙዳ ዶላር', ], 'BND' => [ - 0 => 'BND', - 1 => 'የብሩኔ ዶላር', + 'BND', + 'የብሩኔ ዶላር', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'የቦሊቪያ ቦሊቪያኖ', + 'BOB', + 'የቦሊቪያ ቦሊቪያኖ', ], 'BRL' => [ - 0 => 'R$', - 1 => 'የብራዚል ሪል', + 'R$', + 'የብራዚል ሪል', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'የባሃማስ ዶላር', + 'BSD', + 'የባሃማስ ዶላር', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ብሁታኒዝ ንጉልትረም', + 'BTN', + 'ብሁታኒዝ ንጉልትረም', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'የቦትስዋና ፑላ', + 'BWP', + 'የቦትስዋና ፑላ', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'የቤላሩስያ ሩብል', + 'BYN', + 'የቤላሩስያ ሩብል', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'የቤላሩስያ ሩብል (2000–2016)', + 'BYR', + 'የቤላሩስያ ሩብል (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'የቤሊዝ ዶላር', + 'BZD', + 'የቤሊዝ ዶላር', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'የካናዳ ዶላር', + 'CA$', + 'የካናዳ ዶላር', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'የኮንጐ ፍራንክ ኮንጐሌዝ', + 'CDF', + 'የኮንጐ ፍራንክ ኮንጐሌዝ', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'የስዊስ ፍራንክ', + 'CHF', + 'የስዊስ ፍራንክ', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'የቺሊ ፔሶ', + 'CLP', + 'የቺሊ ፔሶ', ], 'CNH' => [ - 0 => 'የቻይና ዩዋን', - 1 => 'የቻይና ዩዋን (የውጭ ምንዛሪ)', + 'CNH', + 'የቻይና ዩዋን (የውጭ ምንዛሪ)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'የቻይና የን', + 'CN¥', + 'የቻይና የን', ], 'COP' => [ - 0 => 'COP', - 1 => 'የኮሎምቢያ ፔሶ', + 'COP', + 'የኮሎምቢያ ፔሶ', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'የኮስታሪካ ኮሎን', + 'CRC', + 'የኮስታሪካ ኮሎን', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'የኩባ የሚመነዘር ፔሶ', + 'CUC', + 'የኩባ የሚመነዘር ፔሶ', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'የኩባ ፔሶ', + 'CUP', + 'የኩባ ፔሶ', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'የኬፕ ቫርዲ ኤስኩዶ', + 'CVE', + 'የኬፕ ቫርዲ ኤስኩዶ', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'ቼክ ሪፐብሊክ ኮሩና', + 'CZK', + 'ቼክ ሪፐብሊክ ኮሩና', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'የጅቡቲ ፍራንክ', + 'DJF', + 'የጅቡቲ ፍራንክ', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'የዴንማርክ ክሮን', + 'DKK', + 'የዴንማርክ ክሮን', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'የዶሚኒክ ፔሶ', + 'DOP', + 'የዶሚኒክ ፔሶ', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'የአልጄሪያ ዲናር', + 'DZD', + 'የአልጄሪያ ዲናር', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'የግብጽ ፓውንድ', + 'EGP', + 'የግብጽ ፓውንድ', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'የኤርትራ ናቅፋ', + 'ERN', + 'የኤርትራ ናቅፋ', ], 'ETB' => [ - 0 => 'ብር', - 1 => 'የኢትዮጵያ ብር', + 'ብር', + 'የኢትዮጵያ ብር', ], 'EUR' => [ - 0 => '€', - 1 => 'ዩሮ', + '€', + 'ዩሮ', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'የፊጂ ዶላር', + 'FJD', + 'የፊጂ ዶላር', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'የፎክላንድ ደሴቶች ፓውንድ', + 'FKP', + 'የፎክላንድ ደሴቶች ፓውንድ', ], 'GBP' => [ - 0 => '£', - 1 => 'የእንግሊዝ ፓውንድ ስተርሊንግ', + '£', + 'የእንግሊዝ ፓውንድ ስተርሊንግ', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'የጆርጅያ ላሪ', + 'GEL', + 'የጆርጅያ ላሪ', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'የጋና ሴዲ', + 'GHC', + 'የጋና ሴዲ', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'የጋና ሲዲ', + 'GHS', + 'የጋና ሲዲ', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'ጂብራልተር ፓውንድ', + 'GIP', + 'ጂብራልተር ፓውንድ', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'የጋምቢያ ዳላሲ', + 'GMD', + 'የጋምቢያ ዳላሲ', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'የጊኒ ፍራንክ', + 'GNF', + 'የጊኒ ፍራንክ', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'ጓቲማላን ኩቲዛል', + 'GTQ', + 'ጓቲማላን ኩቲዛል', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'የጉየና ዶላር', + 'GYD', + 'የጉየና ዶላር', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'የሆንግኮንግ ዶላር', + 'HK$', + 'የሆንግኮንግ ዶላር', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'የሃንዱራ ሌምፓአይራ', + 'HNL', + 'የሃንዱራ ሌምፓአይራ', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'የክሮሽያ ኩና', + 'HRK', + 'የክሮሽያ ኩና', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'የሃያቲ ጓርዴ', + 'HTG', + 'የሃያቲ ጓርዴ', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'የሃንጋሪያን ፎሪንት', + 'HUF', + 'የሃንጋሪያን ፎሪንት', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'የኢንዶኔዥያ ሩፒሃ', + 'IDR', + 'የኢንዶኔዥያ ሩፒሃ', ], 'ILS' => [ - 0 => '₪', - 1 => 'የእስራኤል አዲስ ሽቅል', + '₪', + 'የእስራኤል አዲስ ሽቅል', ], 'INR' => [ - 0 => '₹', - 1 => 'የሕንድ ሩፒ', + '₹', + 'የሕንድ ሩፒ', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'የኢራቅ ዲናር', + 'IQD', + 'የኢራቅ ዲናር', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'የኢራን ሪአል', + 'IRR', + 'የኢራን ሪአል', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'የአይስላንድ ክሮና', + 'ISK', + 'የአይስላንድ ክሮና', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'የጃማይካ ዶላር', + 'JMD', + 'የጃማይካ ዶላር', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'የጆርዳን ዲናር', + 'JOD', + 'የጆርዳን ዲናር', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'የጃፓን የን', + 'JP¥', + 'የጃፓን የን', ], 'KES' => [ - 0 => 'KES', - 1 => 'የኬኒያ ሺሊንግ', + 'KES', + 'የኬኒያ ሺሊንግ', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'የኪርጊስታን ሶም', + 'KGS', + 'የኪርጊስታን ሶም', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'የካምቦዲያ ሬል', + 'KHR', + 'የካምቦዲያ ሬል', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'የኮሞሮ ፍራንክ', + 'KMF', + 'የኮሞሮ ፍራንክ', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'የሰሜን ኮሪያ ዎን', + 'KPW', + 'የሰሜን ኮሪያ ዎን', ], 'KRW' => [ - 0 => '₩', - 1 => 'የደቡብ ኮሪያ ዎን', + '₩', + 'የደቡብ ኮሪያ ዎን', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'የኩዌት ዲናር', + 'KWD', + 'የኩዌት ዲናር', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'የካይማን ደሴቶች ዶላር', + 'KYD', + 'የካይማን ደሴቶች ዶላር', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'የካዛኪስታን ተንጌ', + 'KZT', + 'የካዛኪስታን ተንጌ', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'የላኦቲ ኪፕ', + 'LAK', + 'የላኦቲ ኪፕ', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'የሊባኖስ ፓውንድ', + 'LBP', + 'የሊባኖስ ፓውንድ', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'የሲሪላንካ ሩፒ', + 'LKR', + 'የሲሪላንካ ሩፒ', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'የላይቤሪያ ዶላር', + 'LRD', + 'የላይቤሪያ ዶላር', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'የሌሶቶ ሎቲ', + 'LSL', + 'የሌሶቶ ሎቲ', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'ሊቱዌንያን ሊታስ', + 'LTL', + 'ሊቱዌንያን ሊታስ', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'የላቲቫ ላትስ', + 'LVL', + 'የላቲቫ ላትስ', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'የሊቢያ ዲናር', + 'LYD', + 'የሊቢያ ዲናር', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'የሞሮኮ ዲርሀም', + 'MAD', + 'የሞሮኮ ዲርሀም', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'ሞልዶቫን ሊኡ', + 'MDL', + 'ሞልዶቫን ሊኡ', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'የማደጋስካር ማላጋስይ አሪያርይ', + 'MGA', + 'የማደጋስካር ማላጋስይ አሪያርይ', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'የሜቆድንያ ዲናር', + 'MKD', + 'የሜቆድንያ ዲናር', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'የማያናማር ክያት', + 'MMK', + 'የማያናማር ክያት', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'የሞንጎሊያን ቱግሪክ', + 'MNT', + 'የሞንጎሊያን ቱግሪክ', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'የማካኔዝ ፓታካ', + 'MOP', + 'የማካኔዝ ፓታካ', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'የሞሪቴኒያ ኦውጉያ (1973–2017)', + 'MRO', + 'የሞሪቴኒያ ኦውጉያ (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'የሞሪቴኒያ ኦውጉያ', + 'MRU', + 'የሞሪቴኒያ ኦውጉያ', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'የሞሪሸስ ሩፒ', + 'MUR', + 'የሞሪሸስ ሩፒ', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'የማልዲቫ ሩፊያ', + 'MVR', + 'የማልዲቫ ሩፊያ', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'የማላዊ ኩዋቻ', + 'MWK', + 'የማላዊ ኩዋቻ', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'የሜክሲኮ ፔሶ', + 'MX$', + 'የሜክሲኮ ፔሶ', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'የማሌዥያ ሪንጊት', + 'MYR', + 'የማሌዥያ ሪንጊት', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'የሞዛምቢክ ሜቲካል', + 'MZN', + 'የሞዛምቢክ ሜቲካል', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'የናሚቢያ ዶላር', + 'NAD', + 'የናሚቢያ ዶላር', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'የናይጄሪያ ናይራ', + 'NGN', + 'የናይጄሪያ ናይራ', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'የኒካራጓ ኮርዶባ', + 'NIO', + 'የኒካራጓ ኮርዶባ', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'የኖርዌይ ክሮን', + 'NOK', + 'የኖርዌይ ክሮን', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'የኔፓል ሩፒ', + 'NPR', + 'የኔፓል ሩፒ', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'የኒውዚላንድ ዶላር', + 'NZ$', + 'የኒውዚላንድ ዶላር', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'የኦማን ሪአል', + 'OMR', + 'የኦማን ሪአል', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'ፓናማኒአን ባልቦአ', + 'PAB', + 'ፓናማኒአን ባልቦአ', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'የፔሩቪያ ሶል', + 'PEN', + 'የፔሩቪያ ሶል', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'የፓፕዋ ኒው ጊኒ ኪና', + 'PGK', + 'የፓፕዋ ኒው ጊኒ ኪና', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'የፊሊፒንስ ፔሶ', + 'PHP', + 'የፊሊፒንስ ፔሶ', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'የፓኪስታን ሩፒ', + 'PKR', + 'የፓኪስታን ሩፒ', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'የፖላንድ ዝሎቲ', + 'PLN', + 'የፖላንድ ዝሎቲ', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'የፓራጓይ ጉአራኒ', + 'PYG', + 'የፓራጓይ ጉአራኒ', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'የኳታር ሪአል', + 'QAR', + 'የኳታር ሪአል', ], 'RON' => [ - 0 => 'RON', - 1 => 'የሮማኒያ ለው', + 'RON', + 'የሮማኒያ ለው', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'የሰርቢያ ዲናር', + 'RSD', + 'የሰርቢያ ዲናር', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'የሩስያ ሩብል', + 'RUB', + 'የሩስያ ሩብል', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'የሩዋንዳ ፍራንክ', + 'RWF', + 'የሩዋንዳ ፍራንክ', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'የሳውዲ ሪያል', + 'SAR', + 'የሳውዲ ሪያል', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'የሰለሞን ደሴቶች ዶላር', + 'SBD', + 'የሰለሞን ደሴቶች ዶላር', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'የሲሼል ሩፒ', + 'SCR', + 'የሲሼል ሩፒ', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'የሱዳን ፓውንድ', + 'SDG', + 'የሱዳን ፓውንድ', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'የሱዳን ፓውንድ (1957–1998)', + 'SDP', + 'የሱዳን ፓውንድ (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'የስዊድን ክሮና', + 'SEK', + 'የስዊድን ክሮና', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'የሲንጋፖር ዶላር', + 'SGD', + 'የሲንጋፖር ዶላር', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'የሴይንት ሔሌና ፓውንድ', + 'SHP', + 'የሴይንት ሔሌና ፓውንድ', + ], + 'SLE' => [ + 'SLE', + 'የሴራሊዎን ሊዎን', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'የሴራሊዎን ሊዎን', + 'SLL', + 'የሴራሊዎን ሊዎን (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'የሶማሌ ሺሊንግ', + 'SOS', + 'የሶማሌ ሺሊንግ', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'የሰርናሜዝ ዶላር', + 'SRD', + 'የሰርናሜዝ ዶላር', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'የደቡብ ሱዳን ፓውንድ', + 'SSP', + 'የደቡብ ሱዳን ፓውንድ', ], 'STD' => [ - 0 => 'STD', - 1 => 'የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ (1977–2017)', + 'STD', + 'የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ', + 'STN', + 'የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'የሲሪያ ፓውንድ', + 'SYP', + 'የሲሪያ ፓውንድ', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'የስዋዚላንድ ሊላንገኒ', + 'SZL', + 'የስዋዚላንድ ሊላንገኒ', ], 'THB' => [ - 0 => '฿', - 1 => 'የታይላንድ ባህት', + '฿', + 'የታይላንድ ባህት', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'የታጂክስታን ሶሞኒ', + 'TJS', + 'የታጂክስታን ሶሞኒ', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'ቱርክሜኒስታኒ ማናት', + 'TMT', + 'ቱርክሜኒስታኒ ማናት', ], 'TND' => [ - 0 => 'TND', - 1 => 'የቱኒዚያ ዲናር', + 'TND', + 'የቱኒዚያ ዲናር', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'ቶንጋን ፓ’አንጋ', + 'TOP', + 'ቶንጋን ፓ’አንጋ', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'የቱርክ ሊራ', + 'TRY', + 'የቱርክ ሊራ', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'የትሪንዳድ እና ቶቤጎዶላር', + 'TTD', + 'የትሪንዳድ እና ቶቤጎዶላር', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'የአዲሷ ታይዋን ዶላር', + 'NT$', + 'የአዲሷ ታይዋን ዶላር', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'የታንዛኒያ ሺሊንግ', + 'TZS', + 'የታንዛኒያ ሺሊንግ', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'የዩክሬን ሀሪይቭኒአ', + 'UAH', + 'የዩክሬን ሀሪይቭኒአ', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'የዩጋንዳ ሺሊንግ', + 'UGX', + 'የዩጋንዳ ሺሊንግ', ], 'USD' => [ - 0 => 'US$', - 1 => 'የአሜሪካን ዶላር', + 'US$', + 'የአሜሪካን ዶላር', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'የኡራጓይ ፔሶ', + 'UYU', + 'የኡራጓይ ፔሶ', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'የኡዝፔኪስታን ሶም', + 'UZS', + 'የኡዝፔኪስታን ሶም', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'የቬንዝዌላ ቦሊቫር (2008–2018)', + 'VEF', + 'የቬንዝዌላ ቦሊቫር (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'የቬንዝዌላ-ቦሊቫር', + 'VES', + 'የቬንዝዌላ-ቦሊቫር', ], 'VND' => [ - 0 => '₫', - 1 => 'የቭየትናም ዶንግ', + '₫', + 'የቭየትናም ዶንግ', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'የቫንዋንቱ ቫቱ', + 'VUV', + 'የቫንዋንቱ ቫቱ', ], 'WST' => [ - 0 => 'WST', - 1 => 'ሳሞአን ታላ', + 'WST', + 'ሳሞአን ታላ', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'የመካከለኛው አፍሪካ ሴፋ ፍራንክ', + 'FCFA', + 'የመካከለኛው አፍሪካ ሴፋ ፍራንክ', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'የምዕራብ ካሪብያን ዶላር', + 'EC$', + 'የምዕራብ ካሪብያን ዶላር', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'የምዕራብ አፍሪካ ሴፋ ፍራንክ', + 'F CFA', + 'የምዕራብ አፍሪካ ሴፋ ፍራንክ', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'ሲ ኤፍ ፒ ፍራንክ', + 'CFPF', + 'ሲ ኤፍ ፒ ፍራንክ', ], 'YER' => [ - 0 => 'YER', - 1 => 'የየመን ሪአል', + 'YER', + 'የየመን ሪአል', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'የደቡብ አፍሪካ ራንድ', + 'ZAR', + 'የደቡብ አፍሪካ ራንድ', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'የዛምቢያ ክዋቻ (1968–2012)', + 'ZMK', + 'የዛምቢያ ክዋቻ (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'የዛምቢያ ክዋቻ', + 'ZMW', + 'የዛምቢያ ክዋቻ', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'የዚምቧቡዌ ዶላር', + 'ZWD', + 'የዚምቧቡዌ ዶላር', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,996 +3,1000 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'بيستا أندوري', + 'ADP', + 'بيستا أندوري', ], 'AED' => [ - 0 => 'د.إ.‏', - 1 => 'درهم إماراتي', + 'د.إ.‏', + 'درهم إماراتي', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'أفغاني - 1927-2002', + 'AFA', + 'أفغاني - 1927-2002', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'أفغاني', + 'AFN', + 'أفغاني', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'ليك ألباني', + 'ALL', + 'ليك ألباني', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'درام أرميني', + 'AMD', + 'درام أرميني', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'غيلدر أنتيلي هولندي', + 'ANG', + 'غيلدر أنتيلي هولندي', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'كوانزا أنغولي', + 'AOA', + 'كوانزا أنغولي', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'كوانزا أنجولي - 1977-1990', + 'AOK', + 'كوانزا أنجولي - 1977-1990', ], 'AON' => [ - 0 => 'AON', - 1 => 'كوانزا أنجولي جديدة - 1990-2000', + 'AON', + 'كوانزا أنجولي جديدة - 1990-2000', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'كوانزا أنجولي معدلة - 1995 - 1999', + 'AOR', + 'كوانزا أنجولي معدلة - 1995 - 1999', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'استرال أرجنتيني', + 'ARA', + 'استرال أرجنتيني', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'بيزو أرجنتيني - 1983-1985', + 'ARP', + 'بيزو أرجنتيني - 1983-1985', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'بيزو أرجنتيني', + 'ARS', + 'بيزو أرجنتيني', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'شلن نمساوي', + 'ATS', + 'شلن نمساوي', ], 'AUD' => [ - 0 => 'AU$', - 1 => 'دولار أسترالي', + 'AU$', + 'دولار أسترالي', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'فلورن أروبي', + 'AWG', + 'فلورن أروبي', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'مانات أذريبجاني', + 'AZM', + 'مانات أذريبجاني', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'مانات أذربيجان', + 'AZN', + 'مانات أذربيجان', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'دينار البوسنة والهرسك', + 'BAD', + 'دينار البوسنة والهرسك', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'مارك البوسنة والهرسك قابل للتحويل', + 'BAM', + 'مارك البوسنة والهرسك قابل للتحويل', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'دولار بربادوسي', + 'BBD', + 'دولار بربادوسي', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'تاكا بنغلاديشي', + 'BDT', + 'تاكا بنغلاديشي', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'فرنك بلجيكي قابل للتحويل', + 'BEC', + 'فرنك بلجيكي قابل للتحويل', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'فرنك بلجيكي', + 'BEF', + 'فرنك بلجيكي', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'فرنك بلجيكي مالي', + 'BEL', + 'فرنك بلجيكي مالي', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'ليف بلغاري', + 'BGN', + 'ليف بلغاري', ], 'BHD' => [ - 0 => 'د.ب.‏', - 1 => 'دينار بحريني', + 'د.ب.‏', + 'دينار بحريني', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'فرنك بروندي', + 'BIF', + 'فرنك بروندي', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'دولار برمودي', + 'BMD', + 'دولار برمودي', ], 'BND' => [ - 0 => 'BND', - 1 => 'دولار بروناي', + 'BND', + 'دولار بروناي', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'بوليفيانو بوليفي', + 'BOB', + 'بوليفيانو بوليفي', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'بيزو بوليفي', + 'BOP', + 'بيزو بوليفي', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'مفدول بوليفي', + 'BOV', + 'مفدول بوليفي', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'نوفو كروزايرو برازيلي - 1967-1986', + 'BRB', + 'نوفو كروزايرو برازيلي - 1967-1986', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'كروزادو برازيلي', + 'BRC', + 'كروزادو برازيلي', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'كروزايرو برازيلي - 1990-1993', + 'BRE', + 'كروزايرو برازيلي - 1990-1993', ], 'BRL' => [ - 0 => 'R$', - 1 => 'ريال برازيلي', + 'R$', + 'ريال برازيلي', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'دولار باهامي', + 'BSD', + 'دولار باهامي', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'نولتوم بوتاني', + 'BTN', + 'نولتوم بوتاني', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'كيات بورمي', + 'BUK', + 'كيات بورمي', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'بولا بتسواني', + 'BWP', + 'بولا بتسواني', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'روبل بيلاروسي جديد - 1994-1999', + 'BYB', + 'روبل بيلاروسي جديد - 1994-1999', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'روبل بيلاروسي', + 'BYN', + 'روبل بيلاروسي', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'روبل بيلاروسي (٢٠٠٠–٢٠١٦)', + 'BYR', + 'روبل بيلاروسي (٢٠٠٠–٢٠١٦)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'دولار بليزي', + 'BZD', + 'دولار بليزي', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'دولار كندي', + 'CA$', + 'دولار كندي', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'فرنك كونغولي', + 'CDF', + 'فرنك كونغولي', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'فرنك سويسري', + 'CHF', + 'فرنك سويسري', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'بيزو تشيلي', + 'CLP', + 'بيزو تشيلي', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'يوان صيني (في الخارج)', + 'CNH', + 'يوان صيني (في الخارج)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'يوان صيني', + 'CN¥', + 'يوان صيني', ], 'COP' => [ - 0 => 'COP', - 1 => 'بيزو كولومبي', + 'COP', + 'بيزو كولومبي', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'كولن كوستاريكي', + 'CRC', + 'كولن كوستاريكي', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'دينار صربي قديم', + 'CSD', + 'دينار صربي قديم', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'كرونة تشيكوسلوفاكيا', + 'CSK', + 'كرونة تشيكوسلوفاكيا', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'بيزو كوبي قابل للتحويل', + 'CUC', + 'بيزو كوبي قابل للتحويل', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'بيزو كوبي', + 'CUP', + 'بيزو كوبي', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'اسكودو الرأس الأخضر', + 'CVE', + 'اسكودو الرأس الأخضر', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'جنيه قبرصي', + 'CYP', + 'جنيه قبرصي', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'كرونة تشيكية', + 'CZK', + 'كرونة تشيكية', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'أوستمارك ألماني شرقي', + 'DDM', + 'أوستمارك ألماني شرقي', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'مارك ألماني', + 'DEM', + 'مارك ألماني', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'فرنك جيبوتي', + 'DJF', + 'فرنك جيبوتي', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'كرونة دنماركية', + 'DKK', + 'كرونة دنماركية', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'بيزو الدومنيكان', + 'DOP', + 'بيزو الدومنيكان', ], 'DZD' => [ - 0 => 'د.ج.‏', - 1 => 'دينار جزائري', + 'د.ج.‏', + 'دينار جزائري', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'كرونة استونية', + 'EEK', + 'كرونة استونية', ], 'EGP' => [ - 0 => 'ج.م.‏', - 1 => 'جنيه مصري', + 'ج.م.‏', + 'جنيه مصري', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'ناكفا أريتري', + 'ERN', + 'ناكفا أريتري', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'بيزيتا إسباني', + 'ESP', + 'بيزيتا إسباني', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'بير أثيوبي', + 'ETB', + 'بير أثيوبي', ], 'EUR' => [ - 0 => '€', - 1 => 'يورو', + '€', + 'يورو', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'ماركا فنلندي', + 'FIM', + 'ماركا فنلندي', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'دولار فيجي', + 'FJD', + 'دولار فيجي', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'جنيه جزر فوكلاند', + 'FKP', + 'جنيه جزر فوكلاند', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'فرنك فرنسي', + 'FRF', + 'فرنك فرنسي', ], 'GBP' => [ - 0 => 'UK£', - 1 => 'جنيه إسترليني', + 'UK£', + 'جنيه إسترليني', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'لارى جورجي', + 'GEL', + 'لارى جورجي', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'سيدي غاني', + 'GHC', + 'سيدي غاني', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'سيدي غانا', + 'GHS', + 'سيدي غانا', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'جنيه جبل طارق', + 'GIP', + 'جنيه جبل طارق', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'دلاسي غامبي', + 'GMD', + 'دلاسي غامبي', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'فرنك غينيا', + 'GNF', + 'فرنك غينيا', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'سيلي غينيا', + 'GNS', + 'سيلي غينيا', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'اكويل جونينا غينيا الاستوائيّة', + 'GQE', + 'اكويل جونينا غينيا الاستوائيّة', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'دراخما يوناني', + 'GRD', + 'دراخما يوناني', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'كوتزال غواتيمالا', + 'GTQ', + 'كوتزال غواتيمالا', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'اسكود برتغالي غينيا', + 'GWE', + 'اسكود برتغالي غينيا', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'بيزو غينيا بيساو', + 'GWP', + 'بيزو غينيا بيساو', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'دولار غيانا', + 'GYD', + 'دولار غيانا', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'دولار هونغ كونغ', + 'HK$', + 'دولار هونغ كونغ', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'ليمبيرا هنداروس', + 'HNL', + 'ليمبيرا هنداروس', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'دينار كرواتي', + 'HRD', + 'دينار كرواتي', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'كونا كرواتي', + 'HRK', + 'كونا كرواتي', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'جوردى هايتي', + 'HTG', + 'جوردى هايتي', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'فورينت هنغاري', + 'HUF', + 'فورينت هنغاري', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'روبية إندونيسية', + 'IDR', + 'روبية إندونيسية', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'جنيه إيرلندي', + 'IEP', + 'جنيه إيرلندي', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'جنيه إسرائيلي', + 'ILP', + 'جنيه إسرائيلي', ], 'ILS' => [ - 0 => '₪', - 1 => 'شيكل إسرائيلي جديد', + '₪', + 'شيكل إسرائيلي جديد', ], 'INR' => [ - 0 => '₹', - 1 => 'روبية هندي', + '₹', + 'روبية هندي', ], 'IQD' => [ - 0 => 'د.ع.‏', - 1 => 'دينار عراقي', + 'د.ع.‏', + 'دينار عراقي', ], 'IRR' => [ - 0 => 'ر.إ.', - 1 => 'ريال إيراني', + 'ر.إ.', + 'ريال إيراني', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'كرونة أيسلندية', + 'ISK', + 'كرونة أيسلندية', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'ليرة إيطالية', + 'ITL', + 'ليرة إيطالية', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'دولار جامايكي', + 'JMD', + 'دولار جامايكي', ], 'JOD' => [ - 0 => 'د.أ.‏', - 1 => 'دينار أردني', + 'د.أ.‏', + 'دينار أردني', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'ين ياباني', + 'JP¥', + 'ين ياباني', ], 'KES' => [ - 0 => 'KES', - 1 => 'شلن كينيي', + 'KES', + 'شلن كينيي', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'سوم قيرغستاني', + 'KGS', + 'سوم قيرغستاني', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'رييال كمبودي', + 'KHR', + 'رييال كمبودي', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'فرنك جزر القمر', + 'KMF', + 'فرنك جزر القمر', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'وون كوريا الشمالية', + 'KPW', + 'وون كوريا الشمالية', ], 'KRW' => [ - 0 => '₩', - 1 => 'وون كوريا الجنوبية', + '₩', + 'وون كوريا الجنوبية', ], 'KWD' => [ - 0 => 'د.ك.‏', - 1 => 'دينار كويتي', + 'د.ك.‏', + 'دينار كويتي', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'دولار جزر كيمن', + 'KYD', + 'دولار جزر كيمن', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'تينغ كازاخستاني', + 'KZT', + 'تينغ كازاخستاني', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'كيب لاوسي', + 'LAK', + 'كيب لاوسي', ], 'LBP' => [ - 0 => 'ل.ل.‏', - 1 => 'جنيه لبناني', + 'ل.ل.‏', + 'جنيه لبناني', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'روبية سريلانكية', + 'LKR', + 'روبية سريلانكية', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'دولار ليبيري', + 'LRD', + 'دولار ليبيري', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'لوتي ليسوتو', + 'LSL', + 'لوتي ليسوتو', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'ليتا ليتوانية', + 'LTL', + 'ليتا ليتوانية', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'تالوناس ليتواني', + 'LTT', + 'تالوناس ليتواني', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'فرنك لوكسمبرج قابل للتحويل', + 'LUC', + 'فرنك لوكسمبرج قابل للتحويل', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'فرنك لوكسمبرج', + 'LUF', + 'فرنك لوكسمبرج', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'فرنك لوكسمبرج المالي', + 'LUL', + 'فرنك لوكسمبرج المالي', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'لاتس لاتفيا', + 'LVL', + 'لاتس لاتفيا', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'روبل لاتفيا', + 'LVR', + 'روبل لاتفيا', ], 'LYD' => [ - 0 => 'د.ل.‏', - 1 => 'دينار ليبي', + 'د.ل.‏', + 'دينار ليبي', ], 'MAD' => [ - 0 => 'د.م.‏', - 1 => 'درهم مغربي', + 'د.م.‏', + 'درهم مغربي', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'فرنك مغربي', + 'MAF', + 'فرنك مغربي', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'ليو مولدوفي', + 'MDL', + 'ليو مولدوفي', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'أرياري مدغشقر', + 'MGA', + 'أرياري مدغشقر', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'فرنك مدغشقر', + 'MGF', + 'فرنك مدغشقر', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'دينار مقدوني', + 'MKD', + 'دينار مقدوني', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'فرنك مالي', + 'MLF', + 'فرنك مالي', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'كيات ميانمار', + 'MMK', + 'كيات ميانمار', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'توغروغ منغولي', + 'MNT', + 'توغروغ منغولي', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'باتاكا ماكاوي', + 'MOP', + 'باتاكا ماكاوي', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'أوقية موريتانية - 1973-2017', + 'MRO', + 'أوقية موريتانية - 1973-2017', ], 'MRU' => [ - 0 => 'أ.م.', - 1 => 'أوقية موريتانية', + 'أ.م.', + 'أوقية موريتانية', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'ليرة مالطية', + 'MTL', + 'ليرة مالطية', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'جنيه مالطي', + 'MTP', + 'جنيه مالطي', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'روبية موريشيوسية', + 'MUR', + 'روبية موريشيوسية', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'روفيه جزر المالديف', + 'MVR', + 'روفيه جزر المالديف', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'كواشا مالاوي', + 'MWK', + 'كواشا مالاوي', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'بيزو مكسيكي', + 'MX$', + 'بيزو مكسيكي', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'بيزو فضي مكسيكي - 1861-1992', + 'MXP', + 'بيزو فضي مكسيكي - 1861-1992', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'رينغيت ماليزي', + 'MYR', + 'رينغيت ماليزي', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'اسكود موزمبيقي', + 'MZE', + 'اسكود موزمبيقي', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'متكال موزمبيقي', + 'MZN', + 'متكال موزمبيقي', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'دولار ناميبي', + 'NAD', + 'دولار ناميبي', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'نايرا نيجيري', + 'NGN', + 'نايرا نيجيري', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'كوردوبة نيكاراجوا', + 'NIC', + 'كوردوبة نيكاراجوا', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'قرطبة نيكاراغوا', + 'NIO', + 'قرطبة نيكاراغوا', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'جلدر هولندي', + 'NLG', + 'جلدر هولندي', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'كرونة نرويجية', + 'NOK', + 'كرونة نرويجية', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'روبية نيبالي', + 'NPR', + 'روبية نيبالي', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'دولار نيوزيلندي', + 'NZ$', + 'دولار نيوزيلندي', ], 'OMR' => [ - 0 => 'ر.ع.‏', - 1 => 'ريال عماني', + 'ر.ع.‏', + 'ريال عماني', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'بالبوا بنمي', + 'PAB', + 'بالبوا بنمي', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'سول بيروفي', + 'PEN', + 'سول بيروفي', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'كينا بابوا غينيا الجديدة', + 'PGK', + 'كينا بابوا غينيا الجديدة', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'بيزو فلبيني', + 'PHP', + 'بيزو فلبيني', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'روبية باكستاني', + 'PKR', + 'روبية باكستاني', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'زلوتي بولندي', + 'PLN', + 'زلوتي بولندي', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'زلوتي بولندي - 1950-1995', + 'PLZ', + 'زلوتي بولندي - 1950-1995', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'اسكود برتغالي', + 'PTE', + 'اسكود برتغالي', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'غواراني باراغواي', + 'PYG', + 'غواراني باراغواي', ], 'QAR' => [ - 0 => 'ر.ق.‏', - 1 => 'ريال قطري', + 'ر.ق.‏', + 'ريال قطري', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'دولار روديسي', + 'RHD', + 'دولار روديسي', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'ليو روماني قديم', + 'ROL', + 'ليو روماني قديم', ], 'RON' => [ - 0 => 'RON', - 1 => 'ليو روماني', + 'RON', + 'ليو روماني', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'دينار صربي', + 'RSD', + 'دينار صربي', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'روبل روسي', + 'RUB', + 'روبل روسي', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'روبل روسي - 1991-1998', + 'RUR', + 'روبل روسي - 1991-1998', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'فرنك رواندي', + 'RWF', + 'فرنك رواندي', ], 'SAR' => [ - 0 => 'ر.س.‏', - 1 => 'ريال سعودي', + 'ر.س.‏', + 'ريال سعودي', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'دولار جزر سليمان', + 'SBD', + 'دولار جزر سليمان', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'روبية سيشيلية', + 'SCR', + 'روبية سيشيلية', ], 'SDD' => [ - 0 => 'د.س.‏', - 1 => 'دينار سوداني', + 'د.س.‏', + 'دينار سوداني', ], 'SDG' => [ - 0 => 'ج.س.', - 1 => 'جنيه سوداني', + 'ج.س.', + 'جنيه سوداني', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'جنيه سوداني قديم', + 'SDP', + 'جنيه سوداني قديم', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'كرونة سويدية', + 'SEK', + 'كرونة سويدية', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'دولار سنغافوري', + 'SGD', + 'دولار سنغافوري', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'جنيه سانت هيلين', + 'SHP', + 'جنيه سانت هيلين', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'تولار سلوفيني', + 'SIT', + 'تولار سلوفيني', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'كرونة سلوفاكية', + 'SKK', + 'كرونة سلوفاكية', + ], + 'SLE' => [ + 'SLE', + 'ليون سيراليوني', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'ليون سيراليوني', + 'SLL', + 'ليون سيراليوني - 1964-2022', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'شلن صومالي', + 'SOS', + 'شلن صومالي', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'دولار سورينامي', + 'SRD', + 'دولار سورينامي', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'جلدر سورينامي', + 'SRG', + 'جلدر سورينامي', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'جنيه جنوب السودان', + 'SSP', + 'جنيه جنوب السودان', ], 'STD' => [ - 0 => 'STD', - 1 => 'دوبرا ساو تومي وبرينسيبي - 1977-2017', + 'STD', + 'دوبرا ساو تومي وبرينسيبي - 1977-2017', ], 'STN' => [ - 0 => 'STN', - 1 => 'دوبرا ساو تومي وبرينسيبي', + 'STN', + 'دوبرا ساو تومي وبرينسيبي', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'روبل سوفيتي', + 'SUR', + 'روبل سوفيتي', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'كولون سلفادوري', + 'SVC', + 'كولون سلفادوري', ], 'SYP' => [ - 0 => 'ل.س.‏', - 1 => 'ليرة سورية', + 'ل.س.‏', + 'ليرة سورية', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'ليلانجيني سوازيلندي', + 'SZL', + 'ليلانجيني سوازيلندي', ], 'THB' => [ - 0 => '฿', - 1 => 'باخت تايلاندي', + '฿', + 'باخت تايلاندي', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'روبل طاجيكستاني', + 'TJR', + 'روبل طاجيكستاني', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'سوموني طاجيكستاني', + 'TJS', + 'سوموني طاجيكستاني', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'مانات تركمنستاني', + 'TMM', + 'مانات تركمنستاني', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'مانات تركمانستان', + 'TMT', + 'مانات تركمانستان', ], 'TND' => [ - 0 => 'د.ت.‏', - 1 => 'دينار تونسي', + 'د.ت.‏', + 'دينار تونسي', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'بانغا تونغا', + 'TOP', + 'بانغا تونغا', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'اسكود تيموري', + 'TPE', + 'اسكود تيموري', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'ليرة تركي', + 'TRL', + 'ليرة تركي', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'ليرة تركية', + 'TRY', + 'ليرة تركية', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'دولار ترينداد وتوباغو', + 'TTD', + 'دولار ترينداد وتوباغو', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'دولار تايواني', + 'NT$', + 'دولار تايواني', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'شلن تنزاني', + 'TZS', + 'شلن تنزاني', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'هريفنيا أوكراني', + 'UAH', + 'هريفنيا أوكراني', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'شلن أوغندي - 1966-1987', + 'UGS', + 'شلن أوغندي - 1966-1987', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'شلن أوغندي', + 'UGX', + 'شلن أوغندي', ], 'USD' => [ - 0 => 'US$', - 1 => 'دولار أمريكي', + 'US$', + 'دولار أمريكي', ], 'USN' => [ - 0 => 'USN', - 1 => 'دولار أمريكي (اليوم التالي)‏', + 'USN', + 'دولار أمريكي (اليوم التالي)‏', ], 'USS' => [ - 0 => 'USS', - 1 => 'دولار أمريكي (نفس اليوم)‏', + 'USS', + 'دولار أمريكي (نفس اليوم)‏', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'بيزو أوروجواي - 1975-1993', + 'UYP', + 'بيزو أوروجواي - 1975-1993', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'بيزو اوروغواي', + 'UYU', + 'بيزو اوروغواي', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'سوم أوزبكستاني', + 'UZS', + 'سوم أوزبكستاني', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'بوليفار فنزويلي - 1871-2008', + 'VEB', + 'بوليفار فنزويلي - 1871-2008', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'بوليفار فنزويلي - 2008–2018', + 'VEF', + 'بوليفار فنزويلي - 2008–2018', ], 'VES' => [ - 0 => 'VES', - 1 => 'بوليفار فنزويلي', + 'VES', + 'بوليفار فنزويلي', ], 'VND' => [ - 0 => '₫', - 1 => 'دونج فيتنامي', + '₫', + 'دونج فيتنامي', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'فاتو فانواتو', + 'VUV', + 'فاتو فانواتو', ], 'WST' => [ - 0 => 'WST', - 1 => 'تالا ساموا', + 'WST', + 'تالا ساموا', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'فرنك وسط أفريقي', + 'FCFA', + 'فرنك وسط أفريقي', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'دولار شرق الكاريبي', + 'EC$', + 'دولار شرق الكاريبي', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'وحدة النقد الأوروبية', + 'XEU', + 'وحدة النقد الأوروبية', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'فرنك فرنسي ذهبي', + 'XFO', + 'فرنك فرنسي ذهبي', ], 'XFU' => [ - 0 => 'XFU', - 1 => '(UIC)فرنك فرنسي', + 'XFU', + '(UIC)فرنك فرنسي', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'فرنك غرب أفريقي', + 'F CFA', + 'فرنك غرب أفريقي', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'فرنك سي إف بي', + 'CFPF', + 'فرنك سي إف بي', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'دينار يمني', + 'YDD', + 'دينار يمني', ], 'YER' => [ - 0 => 'ر.ي.‏', - 1 => 'ريال يمني', + 'ر.ي.‏', + 'ريال يمني', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'دينار يوغسلافي', + 'YUD', + 'دينار يوغسلافي', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'دينار يوغسلافي قابل للتحويل', + 'YUN', + 'دينار يوغسلافي قابل للتحويل', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'راند جنوب أفريقيا -مالي', + 'ZAL', + 'راند جنوب أفريقيا -مالي', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'راند جنوب أفريقيا', + 'ZAR', + 'راند جنوب أفريقيا', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'كواشا زامبي - 1968-2012', + 'ZMK', + 'كواشا زامبي - 1968-2012', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'كواشا زامبي', + 'ZMW', + 'كواشا زامبي', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'زائير زائيري جديد', + 'ZRN', + 'زائير زائيري جديد', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'زائير زائيري', + 'ZRZ', + 'زائير زائيري', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'دولار زمبابوي', + 'ZWD', + 'دولار زمبابوي', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'دولار زمبابوي 2009', + 'ZWL', + 'دولار زمبابوي 2009', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_DJ.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_DJ.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_DJ.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_DJ.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'DJF' => [ - 0 => 'Fdj', - 1 => 'فرنك جيبوتي', + 'Fdj', + 'فرنك جيبوتي', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_ER.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_ER.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_ER.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_ER.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'ERN' => [ - 0 => 'Nfk', - 1 => 'ناكفا أريتري', + 'Nfk', + 'ناكفا أريتري', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_KM.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_KM.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_KM.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_KM.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'KMF' => [ - 0 => 'CF', - 1 => 'فرنك جزر القمر', + 'CF', + 'فرنك جزر القمر', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_LB.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_LB.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_LB.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_LB.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'SDG' => [ - 0 => 'SDG', - 1 => 'جنيه سوداني', + 'SDG', + 'جنيه سوداني', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_SO.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_SO.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_SO.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_SO.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'SOS' => [ - 0 => 'S', - 1 => 'شلن صومالي', + 'S', + 'شلن صومالي', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_SS.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_SS.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_SS.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ar_SS.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'GBP' => [ - 0 => 'GB£', - 1 => 'جنيه إسترليني', + 'GB£', + 'جنيه إسترليني', ], 'SSP' => [ - 0 => '£', - 1 => 'جنيه جنوب السودان', + '£', + 'جنيه جنوب السودان', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/as.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/as.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/as.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/as.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,644 +3,648 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'সংযুক্ত আৰব আমিৰাত ডিৰহেম', + 'AED', + 'সংযুক্ত আৰব আমিৰাত ডিৰহেম', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'আফগান আফগানী', + 'AFN', + 'আফগান আফগানী', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'আলবেনীয় লেক', + 'ALL', + 'আলবেনীয় লেক', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'আৰ্মেনিয়ান ড্ৰাম', + 'AMD', + 'আৰ্মেনিয়ান ড্ৰাম', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'নেডাৰলেণ্ডছ এণ্টিলিয়েন গিল্ডাৰ', + 'ANG', + 'নেডাৰলেণ্ডছ এণ্টিলিয়েন গিল্ডাৰ', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'এংগোলান কোৱাঞ্জা', + 'AOA', + 'এংগোলান কোৱাঞ্জা', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'আৰ্জেণ্টাইন পেছো', + 'ARS', + 'আৰ্জেণ্টাইন পেছো', ], 'AUD' => [ - 0 => 'A$', - 1 => 'অষ্ট্ৰেলিয়ান ডলাৰ', + 'A$', + 'অষ্ট্ৰেলিয়ান ডলাৰ', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'আৰুবান ফ্ল’ৰিন', + 'AWG', + 'আৰুবান ফ্ল’ৰিন', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'আজেৰবাইজানী মানাত', + 'AZN', + 'আজেৰবাইজানী মানাত', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'ব’ছনিয়া আৰু হাৰ্জেগ’ভিনা কনভাৰ্টিব্‌ল মাৰ্ক', + 'BAM', + 'ব’ছনিয়া আৰু হাৰ্জেগ’ভিনা কনভাৰ্টিব্‌ল মাৰ্ক', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'বাৰ্বাডিয়ান ডলাৰ', + 'BBD', + 'বাৰ্বাডিয়ান ডলাৰ', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'বাংলাদেশী টাকা', + 'BDT', + 'বাংলাদেশী টাকা', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'বুলগেৰীয় লেভ', + 'BGN', + 'বুলগেৰীয় লেভ', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'বাহৰেইনী ডিনাৰ', + 'BHD', + 'বাহৰেইনী ডিনাৰ', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'বুৰুণ্ডিয়ান ফ্ৰেংক', + 'BIF', + 'বুৰুণ্ডিয়ান ফ্ৰেংক', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'বাৰ্মুডান ডলাৰ', + 'BMD', + 'বাৰ্মুডান ডলাৰ', ], 'BND' => [ - 0 => 'BND', - 1 => 'ব্ৰুনেই ডলাৰ', + 'BND', + 'ব্ৰুনেই ডলাৰ', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'বলিভিয়ান বলিভিয়ানো', + 'BOB', + 'বলিভিয়ান বলিভিয়ানো', ], 'BRL' => [ - 0 => 'R$', - 1 => 'ব্ৰাজিলিয়ান ৰিয়েল', + 'R$', + 'ব্ৰাজিলিয়ান ৰিয়েল', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'বাহামিয়ান ডলাৰ', + 'BSD', + 'বাহামিয়ান ডলাৰ', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ভুটানী নংগলট্ৰাম', + 'BTN', + 'ভুটানী নংগলট্ৰাম', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'ব’টচোৱানান পুলা', + 'BWP', + 'ব’টচোৱানান পুলা', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'বেলাৰুছীয় ৰুবেল', + 'BYN', + 'বেলাৰুছীয় ৰুবেল', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'বেলিজ ডলাৰ', + 'BZD', + 'বেলিজ ডলাৰ', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'কানাডিয়ান ডলাৰ', + 'CA$', + 'কানাডিয়ান ডলাৰ', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'কংগো ফ্ৰেংক', + 'CDF', + 'কংগো ফ্ৰেংক', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'চুইছ ফ্ৰেংক', + 'CHF', + 'চুইছ ফ্ৰেংক', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'চিলিয়ান পেছো', + 'CLP', + 'চিলিয়ান পেছো', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'চীনা ইউৱান (অফশ্ব’ৰ)', + 'CNH', + 'চীনা ইউৱান (অফশ্ব’ৰ)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'চীনা ইউৱান', + 'CN¥', + 'চীনা ইউৱান', ], 'COP' => [ - 0 => 'COP', - 1 => 'কলম্বিয়ান পেছো', + 'COP', + 'কলম্বিয়ান পেছো', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'কোষ্টা ৰিকান কোলন', + 'CRC', + 'কোষ্টা ৰিকান কোলন', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'কিউবান ৰূপান্তৰযোগ্য পেছো', + 'CUC', + 'কিউবান ৰূপান্তৰযোগ্য পেছো', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'কিউবান পেছো', + 'CUP', + 'কিউবান পেছো', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'কেপ ভাৰ্দে এছকুডো', + 'CVE', + 'কেপ ভাৰ্দে এছকুডো', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'চেক কোৰুনা', + 'CZK', + 'চেক কোৰুনা', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'জিবুটি ফ্ৰেংক', + 'DJF', + 'জিবুটি ফ্ৰেংক', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'ডেনিচ ক্ৰোন', + 'DKK', + 'ডেনিচ ক্ৰোন', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'ড’মিনিকান পেছো', + 'DOP', + 'ড’মিনিকান পেছো', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'আলজেৰীয় ডিনাৰ', + 'DZD', + 'আলজেৰীয় ডিনাৰ', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'ইজিপ্তৰ পাউণ্ড', + 'EGP', + 'ইজিপ্তৰ পাউণ্ড', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'এৰিট্ৰিয়ন নাক্‌ফা', + 'ERN', + 'এৰিট্ৰিয়ন নাক্‌ফা', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'ইথিঅ’পিয়ান বিৰ', + 'ETB', + 'ইথিঅ’পিয়ান বিৰ', ], 'EUR' => [ - 0 => '€', - 1 => 'ইউৰো', + '€', + 'ইউৰো', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'ফিজিয়ান ডলাৰ', + 'FJD', + 'ফিজিয়ান ডলাৰ', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'ফকলেণ্ড দ্বীপপুঞ্জৰ পাউণ্ড', + 'FKP', + 'ফকলেণ্ড দ্বীপপুঞ্জৰ পাউণ্ড', ], 'GBP' => [ - 0 => '£', - 1 => 'ব্ৰিটিছ পাউণ্ড', + '£', + 'ব্ৰিটিছ পাউণ্ড', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'জৰ্জিয়ান লাৰি', + 'GEL', + 'জৰ্জিয়ান লাৰি', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'ঘানাৰ চেডি', + 'GHS', + 'ঘানাৰ চেডি', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'জিব্ৰাল্টৰ পাউণ্ড', + 'GIP', + 'জিব্ৰাল্টৰ পাউণ্ড', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'গাম্বিয়া ডালাছি', + 'GMD', + 'গাম্বিয়া ডালাছি', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'গিনি ফ্ৰেংক', + 'GNF', + 'গিনি ফ্ৰেংক', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'গুৱাটেমালা কুৱেৎজাল', + 'GTQ', + 'গুৱাটেমালা কুৱেৎজাল', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'গায়ানিজ ডলাৰ', + 'GYD', + 'গায়ানিজ ডলাৰ', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'হং কং ডলাৰ', + 'HK$', + 'হং কং ডলাৰ', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'হোন্দুৰান লেম্পিৰা', + 'HNL', + 'হোন্দুৰান লেম্পিৰা', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'ক্ৰোৱেছিয়ান কুনা', + 'HRK', + 'ক্ৰোৱেছিয়ান কুনা', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'হাইটিয়ান গৌৰ্ড', + 'HTG', + 'হাইটিয়ান গৌৰ্ড', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'হাংগেৰীয়ান ফ’ৰিণ্ট', + 'HUF', + 'হাংগেৰীয়ান ফ’ৰিণ্ট', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'ইণ্ডোনেচিয়ান ৰুপিয়াহ', + 'IDR', + 'ইণ্ডোনেচিয়ান ৰুপিয়াহ', ], 'ILS' => [ - 0 => '₪', - 1 => 'ইজৰাইলী নিউ শ্বেকেল', + '₪', + 'ইজৰাইলী নিউ শ্বেকেল', ], 'INR' => [ - 0 => '₹', - 1 => 'ভাৰতীয় ৰুপী', + '₹', + 'ভাৰতীয় ৰুপী', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'ইৰাকী ডিনাৰ', + 'IQD', + 'ইৰাকী ডিনাৰ', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'ইৰানীয়ান ৰিয়েল', + 'IRR', + 'ইৰানীয়ান ৰিয়েল', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'আইচলেণ্ডিক ক্ৰোনা', + 'ISK', + 'আইচলেণ্ডিক ক্ৰোনা', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'জামাইকান ডলাৰ', + 'JMD', + 'জামাইকান ডলাৰ', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'জৰ্ডানিয়ান ডিনাৰ', + 'JOD', + 'জৰ্ডানিয়ান ডিনাৰ', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'জাপানী য়েন', + 'JP¥', + 'জাপানী য়েন', ], 'KES' => [ - 0 => 'KES', - 1 => 'কেনিয়ান শ্বিলিং', + 'KES', + 'কেনিয়ান শ্বিলিং', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'কিৰ্গিস্তানী ছোম', + 'KGS', + 'কিৰ্গিস্তানী ছোম', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'কেম্ব’ডিয়ান ৰিয়েল', + 'KHR', + 'কেম্ব’ডিয়ান ৰিয়েল', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'ক’মোৰিয়ান ফ্ৰেংক', + 'KMF', + 'ক’মোৰিয়ান ফ্ৰেংক', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'উত্তৰ কোৰিয়াৰ ওৱান', + 'KPW', + 'উত্তৰ কোৰিয়াৰ ওৱান', ], 'KRW' => [ - 0 => '₩', - 1 => 'দক্ষিণ কোৰিয়াৰ ওৱান', + '₩', + 'দক্ষিণ কোৰিয়াৰ ওৱান', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'কুৱেইটি ডিনাৰ', + 'KWD', + 'কুৱেইটি ডিনাৰ', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'কেইমেন দ্বীপপুঞ্জৰ ডলাৰ', + 'KYD', + 'কেইমেন দ্বীপপুঞ্জৰ ডলাৰ', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'কাজাখস্তানী তেঞ্জ', + 'KZT', + 'কাজাখস্তানী তেঞ্জ', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'লাওচিয়ান কিপ', + 'LAK', + 'লাওচিয়ান কিপ', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'লেবানীজ পাউণ্ড', + 'LBP', + 'লেবানীজ পাউণ্ড', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'শ্ৰীলংকান ৰুপী', + 'LKR', + 'শ্ৰীলংকান ৰুপী', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'লাইবেৰিয়ান ডলাৰ', + 'LRD', + 'লাইবেৰিয়ান ডলাৰ', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'লেচোথো লোটি', + 'LSL', + 'লেচোথো লোটি', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'লিবিয়ান ডিনাৰ', + 'LYD', + 'লিবিয়ান ডিনাৰ', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'মৰোক্কান ডিৰহাম', + 'MAD', + 'মৰোক্কান ডিৰহাম', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'মোলডোভান লেউ', + 'MDL', + 'মোলডোভান লেউ', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'মালাগাছী এৰিয়াৰী', + 'MGA', + 'মালাগাছী এৰিয়াৰী', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'মেচিডোনীয় ডেনাৰ', + 'MKD', + 'মেচিডোনীয় ডেনাৰ', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'ম্যানমাৰ কিয়াট', + 'MMK', + 'ম্যানমাৰ কিয়াট', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'মঙ্গোলিয়ান টুৰ্গিক', + 'MNT', + 'মঙ্গোলিয়ান টুৰ্গিক', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'মেকানীজ পাটাকা', + 'MOP', + 'মেকানীজ পাটাকা', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'ম’ৰিটেনিয়ান ঔগুইয়া (1973–2017)', + 'MRO', + 'ম’ৰিটেনিয়ান ঔগুইয়া (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'ম’ৰিটেনিয়ান ঔগুইয়া', + 'MRU', + 'ম’ৰিটেনিয়ান ঔগুইয়া', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'মৰিচিয়ান ৰুপী', + 'MUR', + 'মৰিচিয়ান ৰুপী', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'মালডিভিয়ান ৰুফিয়া', + 'MVR', + 'মালডিভিয়ান ৰুফিয়া', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'মালাউইয়ান কোৱাচা', + 'MWK', + 'মালাউইয়ান কোৱাচা', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'মেক্সিকান পেছো', + 'MX$', + 'মেক্সিকান পেছো', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'মালায়েচিয়ান ৰিংগিট', + 'MYR', + 'মালায়েচিয়ান ৰিংগিট', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'মোজাম্বিকান মেটিকল', + 'MZN', + 'মোজাম্বিকান মেটিকল', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'নামিবিয়ান ডলাৰ', + 'NAD', + 'নামিবিয়ান ডলাৰ', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'নাইজেৰিয়ান নাইৰা', + 'NGN', + 'নাইজেৰিয়ান নাইৰা', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'নিকাৰাগুৱান কোৰ্ডোবা', + 'NIO', + 'নিকাৰাগুৱান কোৰ্ডোবা', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'নৰৱেজিয়ান ক্ৰোন', + 'NOK', + 'নৰৱেজিয়ান ক্ৰোন', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'নেপালী ৰুপী', + 'NPR', + 'নেপালী ৰুপী', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'নিউজিলেণ্ড ডলাৰ', + 'NZ$', + 'নিউজিলেণ্ড ডলাৰ', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'ওমানি ৰিয়েল', + 'OMR', + 'ওমানি ৰিয়েল', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'পানামেনিয়ান বাল্বোৱা', + 'PAB', + 'পানামেনিয়ান বাল্বোৱা', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'পেৰুভিয়ান ছ’ল', + 'PEN', + 'পেৰুভিয়ান ছ’ল', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'পাপুৱা নিউ গিনি কিনা', + 'PGK', + 'পাপুৱা নিউ গিনি কিনা', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'ফিলিপিন পেইছ’', + 'PHP', + 'ফিলিপিন পেইছ’', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'পাকিস্তানী ৰুপী', + 'PKR', + 'পাকিস্তানী ৰুপী', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'প’লিচ জোল্টী', + 'PLN', + 'প’লিচ জোল্টী', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'পাৰাগুয়ান গুৱাৰানি', + 'PYG', + 'পাৰাগুয়ান গুৱাৰানি', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'কাটাৰি ৰিয়েল', + 'QAR', + 'কাটাৰি ৰিয়েল', ], 'RON' => [ - 0 => 'RON', - 1 => 'ৰোমানীয় লেউ', + 'RON', + 'ৰোমানীয় লেউ', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'চাৰ্বিয়ান ডিনাৰ', + 'RSD', + 'চাৰ্বিয়ান ডিনাৰ', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'ৰাছিয়ান ৰুব্‌ল', + 'RUB', + 'ৰাছিয়ান ৰুব্‌ল', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'ৰোৱান্দান ফ্ৰেংক', + 'RWF', + 'ৰোৱান্দান ফ্ৰেংক', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'চৌডি ৰিয়েল', + 'SAR', + 'চৌডি ৰিয়েল', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'চোলোমোন দ্বীপপুঞ্জৰ ডলাৰ', + 'SBD', + 'চোলোমোন দ্বীপপুঞ্জৰ ডলাৰ', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'ছেচেলৱা ৰুপী', + 'SCR', + 'ছেচেলৱা ৰুপী', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'চুডানী পাউণ্ড', + 'SDG', + 'চুডানী পাউণ্ড', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'চুইডিছ ক্ৰোনা', + 'SEK', + 'চুইডিছ ক্ৰোনা', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'ছিংগাপুৰ ডলাৰ', + 'SGD', + 'ছিংগাপুৰ ডলাৰ', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'ছেইণ্ট হেলেনা পাউণ্ড', + 'SHP', + 'ছেইণ্ট হেলেনা পাউণ্ড', + ], + 'SLE' => [ + 'SLE', + 'চিয়েৰা লিঅ’নৰ লিঅ’ন', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'চিয়েৰা লিঅ’নৰ লিঅ’ন', + 'SLL', + 'চিয়েৰা লিঅ’নৰ লিঅ’ন (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'চোমালি শ্বিলিং', + 'SOS', + 'চোমালি শ্বিলিং', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'ছুৰিনামী ডলাৰ', + 'SRD', + 'ছুৰিনামী ডলাৰ', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'দক্ষিণ চুডানীজ পাউণ্ড', + 'SSP', + 'দক্ষিণ চুডানীজ পাউণ্ড', ], 'STD' => [ - 0 => 'STD', - 1 => 'চাও টোমে আৰু প্ৰিনচিপে ডোব্‌ৰা (1977–2017)', + 'STD', + 'চাও টোমে আৰু প্ৰিনচিপে ডোব্‌ৰা (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'চাও টোমে আৰু প্ৰিনচিপে ডোব্‌ৰা', + 'STN', + 'চাও টোমে আৰু প্ৰিনচিপে ডোব্‌ৰা', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'চিৰিয়ান পাউণ্ড', + 'SYP', + 'চিৰিয়ান পাউণ্ড', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'স্বাজি লিলেংগেনি', + 'SZL', + 'স্বাজি লিলেংগেনি', ], 'THB' => [ - 0 => 'THB', - 1 => 'থাই বাত', + 'THB', + 'থাই বাত', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'তাজিকিস্তানী ছোমনি', + 'TJS', + 'তাজিকিস্তানী ছোমনি', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'তুৰ্কমেনিস্তানী মানাত', + 'TMT', + 'তুৰ্কমেনিস্তানী মানাত', ], 'TND' => [ - 0 => 'TND', - 1 => 'টুনিচিয়ান ডিনাৰ', + 'TND', + 'টুনিচিয়ান ডিনাৰ', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'টংগান পাআংগা', + 'TOP', + 'টংগান পাআংগা', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'তুৰ্কীৰ লিৰা', + 'TRY', + 'তুৰ্কীৰ লিৰা', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'ট্ৰিনিডাড আৰু টোবাগো ডলাৰ', + 'TTD', + 'ট্ৰিনিডাড আৰু টোবাগো ডলাৰ', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'নিউ টাইৱান ডলাৰ', + 'NT$', + 'নিউ টাইৱান ডলাৰ', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'টানজানিয়ান শ্বিলিং', + 'TZS', + 'টানজানিয়ান শ্বিলিং', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'ইউক্ৰেইনীয় হৃভনিয়া', + 'UAH', + 'ইউক্ৰেইনীয় হৃভনিয়া', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'উগাণ্ডান শ্বিলিং', + 'UGX', + 'উগাণ্ডান শ্বিলিং', ], 'USD' => [ - 0 => 'US$', - 1 => 'ইউ. এছ. ডলাৰ', + 'US$', + 'ইউ. এছ. ডলাৰ', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'উৰুগুৱেয়ান পেছো', + 'UYU', + 'উৰুগুৱেয়ান পেছো', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'উজবেকিস্তানী ছোম', + 'UZS', + 'উজবেকিস্তানী ছোম', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'ভেনিজুৱেলান বলিভাৰ (1871–2008)', + 'VEB', + 'ভেনিজুৱেলান বলিভাৰ (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'ভেনিজুৱেলান বলিভাৰ (2008–2018)', + 'VEF', + 'ভেনিজুৱেলান বলিভাৰ (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'ভেনিজুৱেলান বলিভাৰ', + 'VES', + 'ভেনিজুৱেলান বলিভাৰ', ], 'VND' => [ - 0 => '₫', - 1 => 'ভিয়েটনামীজ ডং', + '₫', + 'ভিয়েটনামীজ ডং', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'ভানাটুৰ ভাটু', + 'VUV', + 'ভানাটুৰ ভাটু', ], 'WST' => [ - 0 => 'WST', - 1 => 'ছামোৱান টালা', + 'WST', + 'ছামোৱান টালা', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'মধ্য আফ্ৰিকান CFA ফ্ৰেংক', + 'FCFA', + 'মধ্য আফ্ৰিকান CFA ফ্ৰেংক', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'ইষ্ট কেৰিবিয়ান ডলাৰ', + 'EC$', + 'ইষ্ট কেৰিবিয়ান ডলাৰ', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'পশ্চিম আফ্ৰিকান CFA ফ্ৰেংক', + 'F CFA', + 'পশ্চিম আফ্ৰিকান CFA ফ্ৰেংক', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP ফ্ৰেংক', + 'CFPF', + 'CFP ফ্ৰেংক', ], 'YER' => [ - 0 => 'YER', - 1 => 'য়েমেনী ৰিয়েল', + 'YER', + 'য়েমেনী ৰিয়েল', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'দক্ষিণ আফ্ৰিকাৰ ৰাণ্ড', + 'ZAR', + 'দক্ষিণ আফ্ৰিকাৰ ৰাণ্ড', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'জাম্বিয়ান কোৱাচা', + 'ZMW', + 'জাম্বিয়ান কোৱাচা', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/az.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/az.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/az.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/az.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1060 +3,1064 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Andora Pesetası', + 'ADP', + 'Andora Pesetası', ], 'AED' => [ - 0 => 'AED', - 1 => 'Birləşmiş Ərəb Əmirlikləri Dirhəmi', + 'AED', + 'Birləşmiş Ərəb Əmirlikləri Dirhəmi', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Əfqanıstan Əfqanisi (1927–2002)', + 'AFA', + 'Əfqanıstan Əfqanisi (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Əfqanıstan Əfqanisi', + 'AFN', + 'Əfqanıstan Əfqanisi', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'Albaniya Leki (1946–1965)', + 'ALK', + 'Albaniya Leki (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Albaniya Leki', + 'ALL', + 'Albaniya Leki', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Ermənistan Dramı', + 'AMD', + 'Ermənistan Dramı', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Niderland Antilyası Gilderi', + 'ANG', + 'Niderland Antilyası Gilderi', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Anqola Kvanzası', + 'AOA', + 'Anqola Kvanzası', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Anqola Kvanzasi (1977–1990)', + 'AOK', + 'Anqola Kvanzasi (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Anqola Yeni Kvanzası (1990–2000)', + 'AON', + 'Anqola Yeni Kvanzası (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Anqola Kvanzası (1995–1999)', + 'AOR', + 'Anqola Kvanzası (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Argentina avstralı', + 'ARA', + 'Argentina avstralı', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Argentina pesosu (1983–1985)', + 'ARP', + 'Argentina pesosu (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Argentina Pesosu', + 'ARS', + 'Argentina Pesosu', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Avstriya Şillinqi', + 'ATS', + 'Avstriya Şillinqi', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Avstraliya Dolları', + 'A$', + 'Avstraliya Dolları', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Aruba Florini', + 'AWG', + 'Aruba Florini', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Azərbaycan Manatı (1993–2006)', + 'AZM', + 'Azərbaycan Manatı (1993–2006)', ], 'AZN' => [ - 0 => '₼', - 1 => 'Azərbaycan Manatı', + '₼', + 'Azərbaycan Manatı', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Bosniya-Herseqovina Dinarı', + 'BAD', + 'Bosniya-Herseqovina Dinarı', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Bosniya-Herseqovina Markası', + 'BAM', + 'Bosniya-Herseqovina Markası', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Barbados Dolları', + 'BBD', + 'Barbados Dolları', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Banqladeş Takası', + 'BDT', + 'Banqladeş Takası', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Belçika Frankı (deyşirik)', + 'BEC', + 'Belçika Frankı (deyşirik)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Belçika Frankı', + 'BEF', + 'Belçika Frankı', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Belçika Frankı (finans)', + 'BEL', + 'Belçika Frankı (finans)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Bolqarıstan Levası', + 'BGL', + 'Bolqarıstan Levası', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Bolqarıstan Levi', + 'BGN', + 'Bolqarıstan Levi', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Bəhreyn Dinarı', + 'BHD', + 'Bəhreyn Dinarı', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Burundi Frankı', + 'BIF', + 'Burundi Frankı', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermuda Dolları', + 'BMD', + 'Bermuda Dolları', ], 'BND' => [ - 0 => 'BND', - 1 => 'Bruney Dolları', + 'BND', + 'Bruney Dolları', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Boliviya Bolivianosu', + 'BOB', + 'Boliviya Bolivianosu', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Boliviya pesosu', + 'BOP', + 'Boliviya pesosu', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Boliviya mvdolı', + 'BOV', + 'Boliviya mvdolı', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Braziliya kruzeyro novası', + 'BRB', + 'Braziliya kruzeyro novası', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Braziliya kruzadosu', + 'BRC', + 'Braziliya kruzadosu', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Braziliya kruzeyrosu (1990–1993)', + 'BRE', + 'Braziliya kruzeyrosu (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Braziliya Realı', + 'R$', + 'Braziliya Realı', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Braziliya kruzado novası', + 'BRN', + 'Braziliya kruzado novası', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Braziliya kruzeyrosu', + 'BRR', + 'Braziliya kruzeyrosu', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Baham Dolları', + 'BSD', + 'Baham Dolları', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Butan Nqultrumu', + 'BTN', + 'Butan Nqultrumu', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Burmis Kyatı', + 'BUK', + 'Burmis Kyatı', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Botsvana Pulası', + 'BWP', + 'Botsvana Pulası', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Belarus Yeni Rublu (1994–1999)', + 'BYB', + 'Belarus Yeni Rublu (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Belarus Rublu', + 'BYN', + 'Belarus Rublu', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Belarus Rublu (2000–2016)', + 'BYR', + 'Belarus Rublu (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Beliz Dolları', + 'BZD', + 'Beliz Dolları', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Kanada Dolları', + 'CA$', + 'Kanada Dolları', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Konqo Frankı', + 'CDF', + 'Konqo Frankı', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'WIR Avro', + 'CHE', + 'WIR Avro', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'İsveçrə Frankı', + 'CHF', + 'İsveçrə Frankı', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'WIR Frankası', + 'CHW', + 'WIR Frankası', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Çili Pesosu', + 'CLP', + 'Çili Pesosu', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Çin Yuanı (ofşor)', + 'CNH', + 'Çin Yuanı (ofşor)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Çin Yuanı', + 'CN¥', + 'Çin Yuanı', ], 'COP' => [ - 0 => 'COP', - 1 => 'Kolumbiya Pesosu', + 'COP', + 'Kolumbiya Pesosu', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Kosta Rika Kolonu', + 'CRC', + 'Kosta Rika Kolonu', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Serbiya Dinarı (2002–2006)', + 'CSD', + 'Serbiya Dinarı (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Çexoslavakiya Korunası', + 'CSK', + 'Çexoslavakiya Korunası', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Kuba Çevrilən Pesosu', + 'CUC', + 'Kuba Çevrilən Pesosu', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Kuba Pesosu', + 'CUP', + 'Kuba Pesosu', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Kape Verde Eskudosu', + 'CVE', + 'Kape Verde Eskudosu', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Kipr Paundu', + 'CYP', + 'Kipr Paundu', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Çexiya Korunası', + 'CZK', + 'Çexiya Korunası', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Şərq Almaniya Ostmarkı', + 'DDM', + 'Şərq Almaniya Ostmarkı', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Alman Markası', + 'DEM', + 'Alman Markası', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Cibuti Frankı', + 'DJF', + 'Cibuti Frankı', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Danimarka Kronu', + 'DKK', + 'Danimarka Kronu', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Dominika Pesosu', + 'DOP', + 'Dominika Pesosu', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Əlcəzair Dinarı', + 'DZD', + 'Əlcəzair Dinarı', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Ekvador Sukresi', + 'ECS', + 'Ekvador Sukresi', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Estoniya Krunu', + 'EEK', + 'Estoniya Krunu', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Misir Funtu', + 'EGP', + 'Misir Funtu', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Eritreya Nakfası', + 'ERN', + 'Eritreya Nakfası', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'İspan Pesetası (A account)', + 'ESA', + 'İspan Pesetası (A account)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'İspan Pesetası (dəyşirik)', + 'ESB', + 'İspan Pesetası (dəyşirik)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'İspan Pesetası', + 'ESP', + 'İspan Pesetası', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Efiopiya Bırrı', + 'ETB', + 'Efiopiya Bırrı', ], 'EUR' => [ - 0 => '€', - 1 => 'Avro', + '€', + 'Avro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Fin Markası', + 'FIM', + 'Fin Markası', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Fici Dolları', + 'FJD', + 'Fici Dolları', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Folklend Adaları Funtu', + 'FKP', + 'Folklend Adaları Funtu', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Fransız Markası', + 'FRF', + 'Fransız Markası', ], 'GBP' => [ - 0 => '£', - 1 => 'Britaniya Funtu', + '£', + 'Britaniya Funtu', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Gürcüstan Kupon Lariti', + 'GEK', + 'Gürcüstan Kupon Lariti', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Gürcüstan Larisi', + 'GEL', + 'Gürcüstan Larisi', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Qana Sedisi (1979–2007)', + 'GHC', + 'Qana Sedisi (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Qana Sedisi', + 'GHS', + 'Qana Sedisi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Cəbəli-Tariq Funtu', + 'GIP', + 'Cəbəli-Tariq Funtu', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Qambiya Dalasisi', + 'GMD', + 'Qambiya Dalasisi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Qvineya Frankı', + 'GNF', + 'Qvineya Frankı', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Qvineya Sulisi', + 'GNS', + 'Qvineya Sulisi', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Ekvatoriya Gvineya Ekvele Quneanası', + 'GQE', + 'Ekvatoriya Gvineya Ekvele Quneanası', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Yunan Draçması', + 'GRD', + 'Yunan Draçması', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Qvatemala Küetzalı', + 'GTQ', + 'Qvatemala Küetzalı', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Portugal Qvineya Eskudosu', + 'GWE', + 'Portugal Qvineya Eskudosu', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Qvineya-Bisau Pesosu', + 'GWP', + 'Qvineya-Bisau Pesosu', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Qayana Dolları', + 'GYD', + 'Qayana Dolları', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Honq Konq Dolları', + 'HK$', + 'Honq Konq Dolları', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Honduras Lempirası', + 'HNL', + 'Honduras Lempirası', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Xorvatiya Dinarı', + 'HRD', + 'Xorvatiya Dinarı', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Xorvatiya Kunası', + 'HRK', + 'Xorvatiya Kunası', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Haiti Qourdu', + 'HTG', + 'Haiti Qourdu', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Macarıstan Forinti', + 'HUF', + 'Macarıstan Forinti', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'İndoneziya Rupisi', + 'IDR', + 'İndoneziya Rupisi', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'İrlandiya Paundu', + 'IEP', + 'İrlandiya Paundu', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'İzrail Paundu', + 'ILP', + 'İzrail Paundu', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'İsrail Şekeli (1980–1985)', + 'ILR', + 'İsrail Şekeli (1980–1985)', ], 'ILS' => [ - 0 => '₪', - 1 => 'İsrail Yeni Şekeli', + '₪', + 'İsrail Yeni Şekeli', ], 'INR' => [ - 0 => '₹', - 1 => 'Hindistan Rupisi', + '₹', + 'Hindistan Rupisi', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'İraq Dinarı', + 'IQD', + 'İraq Dinarı', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'İran Rialı', + 'IRR', + 'İran Rialı', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'İslandiya Kronu (1918–1981)', + 'ISJ', + 'İslandiya Kronu (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'İslandiya Kronu', + 'ISK', + 'İslandiya Kronu', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'İtaliya Lirası', + 'ITL', + 'İtaliya Lirası', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Yamayka Dolları', + 'JMD', + 'Yamayka Dolları', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'İordaniya Dinarı', + 'JOD', + 'İordaniya Dinarı', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Yaponiya Yeni', + 'JP¥', + 'Yaponiya Yeni', ], 'KES' => [ - 0 => 'KES', - 1 => 'Keniya Şillinqi', + 'KES', + 'Keniya Şillinqi', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Qırğızıstan Somu', + 'KGS', + 'Qırğızıstan Somu', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Kamboca Rieli', + 'KHR', + 'Kamboca Rieli', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Komor Frankı', + 'KMF', + 'Komor Frankı', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Şimali Koreya Vonu', + 'KPW', + 'Şimali Koreya Vonu', ], 'KRW' => [ - 0 => '₩', - 1 => 'Cənubi Koreya Vonu', + '₩', + 'Cənubi Koreya Vonu', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Küveyt Dinarı', + 'KWD', + 'Küveyt Dinarı', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Kayman Adaları Dolları', + 'KYD', + 'Kayman Adaları Dolları', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Qazaxıstan Tengesi', + 'KZT', + 'Qazaxıstan Tengesi', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Laos Kipi', + 'LAK', + 'Laos Kipi', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Livan Funtu', + 'LBP', + 'Livan Funtu', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Şri Lanka Rupisi', + 'LKR', + 'Şri Lanka Rupisi', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Liberiya Dolları', + 'LRD', + 'Liberiya Dolları', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Lesoto Lotisi', + 'LSL', + 'Lesoto Lotisi', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litva Liti', + 'LTL', + 'Litva Liti', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Litva Talonası', + 'LTT', + 'Litva Talonası', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Luksemburq Frankası (dəyişik)', + 'LUC', + 'Luksemburq Frankası (dəyişik)', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Luksemburq Frankası', + 'LUF', + 'Luksemburq Frankası', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Luksemburq Frankası (finans)', + 'LUL', + 'Luksemburq Frankası (finans)', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Latviya Latı', + 'LVL', + 'Latviya Latı', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Latviya Rublu', + 'LVR', + 'Latviya Rublu', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Liviya Dinarı', + 'LYD', + 'Liviya Dinarı', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Mərakeş Dirhəmi', + 'MAD', + 'Mərakeş Dirhəmi', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Mərakeş Frankası', + 'MAF', + 'Mərakeş Frankası', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Moldova Leyi', + 'MDL', + 'Moldova Leyi', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Madaqaskar Ariarisi', + 'MGA', + 'Madaqaskar Ariarisi', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Madaqaskar Frankası', + 'MGF', + 'Madaqaskar Frankası', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Makedoniya Dinarı', + 'MKD', + 'Makedoniya Dinarı', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'Makedoniya Dinarı (1992–1993)', + 'MKN', + 'Makedoniya Dinarı (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Mali Frankı', + 'MLF', + 'Mali Frankı', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Myanma Kiyatı', + 'MMK', + 'Myanma Kiyatı', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Monqoliya Tuqriki', + 'MNT', + 'Monqoliya Tuqriki', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Makao Patakası', + 'MOP', + 'Makao Patakası', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Mavritaniya Ugiyası (1973–2017)', + 'MRO', + 'Mavritaniya Ugiyası (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Mavritaniya Ugiyası', + 'MRU', + 'Mavritaniya Ugiyası', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Maltiz Paundu', + 'MTP', + 'Maltiz Paundu', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Mavriki Rupisi', + 'MUR', + 'Mavriki Rupisi', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Maldiv Rufiyası', + 'MVR', + 'Maldiv Rufiyası', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Malavi Kvaçası', + 'MWK', + 'Malavi Kvaçası', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Meksika Pesosu', + 'MX$', + 'Meksika Pesosu', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Meksika gümüş pesosu', + 'MXP', + 'Meksika gümüş pesosu', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Malayziya Ringiti', + 'MYR', + 'Malayziya Ringiti', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Mozambik Eskudosu', + 'MZE', + 'Mozambik Eskudosu', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Mozambik Metikalı (1980–2006)', + 'MZM', + 'Mozambik Metikalı (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Mozambik Metikalı', + 'MZN', + 'Mozambik Metikalı', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Namibiya Dolları', + 'NAD', + 'Namibiya Dolları', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Nigeriya Nairası', + 'NGN', + 'Nigeriya Nairası', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Nikaraqua kordobu', + 'NIC', + 'Nikaraqua kordobu', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Nikaraqua Kordobası', + 'NIO', + 'Nikaraqua Kordobası', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Hollandiya Gilderi', + 'NLG', + 'Hollandiya Gilderi', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Norveç Kronu', + 'NOK', + 'Norveç Kronu', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Nepal Rupisi', + 'NPR', + 'Nepal Rupisi', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Yeni Zelandiya Dolları', + 'NZ$', + 'Yeni Zelandiya Dolları', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Oman Rialı', + 'OMR', + 'Oman Rialı', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Panama Balboası', + 'PAB', + 'Panama Balboası', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Peru Inti', + 'PEI', + 'Peru Inti', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Peru Solu', + 'PEN', + 'Peru Solu', ], 'PES' => [ - 0 => 'PES', - 1 => 'Peru Solu (1863–1965)', + 'PES', + 'Peru Solu (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Papua Yeni Qvineya Kinası', + 'PGK', + 'Papua Yeni Qvineya Kinası', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Filippin Pesosu', + 'PHP', + 'Filippin Pesosu', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Pakistan Rupisi', + 'PKR', + 'Pakistan Rupisi', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Polşa Zlotısı', + 'PLN', + 'Polşa Zlotısı', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Polşa Zlotısı (1950–1995)', + 'PLZ', + 'Polşa Zlotısı (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Portuqal Eskudosu', + 'PTE', + 'Portuqal Eskudosu', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Paraqvay Quaranisi', + 'PYG', + 'Paraqvay Quaranisi', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Qatar Rialı', + 'QAR', + 'Qatar Rialı', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Rodezian Dolları', + 'RHD', + 'Rodezian Dolları', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Rumıniya Leyi (1952–2006)', + 'ROL', + 'Rumıniya Leyi (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'Rumıniya Leyi', + 'RON', + 'Rumıniya Leyi', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Serbiya Dinarı', + 'RSD', + 'Serbiya Dinarı', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Rusiya Rublu', + 'RUB', + 'Rusiya Rublu', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Rusiya Rublu (1991–1998)', + 'RUR', + 'Rusiya Rublu (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Ruanda Frankı', + 'RWF', + 'Ruanda Frankı', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Səudiyyə Riyalı', + 'SAR', + 'Səudiyyə Riyalı', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Solomon Adaları Dolları', + 'SBD', + 'Solomon Adaları Dolları', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Seyşel Rupisi', + 'SCR', + 'Seyşel Rupisi', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Sudan Funtu', + 'SDG', + 'Sudan Funtu', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'İsveç Kronu', + 'SEK', + 'İsveç Kronu', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Sinqapur Dolları', + 'SGD', + 'Sinqapur Dolları', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Müqəddəs Yelena Funtu', + 'SHP', + 'Müqəddəs Yelena Funtu', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Sloveniya Toları', + 'SIT', + 'Sloveniya Toları', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Slovak Korunası', + 'SKK', + 'Slovak Korunası', + ], + 'SLE' => [ + 'SLE', + 'Sierra Leon Leonu', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Sierra Leon Leonu', + 'SLL', + 'Sierra Leon Leonu (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Somali Şillinqi', + 'SOS', + 'Somali Şillinqi', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Surinam Dolları', + 'SRD', + 'Surinam Dolları', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Cənubi Sudan Funtu', + 'SSP', + 'Cənubi Sudan Funtu', ], 'STD' => [ - 0 => 'STD', - 1 => 'San Tom və Prinsip Dobrası (1977–2017)', + 'STD', + 'San Tom və Prinsip Dobrası (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'San Tom və Prinsip Dobrası', + 'STN', + 'San Tom və Prinsip Dobrası', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Sovet Rublu', + 'SUR', + 'Sovet Rublu', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'El Salvador kolonu', + 'SVC', + 'El Salvador kolonu', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Suriya Funtu', + 'SYP', + 'Suriya Funtu', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Svazilend Lilangenini', + 'SZL', + 'Svazilend Lilangenini', ], 'THB' => [ - 0 => '฿', - 1 => 'Tayland Batı', + '฿', + 'Tayland Batı', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Tacikistan Rublu', + 'TJR', + 'Tacikistan Rublu', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Tacikistan Somonisi', + 'TJS', + 'Tacikistan Somonisi', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Türkmənistan Manatı (1993–2009)', + 'TMM', + 'Türkmənistan Manatı (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Türkmənistan Manatı', + 'TMT', + 'Türkmənistan Manatı', ], 'TND' => [ - 0 => 'TND', - 1 => 'Tunis Dinarı', + 'TND', + 'Tunis Dinarı', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Tonqa Panqası', + 'TOP', + 'Tonqa Panqası', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Timor Eskudu', + 'TPE', + 'Timor Eskudu', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Türkiyə Lirəsi (1922–2005)', + 'TRL', + 'Türkiyə Lirəsi (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Türkiyə Lirəsi', + 'TRY', + 'Türkiyə Lirəsi', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Trinidad və Tobaqo Dolları', + 'TTD', + 'Trinidad və Tobaqo Dolları', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Tayvan Yeni Dolları', + 'NT$', + 'Tayvan Yeni Dolları', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Tanzaniya Şillinqi', + 'TZS', + 'Tanzaniya Şillinqi', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Ukrayna Qrivnası', + 'UAH', + 'Ukrayna Qrivnası', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Ukrayna Karbovenesası', + 'UAK', + 'Ukrayna Karbovenesası', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Uqanda Şillinqi (1966–1987)', + 'UGS', + 'Uqanda Şillinqi (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Uqanda Şillinqi', + 'UGX', + 'Uqanda Şillinqi', ], 'USD' => [ - 0 => 'US$', - 1 => 'ABŞ Dolları', + 'US$', + 'ABŞ Dolları', ], 'USN' => [ - 0 => 'USN', - 1 => 'ABŞ dolları (yeni gün)', + 'USN', + 'ABŞ dolları (yeni gün)', ], 'USS' => [ - 0 => 'USS', - 1 => 'ABŞ dolları (həmin gün)', + 'USS', + 'ABŞ dolları (həmin gün)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Uruqvay pesosu Unidades Indexadas', + 'UYI', + 'Uruqvay pesosu Unidades Indexadas', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Uruqvay Pesosu (1975–1993)', + 'UYP', + 'Uruqvay Pesosu (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Uruqvay Pesosu', + 'UYU', + 'Uruqvay Pesosu', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Özbəkistan Somu', + 'UZS', + 'Özbəkistan Somu', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Venesuela Bolivarı (1871–2008)', + 'VEB', + 'Venesuela Bolivarı (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Venesuela Bolivarı (2008–2018)', + 'VEF', + 'Venesuela Bolivarı (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Venesuela Bolivarı', + 'VES', + 'Venesuela Bolivarı', ], 'VND' => [ - 0 => '₫', - 1 => 'Vyetnam Donqu', + '₫', + 'Vyetnam Donqu', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'Vyetnam Donqu (1978–1985)', + 'VNN', + 'Vyetnam Donqu (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vanuatu Vatusu', + 'VUV', + 'Vanuatu Vatusu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Samoa Talası', + 'WST', + 'Samoa Talası', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Kamerun Frankı', + 'FCFA', + 'Kamerun Frankı', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Şərqi Karib Dolları', + 'EC$', + 'Şərqi Karib Dolları', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Fransız Gızıl Frankı', + 'XFO', + 'Fransız Gızıl Frankı', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Fransız UİC Frankı', + 'XFU', + 'Fransız UİC Frankı', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Fil Dişi Sahili Frankı', + 'F CFA', + 'Fil Dişi Sahili Frankı', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'Fransız Polineziyası Frankı', + 'CFPF', + 'Fransız Polineziyası Frankı', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Yəmən Dinarı', + 'YDD', + 'Yəmən Dinarı', ], 'YER' => [ - 0 => 'YER', - 1 => 'Yəmən Rialı', + 'YER', + 'Yəmən Rialı', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Yuqoslaviya Dinarı (1966–1990)', + 'YUD', + 'Yuqoslaviya Dinarı (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Yuqoslaviya Yeni Dinarı (1994–2002)', + 'YUM', + 'Yuqoslaviya Yeni Dinarı (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Yuqoslaviya Dinarı (1990–1992)', + 'YUN', + 'Yuqoslaviya Dinarı (1990–1992)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Cənubi Afrika Randı (finans)', + 'ZAL', + 'Cənubi Afrika Randı (finans)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Cənubi Afrika Randı', + 'ZAR', + 'Cənubi Afrika Randı', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Zambiya Kvaçası (1968–2012)', + 'ZMK', + 'Zambiya Kvaçası (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Zambiya Kvaçası', + 'ZMW', + 'Zambiya Kvaçası', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Zair Yeni Zairi (1993–1998)', + 'ZRN', + 'Zair Yeni Zairi (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Zair Zairi (1971–1993)', + 'ZRZ', + 'Zair Zairi (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Zimbabve Dolları (1980–2008)', + 'ZWD', + 'Zimbabve Dolları (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Zimbabve Dolları (2009)', + 'ZWL', + 'Zimbabve Dolları (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Zimbabve Dolları (2008)', + 'ZWR', + 'Zimbabve Dolları (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/az_Cyrl.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/az_Cyrl.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/az_Cyrl.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/az_Cyrl.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'AZN' => [ - 0 => '₼', - 1 => 'AZN', + '₼', + 'AZN', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/be.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/be.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/be.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/be.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,644 +3,648 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'дырхам ААЭ', + 'AED', + 'дырхам ААЭ', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'афганскі афгані', + 'AFN', + 'афганскі афгані', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'албанскі лек', + 'ALL', + 'албанскі лек', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'армянскі драм', + 'AMD', + 'армянскі драм', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'нідэрландскі антыльскі гульдэн', + 'ANG', + 'нідэрландскі антыльскі гульдэн', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'ангольская кванза', + 'AOA', + 'ангольская кванза', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'аргенцінскае песа', + 'ARS', + 'аргенцінскае песа', ], 'AUD' => [ - 0 => 'A$', - 1 => 'аўстралійскі долар', + 'A$', + 'аўстралійскі долар', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'арубанскі фларын', + 'AWG', + 'арубанскі фларын', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'азербайджанскі манат', + 'AZN', + 'азербайджанскі манат', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'канверсоўная марка Босніі і Герцагавіны', + 'BAM', + 'канверсоўная марка Босніі і Герцагавіны', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'барбадаскі долар', + 'BBD', + 'барбадаскі долар', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'бангладэшская така', + 'BDT', + 'бангладэшская така', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'балгарскі леў', + 'BGN', + 'балгарскі леў', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'бахрэйнскі дынар', + 'BHD', + 'бахрэйнскі дынар', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'бурундзійскі франк', + 'BIF', + 'бурундзійскі франк', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'бермудскі долар', + 'BMD', + 'бермудскі долар', ], 'BND' => [ - 0 => 'BND', - 1 => 'брунейскі долар', + 'BND', + 'брунейскі долар', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'балівіяна', + 'BOB', + 'балівіяна', ], 'BRL' => [ - 0 => 'BRL', - 1 => 'бразільскі рэал', + 'BRL', + 'бразільскі рэал', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'багамскі долар', + 'BSD', + 'багамскі долар', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'бутанскі нгултрум', + 'BTN', + 'бутанскі нгултрум', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'батсванская пула', + 'BWP', + 'батсванская пула', ], 'BYN' => [ - 0 => 'Br', - 1 => 'беларускі рубель', + 'Br', + 'беларускі рубель', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'беларускі рубель (2000–2016)', + 'BYR', + 'беларускі рубель (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'белізскі долар', + 'BZD', + 'белізскі долар', ], 'CAD' => [ - 0 => 'CAD', - 1 => 'канадскі долар', + 'CAD', + 'канадскі долар', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'кангалезскі франк', + 'CDF', + 'кангалезскі франк', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'швейцарскі франк', + 'CHF', + 'швейцарскі франк', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'чылійскае песа', + 'CLP', + 'чылійскае песа', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'афшорны кітайскі юань', + 'CNH', + 'афшорны кітайскі юань', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'кітайскі юань', + 'CN¥', + 'кітайскі юань', ], 'COP' => [ - 0 => 'COP', - 1 => 'калумбійскае песа', + 'COP', + 'калумбійскае песа', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'коста-рыканскі калон', + 'CRC', + 'коста-рыканскі калон', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'кубінскае канверсоўнае песа', + 'CUC', + 'кубінскае канверсоўнае песа', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'кубінскае песа', + 'CUP', + 'кубінскае песа', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'эскуда Каба-Вердэ', + 'CVE', + 'эскуда Каба-Вердэ', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'чэшская крона', + 'CZK', + 'чэшская крона', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'джыбуційскі франк', + 'DJF', + 'джыбуційскі франк', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'дацкая крона', + 'DKK', + 'дацкая крона', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'дамініканскае песа', + 'DOP', + 'дамініканскае песа', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'алжырскі дынар', + 'DZD', + 'алжырскі дынар', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'егіпецкі фунт', + 'EGP', + 'егіпецкі фунт', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'эрытрэйская накфа', + 'ERN', + 'эрытрэйская накфа', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'эфіопскі быр', + 'ETB', + 'эфіопскі быр', ], 'EUR' => [ - 0 => '€', - 1 => 'еўра', + '€', + 'еўра', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'фіджыйскі долар', + 'FJD', + 'фіджыйскі долар', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'фунт Фалклендскіх астравоў', + 'FKP', + 'фунт Фалклендскіх астравоў', ], 'GBP' => [ - 0 => '£', - 1 => 'брытанскі фунт стэрлінгаў', + '£', + 'брытанскі фунт стэрлінгаў', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'грузінскі лары', + 'GEL', + 'грузінскі лары', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'ганскі седзі', + 'GHS', + 'ганскі седзі', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'гібралтарскі фунт', + 'GIP', + 'гібралтарскі фунт', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'гамбійскі даласі', + 'GMD', + 'гамбійскі даласі', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'гвінейскі франк', + 'GNF', + 'гвінейскі франк', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'гватэмальскі кетсаль', + 'GTQ', + 'гватэмальскі кетсаль', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'гаянскі долар', + 'GYD', + 'гаянскі долар', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'ганконгскі долар', + 'HK$', + 'ганконгскі долар', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'гандураская лемпіра', + 'HNL', + 'гандураская лемпіра', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'харвацкая куна', + 'HRK', + 'харвацкая куна', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'гаіцянскі гурд', + 'HTG', + 'гаіцянскі гурд', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'венгерскі форынт', + 'HUF', + 'венгерскі форынт', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'інданезійская рупія', + 'IDR', + 'інданезійская рупія', ], 'ILS' => [ - 0 => '₪', - 1 => 'новы ізраільскі шэкель', + '₪', + 'новы ізраільскі шэкель', ], 'INR' => [ - 0 => '₹', - 1 => 'індыйская рупія', + '₹', + 'індыйская рупія', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'іракскі дынар', + 'IQD', + 'іракскі дынар', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'іранскі рыял', + 'IRR', + 'іранскі рыял', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'ісландская крона', + 'ISK', + 'ісландская крона', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'ямайскі долар', + 'JMD', + 'ямайскі долар', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'іарданскі дынар', + 'JOD', + 'іарданскі дынар', ], 'JPY' => [ - 0 => '¥', - 1 => 'японская іена', + '¥', + 'японская іена', ], 'KES' => [ - 0 => 'KES', - 1 => 'кенійскі шылінг', + 'KES', + 'кенійскі шылінг', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'кіргізскі сом', + 'KGS', + 'кіргізскі сом', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'камбаджыйскі рыель', + 'KHR', + 'камбаджыйскі рыель', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'каморскі франк', + 'KMF', + 'каморскі франк', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'паўночнакарэйская вона', + 'KPW', + 'паўночнакарэйская вона', ], 'KRW' => [ - 0 => '₩', - 1 => 'паўднёвакарэйская вона', + '₩', + 'паўднёвакарэйская вона', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'кувейцкі дынар', + 'KWD', + 'кувейцкі дынар', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'долар Кайманавых астравоў', + 'KYD', + 'долар Кайманавых астравоў', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'казахстанскі тэнге', + 'KZT', + 'казахстанскі тэнге', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'лаоскі кіп', + 'LAK', + 'лаоскі кіп', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'ліванскі фунт', + 'LBP', + 'ліванскі фунт', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'шры-ланкійская рупія', + 'LKR', + 'шры-ланкійская рупія', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'ліберыйскі долар', + 'LRD', + 'ліберыйскі долар', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'лесоцкі лоці', + 'LSL', + 'лесоцкі лоці', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'лівійскі дынар', + 'LYD', + 'лівійскі дынар', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'мараканскі дырхам', + 'MAD', + 'мараканскі дырхам', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'малдаўскі лей', + 'MDL', + 'малдаўскі лей', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'малагасійскі арыяры', + 'MGA', + 'малагасійскі арыяры', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'македонскі дэнар', + 'MKD', + 'македонскі дэнар', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'м’янманскі к’ят', + 'MMK', + 'м’янманскі к’ят', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'мангольскі тугрык', + 'MNT', + 'мангольскі тугрык', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'патака Макаа', + 'MOP', + 'патака Макаа', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'маўрытанская ўгія (1973–2017)', + 'MRO', + 'маўрытанская ўгія (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'маўрытанская угія', + 'MRU', + 'маўрытанская угія', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'маўрыкійская рупія', + 'MUR', + 'маўрыкійская рупія', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'мальдыўская руфія', + 'MVR', + 'мальдыўская руфія', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'малавійская квача', + 'MWK', + 'малавійская квача', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'мексіканскае песа', + 'MX$', + 'мексіканскае песа', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'малайзійскі рынгіт', + 'MYR', + 'малайзійскі рынгіт', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'мазамбікскі метыкал', + 'MZN', + 'мазамбікскі метыкал', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'намібійскі долар', + 'NAD', + 'намібійскі долар', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'нігерыйская наіра', + 'NGN', + 'нігерыйская наіра', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'нікарагуанская кордаба', + 'NIO', + 'нікарагуанская кордаба', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'нарвежская крона', + 'NOK', + 'нарвежская крона', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'непальская рупія', + 'NPR', + 'непальская рупія', ], 'NZD' => [ - 0 => 'NZD', - 1 => 'новазеландскі долар', + 'NZD', + 'новазеландскі долар', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'аманскі рыял', + 'OMR', + 'аманскі рыял', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'панамскае бальбоа', + 'PAB', + 'панамскае бальбоа', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'перуанскі соль', + 'PEN', + 'перуанскі соль', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'кіна Папуа-Новай Гвінеі', + 'PGK', + 'кіна Папуа-Новай Гвінеі', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'філіпінскае песа', + 'PHP', + 'філіпінскае песа', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'пакістанская рупія', + 'PKR', + 'пакістанская рупія', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'польскі злоты', + 'PLN', + 'польскі злоты', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'парагвайскі гуарані', + 'PYG', + 'парагвайскі гуарані', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'катарскі рыял', + 'QAR', + 'катарскі рыял', ], 'RON' => [ - 0 => 'RON', - 1 => 'румынскі лей', + 'RON', + 'румынскі лей', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'сербскі дынар', + 'RSD', + 'сербскі дынар', ], 'RUB' => [ - 0 => '₽', - 1 => 'расійскі рубель', + '₽', + 'расійскі рубель', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'руандыйскі франк', + 'RWF', + 'руандыйскі франк', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'саудаўскі рыял', + 'SAR', + 'саудаўскі рыял', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'долар Саламонавых астравоў', + 'SBD', + 'долар Саламонавых астравоў', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'сейшэльская рупія', + 'SCR', + 'сейшэльская рупія', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'суданскі фунт', + 'SDG', + 'суданскі фунт', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'шведская крона', + 'SEK', + 'шведская крона', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'сінгапурскі долар', + 'SGD', + 'сінгапурскі долар', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'фунт в-ва Святой Алены', + 'SHP', + 'фунт в-ва Святой Алены', + ], + 'SLE' => [ + 'SLE', + 'сьера-леонскі леонэ', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'сьера-леонскі леонэ', + 'SLL', + 'сьера-леонскі леонэ (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'самалійскі шылінг', + 'SOS', + 'самалійскі шылінг', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'сурынамскі долар', + 'SRD', + 'сурынамскі долар', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'паўднёвасуданскі фунт', + 'SSP', + 'паўднёвасуданскі фунт', ], 'STD' => [ - 0 => 'STD', - 1 => 'добра Сан-Тамэ і Прынсіпі (1977–2017)', + 'STD', + 'добра Сан-Тамэ і Прынсіпі (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'добра Сан-Тамэ і Прынсіпі', + 'STN', + 'добра Сан-Тамэ і Прынсіпі', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'сірыйскі фунт', + 'SYP', + 'сірыйскі фунт', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'свазілендскі лілангені', + 'SZL', + 'свазілендскі лілангені', ], 'THB' => [ - 0 => 'THB', - 1 => 'тайскі бат', + 'THB', + 'тайскі бат', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'таджыкскі самані', + 'TJS', + 'таджыкскі самані', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'туркменскі манат', + 'TMT', + 'туркменскі манат', ], 'TND' => [ - 0 => 'TND', - 1 => 'туніскі дынар', + 'TND', + 'туніскі дынар', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'танганская паанга', + 'TOP', + 'танганская паанга', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'турэцкая ліра', + 'TRY', + 'турэцкая ліра', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'долар Трынідада і Табага', + 'TTD', + 'долар Трынідада і Табага', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'новы тайваньскі долар', + 'NT$', + 'новы тайваньскі долар', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'танзанійскі шылінг', + 'TZS', + 'танзанійскі шылінг', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'украінская грыўня', + 'UAH', + 'украінская грыўня', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'угандыйскі шылінг', + 'UGX', + 'угандыйскі шылінг', ], 'USD' => [ - 0 => '$', - 1 => 'долар ЗША', + '$', + 'долар ЗША', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'уругвайскае песа', + 'UYU', + 'уругвайскае песа', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'узбекскі сум', + 'UZS', + 'узбекскі сум', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'венесуальскі балівар (2008–2018)', + 'VEF', + 'венесуальскі балівар (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'венесуэльскі балівар', + 'VES', + 'венесуэльскі балівар', ], 'VND' => [ - 0 => '₫', - 1 => 'в’етнамскі донг', + '₫', + 'в’етнамскі донг', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'вануацкі вату', + 'VUV', + 'вануацкі вату', ], 'WST' => [ - 0 => 'WST', - 1 => 'самаанская тала', + 'WST', + 'самаанская тала', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'цэнтральнаафрыканскі франк КФА', + 'FCFA', + 'цэнтральнаафрыканскі франк КФА', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'усходнекарыбскі долар', + 'EC$', + 'усходнекарыбскі долар', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'заходнеафрыканскі франк КФА', + 'F CFA', + 'заходнеафрыканскі франк КФА', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'французскі ціхаакіянскі франк', + 'CFPF', + 'французскі ціхаакіянскі франк', ], 'YER' => [ - 0 => 'YER', - 1 => 'еменскі рыал', + 'YER', + 'еменскі рыал', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'паўднёваафрыканскі рэнд', + 'ZAR', + 'паўднёваафрыканскі рэнд', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'замбійская квача', + 'ZMW', + 'замбійская квача', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bg.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bg.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bg.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bg.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1044 +3,1040 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Андорска песета', + 'ADP', + 'Андорска песета', ], 'AED' => [ - 0 => 'AED', - 1 => 'Дирхам на Обединените арабски емирства', + 'AED', + 'Дирхам на Обединените арабски емирства', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Афганистански афган (1927–2002)', + 'AFA', + 'Афганистански афган (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Афганистански афган', + 'AFN', + 'Афганистански афган', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Албански лек', + 'ALL', + 'Албански лек', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Арменски драм', + 'AMD', + 'Арменски драм', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Антилски гулден', + 'ANG', + 'Антилски гулден', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Анголска кванза', + 'AOA', + 'Анголска кванза', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Анголска кванца (1977–1990)', + 'AOK', + 'Анголска кванца (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Анголска нова кванца (1990–2000)', + 'AON', + 'Анголска нова кванца (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Анголска нова кванца (1995–1999)', + 'AOR', + 'Анголска нова кванца (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Аржентински австрал', + 'ARA', + 'Аржентински австрал', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Аржентинско песо (1983–1985)', + 'ARP', + 'Аржентинско песо (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Аржентинско песо', + 'ARS', + 'Аржентинско песо', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Австрийски шилинг', + 'ATS', + 'Австрийски шилинг', ], 'AUD' => [ - 0 => 'AUD', - 1 => 'Австралийски долар', + 'AUD', + 'Австралийски долар', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Арубски флорин', + 'AWG', + 'Арубски флорин', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Азербайджански манат (1993–2006)', + 'AZM', + 'Азербайджански манат (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Азербайджански манат', + 'AZN', + 'Азербайджански манат', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Босна и Херцеговина-динар', + 'BAD', + 'Босна и Херцеговина-динар', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Босненска конвертируема марка', + 'BAM', + 'Босненска конвертируема марка', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Барбадоски долар', + 'BBD', + 'Барбадоски долар', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Бангладешка така', + 'BDT', + 'Бангладешка така', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Белгийски франк (конвертируем)', + 'BEC', + 'Белгийски франк (конвертируем)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Белгийски франк', + 'BEF', + 'Белгийски франк', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Белгийски франк (финансов)', + 'BEL', + 'Белгийски франк (финансов)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Български конвертируем лев (1962–1999)', + 'BGL', + 'Български конвертируем лев (1962–1999)', ], 'BGN' => [ - 0 => 'лв.', - 1 => 'Български лев', + 'лв.', + 'Български лев', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Бахрейнски динар', + 'BHD', + 'Бахрейнски динар', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Бурундийски франк', + 'BIF', + 'Бурундийски франк', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Бермудски долар', + 'BMD', + 'Бермудски долар', ], 'BND' => [ - 0 => 'BND', - 1 => 'Брунейски долар', + 'BND', + 'Брунейски долар', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Боливийско боливиано', + 'BOB', + 'Боливийско боливиано', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Боливийско песо', + 'BOP', + 'Боливийско песо', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Боливийски мвдол', + 'BOV', + 'Боливийски мвдол', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Бразилско ново крузейро (1967–1986)', + 'BRB', + 'Бразилско ново крузейро (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Бразилско крозадо', + 'BRC', + 'Бразилско крозадо', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Бразилско крузейро (1990–1993)', + 'BRE', + 'Бразилско крузейро (1990–1993)', ], 'BRL' => [ - 0 => 'BRL', - 1 => 'Бразилски реал', + 'BRL', + 'Бразилски реал', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Бразилско ново крозадо', + 'BRN', + 'Бразилско ново крозадо', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Бразилско крузейро', + 'BRR', + 'Бразилско крузейро', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Бахамски долар', + 'BSD', + 'Бахамски долар', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Бутански нгултрум', + 'BTN', + 'Бутански нгултрум', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Бирмански киат', + 'BUK', + 'Бирмански киат', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Ботсванска пула', + 'BWP', + 'Ботсванска пула', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Беларуска нова рубла (1994–1999)', + 'BYB', + 'Беларуска нова рубла (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Беларуска рубла', + 'BYN', + 'Беларуска рубла', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Беларуска рубла (2000–2016)', + 'BYR', + 'Беларуска рубла (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Белизийски долар', + 'BZD', + 'Белизийски долар', ], 'CAD' => [ - 0 => 'CAD', - 1 => 'Канадски долар', + 'CAD', + 'Канадски долар', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Конгоански франк', + 'CDF', + 'Конгоански франк', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'WIR евро', + 'CHE', + 'WIR евро', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Швейцарски франк', + 'CHF', + 'Швейцарски франк', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'WIR франк', + 'CHW', + 'WIR франк', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Условна разчетна единица на Чили', + 'CLF', + 'Условна разчетна единица на Чили', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Чилийско песо', + 'CLP', + 'Чилийско песо', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Китайски юан (офшорен)', + 'CNH', + 'Китайски юан (офшорен)', ], 'CNY' => [ - 0 => 'CNY', - 1 => 'Китайски юан', + 'CNY', + 'Китайски юан', ], 'COP' => [ - 0 => 'COP', - 1 => 'Колумбийско песо', + 'COP', + 'Колумбийско песо', ], 'COU' => [ - 0 => 'COU', - 1 => 'Колумбийска единица на реалната стойност', + 'COU', + 'Колумбийска единица на реалната стойност', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Костарикански колон', + 'CRC', + 'Костарикански колон', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Стар сръбски динар', + 'CSD', + 'Стар сръбски динар', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Чехословашка конвертируема крона', + 'CSK', + 'Чехословашка конвертируема крона', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Кубинско конвертируемо песо', + 'CUC', + 'Кубинско конвертируемо песо', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Кубинско песо', + 'CUP', + 'Кубинско песо', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Ескудо на Кабо Верде', + 'CVE', + 'Ескудо на Кабо Верде', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Кипърска лира', + 'CYP', + 'Кипърска лира', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Чешка крона', + 'CZK', + 'Чешка крона', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Източногерманска марка', + 'DDM', + 'Източногерманска марка', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Германска марка', + 'DEM', + 'Германска марка', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Джибутски франк', + 'DJF', + 'Джибутски франк', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Датска крона', + 'DKK', + 'Датска крона', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Доминиканско песо', + 'DOP', + 'Доминиканско песо', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Алжирски динар', + 'DZD', + 'Алжирски динар', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Еквадорско сукре', + 'ECS', + 'Еквадорско сукре', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Еквадорска банкова единица', + 'ECV', + 'Еквадорска банкова единица', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Естонска крона', + 'EEK', + 'Естонска крона', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Египетска лира', + 'EGP', + 'Египетска лира', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Еритрейска накфа', + 'ERN', + 'Еритрейска накфа', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Испанска песета', + 'ESP', + 'Испанска песета', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Етиопски бир', + 'ETB', + 'Етиопски бир', ], 'EUR' => [ - 0 => '€', - 1 => 'Евро', + '€', + 'Евро', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Финландска марка', + 'FIM', + 'Финландска марка', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Фиджийски долар', + 'FJD', + 'Фиджийски долар', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Фолкландска лира', + 'FKP', + 'Фолкландска лира', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Френски франк', + 'FRF', + 'Френски франк', ], 'GBP' => [ - 0 => 'GBP', - 1 => 'Британска лира', + 'GBP', + 'Британска лира', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Грузински купон', + 'GEK', + 'Грузински купон', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Грузински лари', + 'GEL', + 'Грузински лари', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Ганайско седи (1979–2007)', + 'GHC', + 'Ганайско седи (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Ганайско седи', + 'GHS', + 'Ганайско седи', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Гибралтарска лира', + 'GIP', + 'Гибралтарска лира', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Гамбийско даласи', + 'GMD', + 'Гамбийско даласи', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Гвинейски франк', + 'GNF', + 'Гвинейски франк', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Гвинейска сили', + 'GNS', + 'Гвинейска сили', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Екваториално гвинейско еквеле', + 'GQE', + 'Екваториално гвинейско еквеле', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Гръцка драхма', + 'GRD', + 'Гръцка драхма', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Гватемалски кетцал', + 'GTQ', + 'Гватемалски кетцал', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Ескудо от Португалска Гвинея', + 'GWE', + 'Ескудо от Португалска Гвинея', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Гвинея-Бисау песо', + 'GWP', + 'Гвинея-Бисау песо', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Гаянски долар', + 'GYD', + 'Гаянски долар', ], 'HKD' => [ - 0 => 'HKD', - 1 => 'Хонконгски долар', + 'HKD', + 'Хонконгски долар', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Хондураска лемпира', + 'HNL', + 'Хондураска лемпира', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Хърватски динар', + 'HRD', + 'Хърватски динар', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Хърватска куна', + 'HRK', + 'Хърватска куна', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Хаитски гурд', + 'HTG', + 'Хаитски гурд', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Унгарски форинт', + 'HUF', + 'Унгарски форинт', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Индонезийска рупия', + 'IDR', + 'Индонезийска рупия', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Ирландска лира', + 'IEP', + 'Ирландска лира', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Израелска лира', + 'ILP', + 'Израелска лира', ], 'ILS' => [ - 0 => 'ILS', - 1 => 'Израелски нов шекел', + 'ILS', + 'Израелски нов шекел', ], 'INR' => [ - 0 => 'INR', - 1 => 'Индийска рупия', + 'INR', + 'Индийска рупия', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Иракски динар', + 'IQD', + 'Иракски динар', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Ирански риал', + 'IRR', + 'Ирански риал', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Исландска крона', + 'ISK', + 'Исландска крона', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Италианска лира', + 'ITL', + 'Италианска лира', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Ямайски долар', + 'JMD', + 'Ямайски долар', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Йордански динар', + 'JOD', + 'Йордански динар', ], 'JPY' => [ - 0 => 'JPY', - 1 => 'Японска йена', + 'JPY', + 'Японска йена', ], 'KES' => [ - 0 => 'KES', - 1 => 'Кенийски шилинг', + 'KES', + 'Кенийски шилинг', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Киргизстански сом', + 'KGS', + 'Киргизстански сом', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Камбоджански риел', + 'KHR', + 'Камбоджански риел', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Коморски франк', + 'KMF', + 'Коморски франк', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Севернокорейски вон', + 'KPW', + 'Севернокорейски вон', ], 'KRW' => [ - 0 => 'KRW', - 1 => 'Южнокорейски вон', + 'KRW', + 'Южнокорейски вон', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Кувейтски динар', + 'KWD', + 'Кувейтски динар', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Кайманов долар', + 'KYD', + 'Кайманов долар', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Казахстанско тенге', + 'KZT', + 'Казахстанско тенге', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Лаоски кип', + 'LAK', + 'Лаоски кип', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Ливанска лира', + 'LBP', + 'Ливанска лира', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Шриланкска рупия', + 'LKR', + 'Шриланкска рупия', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Либерийски долар', + 'LRD', + 'Либерийски долар', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Лесотско лоти', + 'LSL', + 'Лесотско лоти', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Литовски литас', + 'LTL', + 'Литовски литас', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Литовски талон', + 'LTT', + 'Литовски талон', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Люксембургски франк', + 'LUF', + 'Люксембургски франк', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Латвийски лат', + 'LVL', + 'Латвийски лат', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Латвийска рубла', + 'LVR', + 'Латвийска рубла', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Либийски динар', + 'LYD', + 'Либийски динар', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Марокански дирхам', + 'MAD', + 'Марокански дирхам', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Марокански франк', + 'MAF', + 'Марокански франк', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Молдовска лея', + 'MDL', + 'Молдовска лея', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Малгашко ариари', + 'MGA', + 'Малгашко ариари', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Малгашки франк - Мадагаскар', + 'MGF', + 'Малгашки франк - Мадагаскар', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Македонски денар', + 'MKD', + 'Македонски денар', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Малийски франк', + 'MLF', + 'Малийски франк', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Мианмарски киат', + 'MMK', + 'Мианмарски киат', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Монголски тугрик', + 'MNT', + 'Монголски тугрик', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Патака на Макао', + 'MOP', + 'Патака на Макао', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Мавританска угия (1973–2017)', + 'MRO', + 'Мавританска угия (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Мавританска угия', + 'MRU', + 'Мавританска угия', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Малтийска лира', + 'MTL', + 'Малтийска лира', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Маврицийска рупия', + 'MUR', + 'Маврицийска рупия', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Малдивска руфия', + 'MVR', + 'Малдивска руфия', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Малавийска куача', + 'MWK', + 'Малавийска куача', ], 'MXN' => [ - 0 => 'MXN', - 1 => 'Мексиканско песо', + 'MXN', + 'Мексиканско песо', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Мексиканско сребърно песо (1861–1992)', + 'MXP', + 'Мексиканско сребърно песо (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Мексиканска конвертируема единица (UDI)', + 'MXV', + 'Мексиканска конвертируема единица (UDI)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Малайзийски рингит', + 'MYR', + 'Малайзийски рингит', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Мозамбикско ескудо', + 'MZE', + 'Мозамбикско ескудо', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Мозамбикски метикал (1980–2006)', + 'MZM', + 'Мозамбикски метикал (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Мозамбикски метикал', + 'MZN', + 'Мозамбикски метикал', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Намибийски долар', + 'NAD', + 'Намибийски долар', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Нигерийска найра', + 'NGN', + 'Нигерийска найра', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Никарагуанска кордоба (1988–1991)', + 'NIC', + 'Никарагуанска кордоба (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Никарагуанска кордоба', + 'NIO', + 'Никарагуанска кордоба', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Холандски гулден', + 'NLG', + 'Холандски гулден', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Норвежка крона', + 'NOK', + 'Норвежка крона', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Непалска рупия', + 'NPR', + 'Непалска рупия', ], 'NZD' => [ - 0 => 'NZD', - 1 => 'Новозеландски долар', + 'NZD', + 'Новозеландски долар', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Омански риал', + 'OMR', + 'Омански риал', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Панамска балбоа', + 'PAB', + 'Панамска балбоа', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Перуанско инти', + 'PEI', + 'Перуанско инти', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Перуански сол', + 'PEN', + 'Перуански сол', ], 'PES' => [ - 0 => 'PES', - 1 => 'Перуански сол (1863–1965)', + 'PES', + 'Перуански сол (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Папуа-новогвинейска кина', + 'PGK', + 'Папуа-новогвинейска кина', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Филипинско песо', + 'PHP', + 'Филипинско песо', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Пакистанска рупия', + 'PKR', + 'Пакистанска рупия', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Полска злота', + 'PLN', + 'Полска злота', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Полска злота (1950–1995)', + 'PLZ', + 'Полска злота (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Португалско ескудо', + 'PTE', + 'Португалско ескудо', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Парагвайско гуарани', + 'PYG', + 'Парагвайско гуарани', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Катарски риал', + 'QAR', + 'Катарски риал', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Родезийски долар', + 'RHD', + 'Родезийски долар', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Стара румънска лея', + 'ROL', + 'Стара румънска лея', ], 'RON' => [ - 0 => 'RON', - 1 => 'Румънска лея', + 'RON', + 'Румънска лея', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Сръбски динар', + 'RSD', + 'Сръбски динар', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Руска рубла', + 'RUB', + 'Руска рубла', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Руска рубла (1991–1998)', + 'RUR', + 'Руска рубла (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Руандски франк', + 'RWF', + 'Руандски франк', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'саудитски риал', + 'SAR', + 'саудитски риал', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Долар на Соломоновите острови', + 'SBD', + 'Долар на Соломоновите острови', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Сейшелска рупия', + 'SCR', + 'Сейшелска рупия', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Судански динар', + 'SDD', + 'Судански динар', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Суданска лира', + 'SDG', + 'Суданска лира', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Шведска крона', + 'SEK', + 'Шведска крона', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Сингапурски долар', + 'SGD', + 'Сингапурски долар', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Лира на Света Елена', + 'SHP', + 'Лира на Света Елена', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Словенски толар', + 'SIT', + 'Словенски толар', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Словашка крона', + 'SKK', + 'Словашка крона', + ], + 'SLE' => [ + 'SLE', + 'Сиералеонско леоне', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Сиералеонско леоне', + 'SLL', + 'Сиералеонско леоне (1964 – 2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Сомалийски шилинг', + 'SOS', + 'Сомалийски шилинг', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Суринамски долар', + 'SRD', + 'Суринамски долар', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Суринамски гилдер', + 'SRG', + 'Суринамски гилдер', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Южносуданска лира', + 'SSP', + 'Южносуданска лира', ], 'STD' => [ - 0 => 'STD', - 1 => 'Добра на Сао Томе и Принсипи (1977–2017)', + 'STD', + 'Добра на Сао Томе и Принсипи (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Добра на Сао Томе и Принсипи', + 'STN', + 'Добра на Сао Томе и Принсипи', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Съветска рубла', + 'SUR', + 'Съветска рубла', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Салвадорски колон', + 'SVC', + 'Салвадорски колон', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Сирийска лира', + 'SYP', + 'Сирийска лира', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Свазилендски лилангени', + 'SZL', + 'Свазилендски лилангени', ], 'THB' => [ - 0 => 'THB', - 1 => 'Тайландски бат', + 'THB', + 'Тайландски бат', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Таджикистанска рубла', + 'TJR', + 'Таджикистанска рубла', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Таджикистански сомони', + 'TJS', + 'Таджикистански сомони', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Туркменистански манат', + 'TMM', + 'Туркменистански манат', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Туркменски манат', + 'TMT', + 'Туркменски манат', ], 'TND' => [ - 0 => 'TND', - 1 => 'Тунизийски динар', + 'TND', + 'Тунизийски динар', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Тонганска паанга', + 'TOP', + 'Тонганска паанга', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Тиморско ескудо', + 'TPE', + 'Тиморско ескудо', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Турска лира (1922–2005)', + 'TRL', + 'Турска лира (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Турска лира', + 'TRY', + 'Турска лира', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Долар на Тринидад и Тобаго', + 'TTD', + 'Долар на Тринидад и Тобаго', ], 'TWD' => [ - 0 => 'TWD', - 1 => 'Тайвански долар', + 'TWD', + 'Тайвански долар', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Танзанийски шилинг', + 'TZS', + 'Танзанийски шилинг', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Украинска гривня', + 'UAH', + 'Украинска гривня', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Украински карбованец', + 'UAK', + 'Украински карбованец', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Угандийски шилинг (1966–1987)', + 'UGS', + 'Угандийски шилинг (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Угандски шилинг', + 'UGX', + 'Угандски шилинг', ], 'USD' => [ - 0 => 'щ.д.', - 1 => 'Щатски долар', - ], - 'USN' => [ - 0 => 'USN', - 1 => 'USN', - ], - 'USS' => [ - 0 => 'USS', - 1 => 'USS', + 'щ.д.', + 'Щатски долар', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Уругвайско песо (индекс на инфлацията)', + 'UYI', + 'Уругвайско песо (индекс на инфлацията)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Уругвайско песо (1975–1993)', + 'UYP', + 'Уругвайско песо (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Уругвайско песо', + 'UYU', + 'Уругвайско песо', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Узбекски сум', + 'UZS', + 'Узбекски сум', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Венецуелски боливар (1871–2008)', + 'VEB', + 'Венецуелски боливар (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Венецуелски боливар', + 'VEF', + 'Венецуелски боливар', ], 'VES' => [ - 0 => 'VES', - 1 => 'Венецуелски боливар (VES)', + 'VES', + 'Венецуелски боливар (VES)', ], 'VND' => [ - 0 => 'VND', - 1 => 'Виетнамски донг', + 'VND', + 'Виетнамски донг', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Вануатско вату', + 'VUV', + 'Вануатско вату', ], 'WST' => [ - 0 => 'WST', - 1 => 'Самоанска тала', + 'WST', + 'Самоанска тала', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Централноафрикански франк', + 'FCFA', + 'Централноафрикански франк', ], 'XCD' => [ - 0 => 'XCD', - 1 => 'Източнокарибски долар', + 'XCD', + 'Източнокарибски долар', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'Еку на ЕИО', + 'XEU', + 'Еку на ЕИО', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Френски златен франк', + 'XFO', + 'Френски златен франк', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Западноафрикански франк', + 'F CFA', + 'Западноафрикански франк', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP франк', + 'CFPF', + 'CFP франк', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Йеменски динар', + 'YDD', + 'Йеменски динар', ], 'YER' => [ - 0 => 'YER', - 1 => 'Йеменски риал', + 'YER', + 'Йеменски риал', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Югославски твърд динар', + 'YUD', + 'Югославски твърд динар', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Югославски динар', + 'YUM', + 'Югославски динар', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Югославски конвертируем динар', + 'YUN', + 'Югославски конвертируем динар', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Южноафрикански ранд (финансов)', + 'ZAL', + 'Южноафрикански ранд (финансов)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Южноафрикански ранд', + 'ZAR', + 'Южноафрикански ранд', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Замбийска квача (1968–2012)', + 'ZMK', + 'Замбийска квача (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Замбийска куача', + 'ZMW', + 'Замбийска куача', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Заирско ново зайре', + 'ZRN', + 'Заирско ново зайре', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Заирско зайре', + 'ZRZ', + 'Заирско зайре', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Зимбабвийски долар', + 'ZWD', + 'Зимбабвийски долар', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Зимбабвийски долар (2009)', + 'ZWL', + 'Зимбабвийски долар (2009)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bm.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bm.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bm.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bm.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,236 +3,240 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'arabu mara kafoli Diram', + 'AED', + 'arabu mara kafoli Diram', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'angola Kwanza', + 'AOA', + 'angola Kwanza', ], 'AUD' => [ - 0 => 'A$', - 1 => 'ositirali Dolar', + 'A$', + 'ositirali Dolar', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'bareyini Dinar', + 'BHD', + 'bareyini Dinar', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'burundi Fraŋ', + 'BIF', + 'burundi Fraŋ', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'bɔtisiwana Pula', + 'BWP', + 'bɔtisiwana Pula', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'kanada Dolar', + 'CA$', + 'kanada Dolar', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'kongole Fraŋ', + 'CDF', + 'kongole Fraŋ', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'suwisi Fraŋ', + 'CHF', + 'suwisi Fraŋ', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'siniwa Yuwan', + 'CN¥', + 'siniwa Yuwan', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'capivɛrdi Esekudo', + 'CVE', + 'capivɛrdi Esekudo', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'jibuti Fraŋ', + 'DJF', + 'jibuti Fraŋ', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'alizeri Dinar', + 'DZD', + 'alizeri Dinar', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'eziputi Livri', + 'EGP', + 'eziputi Livri', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'eritere Nafika', + 'ERN', + 'eritere Nafika', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'etiopi Bir', + 'ETB', + 'etiopi Bir', ], 'EUR' => [ - 0 => '€', - 1 => 'ero', + '€', + 'ero', ], 'GBP' => [ - 0 => '£', - 1 => 'angilɛ Livri', + '£', + 'angilɛ Livri', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'gana Sedi', + 'GHC', + 'gana Sedi', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'gambi Dalasi', + 'GMD', + 'gambi Dalasi', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'gine Fraŋ', + 'GNS', + 'gine Fraŋ', ], 'INR' => [ - 0 => '₹', - 1 => 'Ɛndu Rupi', + '₹', + 'Ɛndu Rupi', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'zapɔne Yɛn', + 'JP¥', + 'zapɔne Yɛn', ], 'KES' => [ - 0 => 'KES', - 1 => 'keniya Siling', + 'KES', + 'keniya Siling', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'komɔri Fraŋ', + 'KMF', + 'komɔri Fraŋ', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'liberiya Dolar', + 'LRD', + 'liberiya Dolar', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'lesoto Loti', + 'LSL', + 'lesoto Loti', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'libi Dinar', + 'LYD', + 'libi Dinar', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'marɔku Diram', + 'MAD', + 'marɔku Diram', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'madagasikari Fraŋ', + 'MGA', + 'madagasikari Fraŋ', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'mɔritani Uguwiya (1973–2017)', + 'MRO', + 'mɔritani Uguwiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'mɔritani Uguwiya', + 'MRU', + 'mɔritani Uguwiya', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'morisi Rupi', + 'MUR', + 'morisi Rupi', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'malawi Kwaca', + 'MWK', + 'malawi Kwaca', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'mozanbiki Metikali', + 'MZM', + 'mozanbiki Metikali', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'namibi Dolar', + 'NAD', + 'namibi Dolar', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'nizeriya Nɛra', + 'NGN', + 'nizeriya Nɛra', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'ruwanda Fraŋ', + 'RWF', + 'ruwanda Fraŋ', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'sawudiya Riyal', + 'SAR', + 'sawudiya Riyal', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'sesɛli Rupi', + 'SCR', + 'sesɛli Rupi', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'sudani Dinar', + 'SDG', + 'sudani Dinar', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'sudani Livri', + 'SDP', + 'sudani Livri', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Ɛlɛni-Senu Livri', + 'SHP', + 'Ɛlɛni-Senu Livri', + ], + 'SLE' => [ + 'SLE', + 'siyeralewɔni Lewɔni', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'siyeralewɔni Lewɔni', + 'SLL', + 'siyeralewɔni Lewɔni (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'somali Siling', + 'SOS', + 'somali Siling', ], 'STD' => [ - 0 => 'STD', - 1 => 'sawotome Dobra (1977–2017)', + 'STD', + 'sawotome Dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'sawotome Dobra', + 'STN', + 'sawotome Dobra', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'swazilandi Lilangeni', + 'SZL', + 'swazilandi Lilangeni', ], 'TND' => [ - 0 => 'TND', - 1 => 'tunizi Dinar', + 'TND', + 'tunizi Dinar', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'tanzani Siling', + 'TZS', + 'tanzani Siling', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'uganda Siling', + 'UGX', + 'uganda Siling', ], 'USD' => [ - 0 => 'US$', - 1 => 'ameriki Dolar', + 'US$', + 'ameriki Dolar', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'sefa Fraŋ (BEAC)', + 'FCFA', + 'sefa Fraŋ (BEAC)', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'sefa Fraŋ (BCEAO)', + 'F CFA', + 'sefa Fraŋ (BCEAO)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'sudafriki Randi', + 'ZAR', + 'sudafriki Randi', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'zambi Kwaca (1968–2012)', + 'ZMK', + 'zambi Kwaca (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'zambi Kwaca', + 'ZMW', + 'zambi Kwaca', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'zimbabuwe Dolar', + 'ZWD', + 'zimbabuwe Dolar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bn.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bn.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bn.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bn.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1076 +3,1080 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'এ্যান্ডোরান পেসেতা', + 'ADP', + 'এ্যান্ডোরান পেসেতা', ], 'AED' => [ - 0 => 'AED', - 1 => 'সংযুক্ত আরব আমিরাত দিরহাম', + 'AED', + 'সংযুক্ত আরব আমিরাত দিরহাম', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'আফগানি (১৯২৭–২০০২)', + 'AFA', + 'আফগানি (১৯২৭–২০০২)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'আফগান আফগানি', + 'AFN', + 'আফগান আফগানি', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'আলবেনিয়ান লেক', + 'ALL', + 'আলবেনিয়ান লেক', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'আরমেনিয়ান দ্রাম', + 'AMD', + 'আরমেনিয়ান দ্রাম', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'নেদারল্যান্ড এ্যান্টিলিয়ান গুল্ডের', + 'ANG', + 'নেদারল্যান্ড এ্যান্টিলিয়ান গুল্ডের', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'এ্যাঙ্গোলান কওয়ানজা', + 'AOA', + 'এ্যাঙ্গোলান কওয়ানজা', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'এ্যাঙ্গোলান কওয়ানজা (১৯৭৭–১৯৯০)', + 'AOK', + 'এ্যাঙ্গোলান কওয়ানজা (১৯৭৭–১৯৯০)', ], 'AON' => [ - 0 => 'AON', - 1 => 'এ্যাঙ্গোলান নতুন কওয়ানজা (১৯৯৫–২০০০)', + 'AON', + 'এ্যাঙ্গোলান নতুন কওয়ানজা (১৯৯৫–২০০০)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'এ্যাঙ্গোলান কওয়ানজা (১৯৯৫–১৯৯৯)', + 'AOR', + 'এ্যাঙ্গোলান কওয়ানজা (১৯৯৫–১৯৯৯)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'আর্জেন্টিনা অস্ট্রাল', + 'ARA', + 'আর্জেন্টিনা অস্ট্রাল', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'আর্জেন্টিনা পেসো (১৯৮৩–১৯৮৫)', + 'ARP', + 'আর্জেন্টিনা পেসো (১৯৮৩–১৯৮৫)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'আর্জেন্টিনা পেসো', + 'ARS', + 'আর্জেন্টিনা পেসো', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'অস্ট্রিয়ান শিলিং', + 'ATS', + 'অস্ট্রিয়ান শিলিং', ], 'AUD' => [ - 0 => 'A$', - 1 => 'অস্ট্রেলিয়ান ডলার', + 'A$', + 'অস্ট্রেলিয়ান ডলার', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'আরুবা ফ্লোরিন', + 'AWG', + 'আরুবা ফ্লোরিন', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'আজারবাইজান মানাত (১৯৯৩–২০০৬)', + 'AZM', + 'আজারবাইজান মানাত (১৯৯৩–২০০৬)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'আজারবাইজান মানাত', + 'AZN', + 'আজারবাইজান মানাত', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'বসনিয়া এবং হার্জেগোভিনা দিনার', + 'BAD', + 'বসনিয়া এবং হার্জেগোভিনা দিনার', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'বসনিয়া এবং হার্জেগোভিনা বিনিমেয় মার্ক', + 'BAM', + 'বসনিয়া এবং হার্জেগোভিনা বিনিমেয় মার্ক', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'বার্বেডোজ ডলার', + 'BBD', + 'বার্বেডোজ ডলার', ], 'BDT' => [ - 0 => '৳', - 1 => 'বাংলাদেশী টাকা', + '৳', + 'বাংলাদেশী টাকা', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'বেলজিয়ান ফ্রাঙ্ক (রূপান্তরযোগ্য)', + 'BEC', + 'বেলজিয়ান ফ্রাঙ্ক (রূপান্তরযোগ্য)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'বেলজিয়ান ফ্রাঙ্ক', + 'BEF', + 'বেলজিয়ান ফ্রাঙ্ক', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'বেলজিয়ান ফ্রাঙ্ক (আর্থিক)', + 'BEL', + 'বেলজিয়ান ফ্রাঙ্ক (আর্থিক)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'বুলগেরীয় হার্ড লেভ', + 'BGL', + 'বুলগেরীয় হার্ড লেভ', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'বুলগেরীয় লেভ', + 'BGN', + 'বুলগেরীয় লেভ', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'বাহরাইনি দিনার', + 'BHD', + 'বাহরাইনি দিনার', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'বুরুন্ডি ফ্রাঙ্ক', + 'BIF', + 'বুরুন্ডি ফ্রাঙ্ক', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'বারমিউডান ডলার', + 'BMD', + 'বারমিউডান ডলার', ], 'BND' => [ - 0 => 'BND', - 1 => 'ব্রুনেই ডলার', + 'BND', + 'ব্রুনেই ডলার', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'বলিভিয়ান বলিভিয়ানো', + 'BOB', + 'বলিভিয়ান বলিভিয়ানো', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'বলিভিয়ান পেসো', + 'BOP', + 'বলিভিয়ান পেসো', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'বলিভিয়ান মভডোল', + 'BOV', + 'বলিভিয়ান মভডোল', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'ব্রাজিলিয়ান ক্রুজেয়রোনোভো (১৯৬৭–১৯৮৬)', + 'BRB', + 'ব্রাজিলিয়ান ক্রুজেয়রোনোভো (১৯৬৭–১৯৮৬)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'ব্রাজিলিয়ান ক্রুজেইডাউ', + 'BRC', + 'ব্রাজিলিয়ান ক্রুজেইডাউ', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'ব্রাজিলিয়ান ক্রুজেয়রো (১৯৯০–১৯৯৩)', + 'BRE', + 'ব্রাজিলিয়ান ক্রুজেয়রো (১৯৯০–১৯৯৩)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'ব্রাজিলিয়ান রিয়েল', + 'R$', + 'ব্রাজিলিয়ান রিয়েল', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'ব্রাজিলিয়ান ক্রুজেইডো নোভো', + 'BRN', + 'ব্রাজিলিয়ান ক্রুজেইডো নোভো', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'ব্রাজিলিয়ান ক্রুজেয়রো', + 'BRR', + 'ব্রাজিলিয়ান ক্রুজেয়রো', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'বাহামিয়ান ডলার', + 'BSD', + 'বাহামিয়ান ডলার', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ভুটানি এনগুল্ট্রুম', + 'BTN', + 'ভুটানি এনগুল্ট্রুম', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'বর্মি কিয়াৎ', + 'BUK', + 'বর্মি কিয়াৎ', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'বতসোয়ানা পুলা', + 'BWP', + 'বতসোয়ানা পুলা', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'বেলারুশিয়ান নিউ রুবেল (১৯৯৪–১৯৯৯)', + 'BYB', + 'বেলারুশিয়ান নিউ রুবেল (১৯৯৪–১৯৯৯)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'বেলারুশিয়ান রুবেল', + 'BYN', + 'বেলারুশিয়ান রুবেল', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'বেলারুশিয়ান রুবেল (2000–2016)', + 'BYR', + 'বেলারুশিয়ান রুবেল (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'বেলিজ ডলার', + 'BZD', + 'বেলিজ ডলার', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'কানাডিয়ান ডলার', + 'CA$', + 'কানাডিয়ান ডলার', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'কঙ্গোলিস ফ্র্যাঙ্ক', + 'CDF', + 'কঙ্গোলিস ফ্র্যাঙ্ক', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'সুইজারল্যান্ড ইউরো', + 'CHE', + 'সুইজারল্যান্ড ইউরো', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'সুইস ফ্রাঁ', + 'CHF', + 'সুইস ফ্রাঁ', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'সুইজারল্যান্ড ফ্রাঙ্ক', + 'CHW', + 'সুইজারল্যান্ড ফ্রাঙ্ক', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'চিলিয়ান উনিদাদেস দি ফোমেন্তো', + 'CLF', + 'চিলিয়ান উনিদাদেস দি ফোমেন্তো', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'চিলি পেসো', + 'CLP', + 'চিলি পেসো', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'চাইনিজ ইউয়ান (অফশোর)', + 'CNH', + 'চাইনিজ ইউয়ান (অফশোর)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'চীনা য়ুয়ান', + 'CN¥', + 'চীনা য়ুয়ান', ], 'COP' => [ - 0 => 'COP', - 1 => 'কলোম্বিয়ান পেসো', + 'COP', + 'কলোম্বিয়ান পেসো', ], 'COU' => [ - 0 => 'COU', - 1 => 'উনিদাদ দি ভ্যালোর রিয়েল', + 'COU', + 'উনিদাদ দি ভ্যালোর রিয়েল', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'কোস্টা রিকা কোলোন', + 'CRC', + 'কোস্টা রিকা কোলোন', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'প্রাচীন সারবিয়ান দিনার', + 'CSD', + 'প্রাচীন সারবিয়ান দিনার', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'চেকোস্লোভাক হার্ড কোরুনা', + 'CSK', + 'চেকোস্লোভাক হার্ড কোরুনা', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'কিউবান রূপান্তরযোগ্য পেসো', + 'CUC', + 'কিউবান রূপান্তরযোগ্য পেসো', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'কিউবান পেসো', + 'CUP', + 'কিউবান পেসো', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'কেপ ভার্দে এসকুডো', + 'CVE', + 'কেপ ভার্দে এসকুডো', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'সাইপ্রাস পাউন্ড', + 'CYP', + 'সাইপ্রাস পাউন্ড', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'চেক প্রজাতন্ত্র কোরুনা', + 'CZK', + 'চেক প্রজাতন্ত্র কোরুনা', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'পূর্ব জার্মান মার্ক', + 'DDM', + 'পূর্ব জার্মান মার্ক', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'ডয়চ্ মার্ক', + 'DEM', + 'ডয়চ্ মার্ক', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'জিবুতি ফ্রাঙ্ক', + 'DJF', + 'জিবুতি ফ্রাঙ্ক', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'ড্যানিশ ক্রোন', + 'DKK', + 'ড্যানিশ ক্রোন', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'ডোমিনিকান পেসো', + 'DOP', + 'ডোমিনিকান পেসো', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'আলজেরীয় দিনার', + 'DZD', + 'আলজেরীয় দিনার', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'ইকুয়াডোর সুক্রে', + 'ECS', + 'ইকুয়াডোর সুক্রে', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'ইকুয়াডোর উনিদাদেস দি ভেলর কনসতান্তে (ইউভিসি)', + 'ECV', + 'ইকুয়াডোর উনিদাদেস দি ভেলর কনসতান্তে (ইউভিসি)', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'এস্তোনিয়া ক্রুনি', + 'EEK', + 'এস্তোনিয়া ক্রুনি', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'মিশরীয় পাউন্ড', + 'EGP', + 'মিশরীয় পাউন্ড', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'এরিট্রিয়েন নাকফা', + 'ERN', + 'এরিট্রিয়েন নাকফা', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'স্প্যানিশ পেসেতা (একই হিসাব)', + 'ESA', + 'স্প্যানিশ পেসেতা (একই হিসাব)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'স্প্যানিশ পেসেতা (রূপান্তরযোগ্য হিসাব)', + 'ESB', + 'স্প্যানিশ পেসেতা (রূপান্তরযোগ্য হিসাব)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'স্প্যানিশ পেসেতা', + 'ESP', + 'স্প্যানিশ পেসেতা', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'ইথিওপিয়ান বির', + 'ETB', + 'ইথিওপিয়ান বির', ], 'EUR' => [ - 0 => '€', - 1 => 'ইউরো', + '€', + 'ইউরো', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'ফিনিস মার্কা', + 'FIM', + 'ফিনিস মার্কা', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'ফিজি ডলার', + 'FJD', + 'ফিজি ডলার', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'ফকল্যান্ড দ্বীপপুঞ্জ পাউন্ড', + 'FKP', + 'ফকল্যান্ড দ্বীপপুঞ্জ পাউন্ড', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'ফরাসি ফ্রাঙ্ক', + 'FRF', + 'ফরাসি ফ্রাঙ্ক', ], 'GBP' => [ - 0 => '£', - 1 => 'ব্রিটিশ পাউন্ড', + '£', + 'ব্রিটিশ পাউন্ড', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'জর্জিয়ান কুপন লারিট', + 'GEK', + 'জর্জিয়ান কুপন লারিট', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'জর্জিয়ান লারি', + 'GEL', + 'জর্জিয়ান লারি', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'ঘানা সেডি (১৯৭৯–২০০৭)', + 'GHC', + 'ঘানা সেডি (১৯৭৯–২০০৭)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'ঘানা সেডি', + 'GHS', + 'ঘানা সেডি', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'জিব্রাল্টার পাউন্ড', + 'GIP', + 'জিব্রাল্টার পাউন্ড', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'গাম্বিয়া ডালাসি', + 'GMD', + 'গাম্বিয়া ডালাসি', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'গিনি ফ্রাঙ্ক', + 'GNF', + 'গিনি ফ্রাঙ্ক', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'গিনি সাইলি', + 'GNS', + 'গিনি সাইলি', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'ইকুয়েটোরিয়াল গিনি ইকুয়িলি', + 'GQE', + 'ইকুয়েটোরিয়াল গিনি ইকুয়িলি', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'গ্রীক দ্রাচমা', + 'GRD', + 'গ্রীক দ্রাচমা', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'গুয়াতেমালা কুয়েৎজাল', + 'GTQ', + 'গুয়াতেমালা কুয়েৎজাল', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'পর্তুগিজ গিনি এসকুডো', + 'GWE', + 'পর্তুগিজ গিনি এসকুডো', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'গিনি বিসাউ পেসো', + 'GWP', + 'গিনি বিসাউ পেসো', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'গায়ানিজ ডলার', + 'GYD', + 'গায়ানিজ ডলার', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'হংকং ডলার', + 'HK$', + 'হংকং ডলার', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'হন্ডুরাস লেম্পিরা', + 'HNL', + 'হন্ডুরাস লেম্পিরা', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'ক্রোয়েশিয়ান দিনার', + 'HRD', + 'ক্রোয়েশিয়ান দিনার', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'ক্রোয়েশিয়ান কুনা', + 'HRK', + 'ক্রোয়েশিয়ান কুনা', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'হাইতি গৌর্দে', + 'HTG', + 'হাইতি গৌর্দে', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'হাঙ্গেরিয়ান ফোরিন্ট', + 'HUF', + 'হাঙ্গেরিয়ান ফোরিন্ট', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'ইন্দোনেশিয়ান রুপিয়াহ', + 'IDR', + 'ইন্দোনেশিয়ান রুপিয়াহ', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'ইরিশ পাউন্ড', + 'IEP', + 'ইরিশ পাউন্ড', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'ইস্রাইলি পাউন্ড', + 'ILP', + 'ইস্রাইলি পাউন্ড', ], 'ILS' => [ - 0 => '₪', - 1 => 'ইসরায়েলি নতুন শেকেল', + '₪', + 'ইসরায়েলি নতুন শেকেল', ], 'INR' => [ - 0 => '₹', - 1 => 'ভারতীয় রুপি', + '₹', + 'ভারতীয় রুপি', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'ইরাকি দিনার', + 'IQD', + 'ইরাকি দিনার', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'ইরানিয়ান রিয়াল', + 'IRR', + 'ইরানিয়ান রিয়াল', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'আইসল্যান্ডীয় ক্রোনা', + 'ISK', + 'আইসল্যান্ডীয় ক্রোনা', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'ইতালীয় লিরা', + 'ITL', + 'ইতালীয় লিরা', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'জামাইকান ডলার', + 'JMD', + 'জামাইকান ডলার', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'জর্ডানিয়ান দিনার', + 'JOD', + 'জর্ডানিয়ান দিনার', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'জাপানি ইয়েন', + 'JP¥', + 'জাপানি ইয়েন', ], 'KES' => [ - 0 => 'KES', - 1 => 'কেনিয়ান শিলিং', + 'KES', + 'কেনিয়ান শিলিং', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'কিরগিজস্তান সোম', + 'KGS', + 'কিরগিজস্তান সোম', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'কম্বোডিয়ান রিয়েল', + 'KHR', + 'কম্বোডিয়ান রিয়েল', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'কমোরিয়ান ফ্রাঙ্ক', + 'KMF', + 'কমোরিয়ান ফ্রাঙ্ক', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'উত্তর কোরিয়ার ওন', + 'KPW', + 'উত্তর কোরিয়ার ওন', ], 'KRW' => [ - 0 => '₩', - 1 => 'দক্ষিণ কোরিয়ান ওন', + '₩', + 'দক্ষিণ কোরিয়ান ওন', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'কুয়েতি দিনার', + 'KWD', + 'কুয়েতি দিনার', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'কেম্যান দ্বীপপুঞ্জের ডলার', + 'KYD', + 'কেম্যান দ্বীপপুঞ্জের ডলার', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'কাজাখাস্তানি টেঙ্গে', + 'KZT', + 'কাজাখাস্তানি টেঙ্গে', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'লেউশান কিপ', + 'LAK', + 'লেউশান কিপ', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'লেবানিজ পাউন্ড', + 'LBP', + 'লেবানিজ পাউন্ড', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'শ্রীলঙ্কান রুপি', + 'LKR', + 'শ্রীলঙ্কান রুপি', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'লিবেরিয়ান ডলার', + 'LRD', + 'লিবেরিয়ান ডলার', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'লেসুটু লোটি', + 'LSL', + 'লেসুটু লোটি', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'লিথুইনিয়ান লিটা', + 'LTL', + 'লিথুইনিয়ান লিটা', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'লিথুইনিয়ান টালোন্যাস', + 'LTT', + 'লিথুইনিয়ান টালোন্যাস', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'লুক্সেমবার্গ রুপান্তযোগ্য ফ্রাঙ্ক', + 'LUC', + 'লুক্সেমবার্গ রুপান্তযোগ্য ফ্রাঙ্ক', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'লুক্সেমবার্গ ফ্রাঙ্ক', + 'LUF', + 'লুক্সেমবার্গ ফ্রাঙ্ক', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'লুক্সেমবার্গ ফাইনেনশিয়াল ফ্রাঙ্ক', + 'LUL', + 'লুক্সেমবার্গ ফাইনেনশিয়াল ফ্রাঙ্ক', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'ল্যাটভিয়ান ল্যাট্‌স', + 'LVL', + 'ল্যাটভিয়ান ল্যাট্‌স', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'ল্যাটভিয়ান রুবল', + 'LVR', + 'ল্যাটভিয়ান রুবল', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'লিবিয়ান দিনার', + 'LYD', + 'লিবিয়ান দিনার', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'মোরোক্কান দিরহাম', + 'MAD', + 'মোরোক্কান দিরহাম', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'মোরোক্কান ফ্রাঙ্ক', + 'MAF', + 'মোরোক্কান ফ্রাঙ্ক', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'মোল্ডোভান লেয়ু', + 'MDL', + 'মোল্ডোভান লেয়ু', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'মাদাগাস্কার আরিয়ারি', + 'MGA', + 'মাদাগাস্কার আরিয়ারি', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'মাদাগাস্কার ফ্রাঙ্ক', + 'MGF', + 'মাদাগাস্কার ফ্রাঙ্ক', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'ম্যাসেডোনিয়ান দিনার', + 'MKD', + 'ম্যাসেডোনিয়ান দিনার', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'মালি ফ্রাঙ্ক', + 'MLF', + 'মালি ফ্রাঙ্ক', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'মায়ানমার কিয়াত', + 'MMK', + 'মায়ানমার কিয়াত', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'মঙ্গোলিয়ান তুগরিক', + 'MNT', + 'মঙ্গোলিয়ান তুগরিক', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'ম্যাক্যাও পাটাকা', + 'MOP', + 'ম্যাক্যাও পাটাকা', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'মৌরিতানিয়ান ওউগুইয়া (১৯৭৩–২০১৭)', + 'MRO', + 'মৌরিতানিয়ান ওউগুইয়া (১৯৭৩–২০১৭)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'মৌরিতানিয়ান ওউগুইয়া', + 'MRU', + 'মৌরিতানিয়ান ওউগুইয়া', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'মাল্টা লিরা', + 'MTL', + 'মাল্টা লিরা', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'মাল্টা পাউন্ড', + 'MTP', + 'মাল্টা পাউন্ড', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'মৌরিতানিয়ান রুপি', + 'MUR', + 'মৌরিতানিয়ান রুপি', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'মালদিভিয়ান রুফিয়া', + 'MVR', + 'মালদিভিয়ান রুফিয়া', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'মালাউইয়ান কোয়াচা', + 'MWK', + 'মালাউইয়ান কোয়াচা', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'ম্যাক্সিকান পেসো', + 'MX$', + 'ম্যাক্সিকান পেসো', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'ম্যাক্সিকান সিলভার পেসো (১৮৬১–১৯৯২)', + 'MXP', + 'ম্যাক্সিকান সিলভার পেসো (১৮৬১–১৯৯২)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'মেক্সিকান উনিদাদ দি ইনভার্সান (UDI)', + 'MXV', + 'মেক্সিকান উনিদাদ দি ইনভার্সান (UDI)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'মালয়েশিয়ান রিঙ্গিৎ', + 'MYR', + 'মালয়েশিয়ান রিঙ্গিৎ', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'মোজাম্বিক এসকুডো', + 'MZE', + 'মোজাম্বিক এসকুডো', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'প্রাচীন মোজাম্বিক মেটিকেল', + 'MZM', + 'প্রাচীন মোজাম্বিক মেটিকেল', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'মোজাম্বিক মেটিকেল', + 'MZN', + 'মোজাম্বিক মেটিকেল', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'নামিবিয়া ডলার', + 'NAD', + 'নামিবিয়া ডলার', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'নাইজেরিয়ান নায়রা', + 'NGN', + 'নাইজেরিয়ান নায়রা', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'নিকারাগুয়ান কর্ডোবা (১৯৮৮–১৯৯১)', + 'NIC', + 'নিকারাগুয়ান কর্ডোবা (১৯৮৮–১৯৯১)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'নিকারাগুয়ান কর্ডোবা', + 'NIO', + 'নিকারাগুয়ান কর্ডোবা', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'নেদারল্যান্ড গুল্ডের', + 'NLG', + 'নেদারল্যান্ড গুল্ডের', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'নরওয়েজিয়ান ক্রোন', + 'NOK', + 'নরওয়েজিয়ান ক্রোন', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'নেপালি রুপি', + 'NPR', + 'নেপালি রুপি', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'নিউজিল্যান্ড ডলার', + 'NZ$', + 'নিউজিল্যান্ড ডলার', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'ওমানি রিয়াল', + 'OMR', + 'ওমানি রিয়াল', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'পানামানিয়ান বালবোয়া', + 'PAB', + 'পানামানিয়ান বালবোয়া', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'পেরুভিয়ান ইন্তি', + 'PEI', + 'পেরুভিয়ান ইন্তি', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'পেরুভিয়ান সোল', + 'PEN', + 'পেরুভিয়ান সোল', ], 'PES' => [ - 0 => 'PES', - 1 => 'পেরুভিয়ান সোল (1863–1965)', + 'PES', + 'পেরুভিয়ান সোল (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'পাপুয়া নিউ গিনিয়ান কিনা', + 'PGK', + 'পাপুয়া নিউ গিনিয়ান কিনা', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'ফিলিপাইন পেসো', + 'PHP', + 'ফিলিপাইন পেসো', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'পাকিস্তানি রুপি', + 'PKR', + 'পাকিস্তানি রুপি', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'পোলিশ জ্লোটি', + 'PLN', + 'পোলিশ জ্লোটি', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'পোলিশ জ্লোটি (১৯৫০–১৯৯৫)', + 'PLZ', + 'পোলিশ জ্লোটি (১৯৫০–১৯৯৫)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'পর্তুগিজ এসকুডো', + 'PTE', + 'পর্তুগিজ এসকুডো', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'প্যারাগুয়ান গুয়ারানি', + 'PYG', + 'প্যারাগুয়ান গুয়ারানি', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'কাতার রিয়াল', + 'QAR', + 'কাতার রিয়াল', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'রোডেশিয়ান ডলার', + 'RHD', + 'রোডেশিয়ান ডলার', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'প্রাচীন রুমানিয়া লেয়ু', + 'ROL', + 'প্রাচীন রুমানিয়া লেয়ু', ], 'RON' => [ - 0 => 'RON', - 1 => 'রুমানিয়া লেয়ু', + 'RON', + 'রুমানিয়া লেয়ু', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'সারবিয়ান দিনার', + 'RSD', + 'সারবিয়ান দিনার', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'রাশিয়ান রুবেল', + 'RUB', + 'রাশিয়ান রুবেল', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'রাশিয়ান রুবল (১৯৯১–১৯৯৮)', + 'RUR', + 'রাশিয়ান রুবল (১৯৯১–১৯৯৮)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'রুয়ান্ডান ফ্রাঙ্ক', + 'RWF', + 'রুয়ান্ডান ফ্রাঙ্ক', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'সৌদি রিয়াল', + 'SAR', + 'সৌদি রিয়াল', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'সলোমন দ্বীপপুঞ্জ ডলার', + 'SBD', + 'সলোমন দ্বীপপুঞ্জ ডলার', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'সেয়চেল্লোইস রুপি', + 'SCR', + 'সেয়চেল্লোইস রুপি', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'প্রাচীন সুদানি দিনার', + 'SDD', + 'প্রাচীন সুদানি দিনার', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'সুদানি পাউন্ড', + 'SDG', + 'সুদানি পাউন্ড', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'প্রাচীন সুদানি পাউন্ড', + 'SDP', + 'প্রাচীন সুদানি পাউন্ড', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'সুইডিশ ক্রোনা', + 'SEK', + 'সুইডিশ ক্রোনা', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'সিঙ্গাপুর ডলার', + 'SGD', + 'সিঙ্গাপুর ডলার', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'সেন্ট হেলেনা পাউন্ড', + 'SHP', + 'সেন্ট হেলেনা পাউন্ড', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'স্লোভানিয়া টোলার', + 'SIT', + 'স্লোভানিয়া টোলার', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'স্লোভাক কোরুনা', + 'SKK', + 'স্লোভাক কোরুনা', + ], + 'SLE' => [ + 'SLE', + 'সিয়েরা লিয়নের লিয়ন', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'সিয়েরালিয়ন লিয়ন', + 'SLL', + 'সিয়েরা লিয়নের লিয়ন (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'সোমালি শিলিং', + 'SOS', + 'সোমালি শিলিং', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'সুরিনামিজ ডলার', + 'SRD', + 'সুরিনামিজ ডলার', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'সুরিনাম গিল্ডার', + 'SRG', + 'সুরিনাম গিল্ডার', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'দক্ষিণ সুদানি পাউন্ড', + 'SSP', + 'দক্ষিণ সুদানি পাউন্ড', ], 'STD' => [ - 0 => 'STD', - 1 => 'সাও টোমে এবং প্রিন্সিপে ডোবরা (১৯৭৭–২০১৭)', + 'STD', + 'সাও টোমে এবং প্রিন্সিপে ডোবরা (১৯৭৭–২০১৭)', ], 'STN' => [ - 0 => 'STN', - 1 => 'সাও টোমে এবং প্রিন্সিপে ডোবরা', + 'STN', + 'সাও টোমে এবং প্রিন্সিপে ডোবরা', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'সোভিয়েত রুবল', + 'SUR', + 'সোভিয়েত রুবল', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'এল স্যালভোডোর কোলোন', + 'SVC', + 'এল স্যালভোডোর কোলোন', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'সিরিয়ান পাউন্ড', + 'SYP', + 'সিরিয়ান পাউন্ড', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'সোয়াজিল্যান্ড লিলাঙ্গেনি', + 'SZL', + 'সোয়াজিল্যান্ড লিলাঙ্গেনি', ], 'THB' => [ - 0 => '฿', - 1 => 'থাই বাত', + '฿', + 'থাই বাত', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'তাজিকিস্তান রুবল', + 'TJR', + 'তাজিকিস্তান রুবল', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'তাজিকিস্তান সোমোনি', + 'TJS', + 'তাজিকিস্তান সোমোনি', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'তুর্কমেনিস্টানি মানাত', + 'TMM', + 'তুর্কমেনিস্টানি মানাত', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'তুর্কমেনিস্তান মানত', + 'TMT', + 'তুর্কমেনিস্তান মানত', ], 'TND' => [ - 0 => 'TND', - 1 => 'তিউনেশিয়ান দিনার', + 'TND', + 'তিউনেশিয়ান দিনার', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'টোঙ্গা পা’আঙ্গা', + 'TOP', + 'টোঙ্গা পা’আঙ্গা', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'তিমুর এসকুডো', + 'TPE', + 'তিমুর এসকুডো', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'প্রাচীন তুর্কি লিরা', + 'TRL', + 'প্রাচীন তুর্কি লিরা', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'তুর্কি লিরা', + 'TRY', + 'তুর্কি লিরা', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'ত্রিনিদাদ এবং টোবাগো ডলার', + 'TTD', + 'ত্রিনিদাদ এবং টোবাগো ডলার', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'নতুন তাইওয়ান ডলার', + 'NT$', + 'নতুন তাইওয়ান ডলার', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'তাঞ্জনিয়া শিলিং', + 'TZS', + 'তাঞ্জনিয়া শিলিং', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'ইউক্রেইন হৃভনিয়া', + 'UAH', + 'ইউক্রেইন হৃভনিয়া', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'ইউক্রেইন কার্বোভ্যান্টস', + 'UAK', + 'ইউক্রেইন কার্বোভ্যান্টস', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'উগান্ডান শিলিং (১৯৬৬–১৯৮৭)', + 'UGS', + 'উগান্ডান শিলিং (১৯৬৬–১৯৮৭)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'উগান্ডান শিলিং', + 'UGX', + 'উগান্ডান শিলিং', ], 'USD' => [ - 0 => 'US$', - 1 => 'মার্কিন ডলার', + 'US$', + 'মার্কিন ডলার', ], 'USN' => [ - 0 => 'USN', - 1 => 'মার্কিন ডলার (পরবর্তী দিন)', + 'USN', + 'মার্কিন ডলার (পরবর্তী দিন)', ], 'USS' => [ - 0 => 'USS', - 1 => 'মার্কিন ডলার (একই দিন)', + 'USS', + 'মার্কিন ডলার (একই দিন)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'উরুগুয়ায়ান পেসো এন উনিদাদেস ইনডেক্সেডাস', + 'UYI', + 'উরুগুয়ায়ান পেসো এন উনিদাদেস ইনডেক্সেডাস', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'উরুগুয়ে পেসো (১৯৭৫–১৯৯৩)', + 'UYP', + 'উরুগুয়ে পেসো (১৯৭৫–১৯৯৩)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'উরুগুয়ে পেসো', + 'UYU', + 'উরুগুয়ে পেসো', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'উজবেকিস্তানি সোম', + 'UZS', + 'উজবেকিস্তানি সোম', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'ভেনিজুয়েলান বলিভার (১৮৭১–২০০৮)', + 'VEB', + 'ভেনিজুয়েলান বলিভার (১৮৭১–২০০৮)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'ভেনিজুয়েলীয় বলিভার (২০০৮–২০১৮)', + 'VEF', + 'ভেনিজুয়েলীয় বলিভার (২০০৮–২০১৮)', ], 'VES' => [ - 0 => 'VES', - 1 => 'ভেনিজুয়েলীয় বলিভার', + 'VES', + 'ভেনিজুয়েলীয় বলিভার', ], 'VND' => [ - 0 => '₫', - 1 => 'ভিয়েতনামি ডঙ্গ', + '₫', + 'ভিয়েতনামি ডঙ্গ', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'ভানুয়াতু ভাতু', + 'VUV', + 'ভানুয়াতু ভাতু', ], 'WST' => [ - 0 => 'WST', - 1 => 'সামোয়ান টালা', + 'WST', + 'সামোয়ান টালা', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'মধ্য আফ্রিকান [CFA] ফ্র্যাঙ্ক', + 'FCFA', + 'মধ্য আফ্রিকান [CFA] ফ্র্যাঙ্ক', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'পূর্ব ক্যারাবিয়ান ডলার', + 'EC$', + 'পূর্ব ক্যারাবিয়ান ডলার', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'ইউরোপীয় মুদ্রা একক', + 'XEU', + 'ইউরোপীয় মুদ্রা একক', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'ফরাসি গোল্ড ফ্রাঙ্ক', + 'XFO', + 'ফরাসি গোল্ড ফ্রাঙ্ক', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'ফরাসি ইউআইসি - ফ্রাঙ্ক', + 'XFU', + 'ফরাসি ইউআইসি - ফ্রাঙ্ক', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'পশ্চিম আফ্রিকান [CFA] ফ্র্যাঙ্ক', + 'F CFA', + 'পশ্চিম আফ্রিকান [CFA] ফ্র্যাঙ্ক', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'সিএফপি ফ্র্যাঙ্ক', + 'CFPF', + 'সিএফপি ফ্র্যাঙ্ক', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'ইয়েমেনি দিনার', + 'YDD', + 'ইয়েমেনি দিনার', ], 'YER' => [ - 0 => 'YER', - 1 => 'ইয়েমেনি রিয়াল', + 'YER', + 'ইয়েমেনি রিয়াল', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'যুগোশ্লাভিয় হার্ড দিনার', + 'YUD', + 'যুগোশ্লাভিয় হার্ড দিনার', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'যুগোশ্লাভিয় নোভি দিনার', + 'YUM', + 'যুগোশ্লাভিয় নোভি দিনার', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'যুগোশ্লাভিয় রুপান্তরযোগ্য দিনার', + 'YUN', + 'যুগোশ্লাভিয় রুপান্তরযোগ্য দিনার', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'দক্ষিণ আফ্রিকান র‌্যান্ড', + 'ZAL', + 'দক্ষিণ আফ্রিকান র‌্যান্ড', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'দক্ষিণ আফ্রিকান রেন্ড', + 'ZAR', + 'দক্ষিণ আফ্রিকান রেন্ড', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'জাম্বিয়ান কওয়াচা (১৯৬৮–২০১২)', + 'ZMK', + 'জাম্বিয়ান কওয়াচা (১৯৬৮–২০১২)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'জাম্বিয়ান কওয়াচা', + 'ZMW', + 'জাম্বিয়ান কওয়াচা', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'জাইরিয়ান নিউ জাইরে', + 'ZRN', + 'জাইরিয়ান নিউ জাইরে', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'জাইরিয়ান জাইরে', + 'ZRZ', + 'জাইরিয়ান জাইরে', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'জিম্বাবুয়ে ডলার (১৯৮০–২০০৮)', + 'ZWD', + 'জিম্বাবুয়ে ডলার (১৯৮০–২০০৮)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'জিম্বাবুয়ে ডলার (২০০৯)', + 'ZWL', + 'জিম্বাবুয়ে ডলার (২০০৯)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'জিম্বাবুয়ে ডলার (২০০৮)', + 'ZWR', + 'জিম্বাবুয়ে ডলার (২০০৮)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bn_IN.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bn_IN.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bn_IN.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bn_IN.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,40 +3,40 @@ return [ 'Names' => [ 'ANG' => [ - 0 => 'ANG', - 1 => 'নেদারল্যান্ডস অ্যান্টিলিয়ান গিল্ডার', + 'ANG', + 'নেদারল্যান্ডস অ্যান্টিলিয়ান গিল্ডার', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'আরুবান গিল্ডার', + 'AWG', + 'আরুবান গিল্ডার', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'বারমুডান ডলার', + 'BMD', + 'বারমুডান ডলার', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'গুয়াতেমালান কেৎসাল', + 'GTQ', + 'গুয়াতেমালান কেৎসাল', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'হন্ডুরান লেম্পিরা', + 'HNL', + 'হন্ডুরান লেম্পিরা', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'হাইতিয়ান গুর্দ', + 'HTG', + 'হাইতিয়ান গুর্দ', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'মেক্সিকান পেসো', + 'MX$', + 'মেক্সিকান পেসো', ], 'USD' => [ - 0 => '$', - 1 => 'মার্কিন ডলার', + '$', + 'মার্কিন ডলার', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'পূর্ব ক্যারিবিয়ান ডলার', + 'EC$', + 'পূর্ব ক্যারিবিয়ান ডলার', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bo.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bo.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bo.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bo.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,16 +3,16 @@ return [ 'Names' => [ 'CNY' => [ - 0 => '¥', - 1 => 'ཡུ་ཨན་', + '¥', + 'ཡུ་ཨན་', ], 'INR' => [ - 0 => '₹', - 1 => 'རྒྱ་གར་སྒོར་', + '₹', + 'རྒྱ་གར་སྒོར་', ], 'USD' => [ - 0 => 'US$', - 1 => 'ཨ་རིའི་སྒོར་', + 'US$', + 'ཨ་རིའི་སྒོར་', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bo_IN.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bo_IN.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bo_IN.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bo_IN.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'CNY' => [ - 0 => 'CN¥', - 1 => 'ཡུ་ཨན་', + 'CN¥', + 'ཡུ་ཨན་', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/br.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/br.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/br.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/br.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1156 +3,1032 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'peseta Andorra', + 'ADP', + 'peseta Andorra', ], 'AED' => [ - 0 => 'AED', - 1 => 'dirham EAU', + 'AED', + 'dirham EAU', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'afghani Afghanistan (1927–2002)', + 'AFA', + 'afghani Afghanistan (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afghani Afghanistan', + 'AFN', + 'afghani Afghanistan', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'lek Albania (1946–1965)', + 'ALK', + 'lek Albania (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'lek Albania', + 'ALL', + 'lek Albania', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'dram Armenia', + 'AMD', + 'dram Armenia', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'florin Antilhez nederlandat', + 'ANG', + 'florin Antilhez nederlandat', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'kwanza Angola', + 'AOA', + 'kwanza Angola', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'kwanza Angola (1977–1991)', + 'AOK', + 'kwanza Angola (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'kwanza nevez Angola (1990–2000)', - ], - 'AOR' => [ - 0 => 'AOR', - 1 => 'AOR', - ], - 'ARA' => [ - 0 => 'ARA', - 1 => 'ARA', - ], - 'ARL' => [ - 0 => 'ARL', - 1 => 'ARL', + 'AON', + 'kwanza nevez Angola (1990–2000)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'peso Arcʼhantina (1881–1970)', + 'ARM', + 'peso Arcʼhantina (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'peso Arcʼhantina (1983–1985)', + 'ARP', + 'peso Arcʼhantina (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'peso Arcʼhantina', + 'ARS', + 'peso Arcʼhantina', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'schilling Aostria', + 'ATS', + 'schilling Aostria', ], 'AUD' => [ - 0 => '$A', - 1 => 'dollar Aostralia', + '$A', + 'dollar Aostralia', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'florin Aruba', + 'AWG', + 'florin Aruba', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'manat Azerbaidjan (1993–2006)', + 'AZM', + 'manat Azerbaidjan (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'manat Azerbaidjan', + 'AZN', + 'manat Azerbaidjan', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'dinar Bosnia ha Herzegovina (1992–1994)', + 'BAD', + 'dinar Bosnia ha Herzegovina (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'mark kemmadus Bosnia ha Herzegovina', + 'BAM', + 'mark kemmadus Bosnia ha Herzegovina', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'dinar nevez Bosnia ha Herzegovina (1994–1997)', + 'BAN', + 'dinar nevez Bosnia ha Herzegovina (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'dollar Barbados', + 'BBD', + 'dollar Barbados', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'taka Bangladesh', + 'BDT', + 'taka Bangladesh', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'lur Belgia (kemmadus)', + 'BEC', + 'lur Belgia (kemmadus)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'lur Belgia', - ], - 'BGL' => [ - 0 => 'BGL', - 1 => 'BGL', + 'BEF', + 'lur Belgia', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'lev sokialour Bulgaria', + 'BGM', + 'lev sokialour Bulgaria', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'lev Bulgaria', + 'BGN', + 'lev Bulgaria', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'lev Bulgaria (1879–1952)', + 'BGO', + 'lev Bulgaria (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'dinar Bahrein', + 'BHD', + 'dinar Bahrein', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'lur Burundi', + 'BIF', + 'lur Burundi', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'dollar Bermuda', + 'BMD', + 'dollar Bermuda', ], 'BND' => [ - 0 => 'BND', - 1 => 'dollar Brunei', + 'BND', + 'dollar Brunei', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'boliviano Bolivia', + 'BOB', + 'boliviano Bolivia', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'boliviano Bolivia (1863–1963)', + 'BOL', + 'boliviano Bolivia (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'peso Bolivia', - ], - 'BOV' => [ - 0 => 'BOV', - 1 => 'BOV', - ], - 'BRB' => [ - 0 => 'BRB', - 1 => 'BRB', - ], - 'BRC' => [ - 0 => 'BRC', - 1 => 'BRC', - ], - 'BRE' => [ - 0 => 'BRE', - 1 => 'BRE', + 'BOP', + 'peso Bolivia', ], 'BRL' => [ - 0 => 'BRL', - 1 => 'real Brazil', - ], - 'BRN' => [ - 0 => 'BRN', - 1 => 'BRN', - ], - 'BRR' => [ - 0 => 'BRR', - 1 => 'BRR', - ], - 'BRZ' => [ - 0 => 'BRZ', - 1 => 'BRZ', + 'BRL', + 'real Brazil', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'dollar Bahamas', + 'BSD', + 'dollar Bahamas', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ngultrum Bhoutan', + 'BTN', + 'ngultrum Bhoutan', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'kyat Birmania', + 'BUK', + 'kyat Birmania', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'pula Botswana', + 'BWP', + 'pula Botswana', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'roubl nevez Belarus (1994–1999)', + 'BYB', + 'roubl nevez Belarus (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'roubl Belarus', + 'BYN', + 'roubl Belarus', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'roubl Belarus (2000–2016)', + 'BYR', + 'roubl Belarus (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'dollar Belize', + 'BZD', + 'dollar Belize', ], 'CAD' => [ - 0 => '$CA', - 1 => 'dollar Kanada', + '$CA', + 'dollar Kanada', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'lur Kongo', + 'CDF', + 'lur Kongo', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'euro WIR', + 'CHE', + 'euro WIR', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'lur Suis', + 'CHF', + 'lur Suis', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'lur WIR', + 'CHW', + 'lur WIR', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'escudo Chile', + 'CLE', + 'escudo Chile', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'unanenn jediñ Chile', + 'CLF', + 'unanenn jediñ Chile', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'peso Chile', + 'CLP', + 'peso Chile', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'yuan Sina (diavaez)', + 'CNH', + 'yuan Sina (diavaez)', ], 'CNX' => [ - 0 => 'CNX', - 1 => 'dollar Bank poblel Sina', + 'CNX', + 'dollar Bank poblel Sina', ], 'CNY' => [ - 0 => 'CNY', - 1 => 'yuan Sina', + 'CNY', + 'yuan Sina', ], 'COP' => [ - 0 => 'COP', - 1 => 'peso Kolombia', - ], - 'COU' => [ - 0 => 'COU', - 1 => 'COU', + 'COP', + 'peso Kolombia', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'colón Costa Rica', + 'CRC', + 'colón Costa Rica', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'dinar Serbia (2002–2006)', - ], - 'CSK' => [ - 0 => 'CSK', - 1 => 'CSK', + 'CSD', + 'dinar Serbia (2002–2006)', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'peso kemmadus Kuba', + 'CUC', + 'peso kemmadus Kuba', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'peso Kuba', + 'CUP', + 'peso Kuba', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'escudo Kab Glas', + 'CVE', + 'escudo Kab Glas', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'lur Kiprenez', + 'CYP', + 'lur Kiprenez', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'kurunenn Tchek', + 'CZK', + 'kurunenn Tchek', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'mark Alamagn ar Reter', + 'DDM', + 'mark Alamagn ar Reter', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'mark Alamagn', + 'DEM', + 'mark Alamagn', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'lur Djibouti', + 'DJF', + 'lur Djibouti', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'kurunenn Danmark', + 'DKK', + 'kurunenn Danmark', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'peso Dominikan', + 'DOP', + 'peso Dominikan', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'dinar Aljeria', - ], - 'ECS' => [ - 0 => 'ECS', - 1 => 'ECS', - ], - 'ECV' => [ - 0 => 'ECV', - 1 => 'ECV', + 'DZD', + 'dinar Aljeria', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'kurunenn Estonia', + 'EEK', + 'kurunenn Estonia', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'lur Egipt', + 'EGP', + 'lur Egipt', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'nakfa Eritrea', - ], - 'ESA' => [ - 0 => 'ESA', - 1 => 'ESA', + 'ERN', + 'nakfa Eritrea', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'peseta gemmadus Spagn', + 'ESB', + 'peseta gemmadus Spagn', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'peseta Spagn', + 'ESP', + 'peseta Spagn', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'birr Etiopia', + 'ETB', + 'birr Etiopia', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'mark Finland', + 'FIM', + 'mark Finland', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'dollar Fidji', + 'FJD', + 'dollar Fidji', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'lur Inizi Falkland', + 'FKP', + 'lur Inizi Falkland', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'lur gall', + 'FRF', + 'lur gall', ], 'GBP' => [ - 0 => '£ RU', - 1 => 'lur Breizh-Veur', - ], - 'GEK' => [ - 0 => 'GEK', - 1 => 'GEK', + '£ RU', + 'lur Breizh-Veur', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'lari Jorjia', - ], - 'GHC' => [ - 0 => 'GHC', - 1 => 'GHC', + 'GEL', + 'lari Jorjia', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'cedi Ghana', + 'GHS', + 'cedi Ghana', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'lur Jibraltar', + 'GIP', + 'lur Jibraltar', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'dalasi Gambia', + 'GMD', + 'dalasi Gambia', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'lur Ginea', + 'GNF', + 'lur Ginea', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'syli Ginea', + 'GNS', + 'syli Ginea', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'ekwele Ginea ar Cʼheheder', + 'GQE', + 'ekwele Ginea ar Cʼheheder', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'drakm Gres', + 'GRD', + 'drakm Gres', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'quetzal Guatemala', - ], - 'GWE' => [ - 0 => 'GWE', - 1 => 'GWE', + 'GTQ', + 'quetzal Guatemala', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'peso Ginea-Bissau', + 'GWP', + 'peso Ginea-Bissau', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'dollar Guyana', + 'GYD', + 'dollar Guyana', ], 'HKD' => [ - 0 => '$ HK', - 1 => 'dollar Hong Kong', + '$ HK', + 'dollar Hong Kong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'lempira Honduras', + 'HNL', + 'lempira Honduras', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'dinar Kroatia', + 'HRD', + 'dinar Kroatia', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'kuna Kroatia', + 'HRK', + 'kuna Kroatia', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'gourde Haiti', + 'HTG', + 'gourde Haiti', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'forint Hungaria', + 'HUF', + 'forint Hungaria', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'roupi Indonezia', + 'IDR', + 'roupi Indonezia', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'lur Iwerzhon', + 'IEP', + 'lur Iwerzhon', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'lur Israel', + 'ILP', + 'lur Israel', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'shekel Israel (1980–1985)', + 'ILR', + 'shekel Israel (1980–1985)', ], 'ILS' => [ - 0 => 'ILS', - 1 => 'shekel nevez Israel', + 'ILS', + 'shekel nevez Israel', ], 'INR' => [ - 0 => '₹', - 1 => 'roupi India', + '₹', + 'roupi India', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'dinar Iraq', + 'IQD', + 'dinar Iraq', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'rial Iran', + 'IRR', + 'rial Iran', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'kurunenn Island (1918–1981)', + 'ISJ', + 'kurunenn Island (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'kurunenn Island', + 'ISK', + 'kurunenn Island', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'lur Italia', + 'ITL', + 'lur Italia', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'dollar Jamaika', + 'JMD', + 'dollar Jamaika', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'dinar Jordania', + 'JOD', + 'dinar Jordania', ], 'JPY' => [ - 0 => 'JPY', - 1 => 'yen Japan', + 'JPY', + 'yen Japan', ], 'KES' => [ - 0 => 'KES', - 1 => 'shilling Kenya', + 'KES', + 'shilling Kenya', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'som Kyrgyzstan', + 'KGS', + 'som Kyrgyzstan', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'riel Kambodja', + 'KHR', + 'riel Kambodja', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'lur Komorez', + 'KMF', + 'lur Komorez', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'won Korea an Norzh', + 'KPW', + 'won Korea an Norzh', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'hwan Korea ar Su (1953–1962)', + 'KRH', + 'hwan Korea ar Su (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'won Korea ar Su (1945–1953)', + 'KRO', + 'won Korea ar Su (1945–1953)', ], 'KRW' => [ - 0 => 'KRW', - 1 => 'won Korea ar Su', + 'KRW', + 'won Korea ar Su', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'dinar Koweit', + 'KWD', + 'dinar Koweit', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'dollar Inizi Cayman', + 'KYD', + 'dollar Inizi Cayman', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'tenge Kazakstan', + 'KZT', + 'tenge Kazakstan', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'kip Laos', + 'LAK', + 'kip Laos', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'lur Liban', + 'LBP', + 'lur Liban', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'roupi Sri Lanka', + 'LKR', + 'roupi Sri Lanka', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'dollar Liberia', + 'LRD', + 'dollar Liberia', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'loti Lesotho', + 'LSL', + 'loti Lesotho', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'litas Lituania', + 'LTL', + 'litas Lituania', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'talonas Lituania', + 'LTT', + 'talonas Lituania', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'lur kemmadus Luksembourg', + 'LUC', + 'lur kemmadus Luksembourg', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'lur Luksembourg', - ], - 'LUL' => [ - 0 => 'LUL', - 1 => 'LUL', + 'LUF', + 'lur Luksembourg', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'lats Latvia', + 'LVL', + 'lats Latvia', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'roubl Latvia', + 'LVR', + 'roubl Latvia', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'dinar Libia', + 'LYD', + 'dinar Libia', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'dirham Maroko', + 'MAD', + 'dirham Maroko', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'lur Maroko', + 'MAF', + 'lur Maroko', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'lur Monaco', - ], - 'MDC' => [ - 0 => 'MDC', - 1 => 'MDC', + 'MCF', + 'lur Monaco', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'leu Moldova', + 'MDL', + 'leu Moldova', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'ariary Madagaskar', + 'MGA', + 'ariary Madagaskar', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'lur Madagaskar', + 'MGF', + 'lur Madagaskar', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'denar Makedonia', + 'MKD', + 'denar Makedonia', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'denar Makedonia (1992–1993)', + 'MKN', + 'denar Makedonia (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'lur Mali', + 'MLF', + 'lur Mali', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'kyat Myanmar', + 'MMK', + 'kyat Myanmar', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'tugrik Mongolia', + 'MNT', + 'tugrik Mongolia', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'pataca Macau', + 'MOP', + 'pataca Macau', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'ouguiya Maouritania (1973–2017)', + 'MRO', + 'ouguiya Maouritania (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'ouguiya Maouritania', + 'MRU', + 'ouguiya Maouritania', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'lira Malta', + 'MTL', + 'lira Malta', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'lur Malta', + 'MTP', + 'lur Malta', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'roupi Moris', + 'MUR', + 'roupi Moris', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'roupi Maldivez', + 'MVP', + 'roupi Maldivez', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'rufiyaa Maldivez', + 'MVR', + 'rufiyaa Maldivez', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'kwacha Malawi', + 'MWK', + 'kwacha Malawi', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'peso Mecʼhiko', + 'MX$', + 'peso Mecʼhiko', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'peso arcʼhant Mecʼhiko (1861–1992)', - ], - 'MXV' => [ - 0 => 'MXV', - 1 => 'MXV', + 'MXP', + 'peso arcʼhant Mecʼhiko (1861–1992)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'ringgit Malaysia', + 'MYR', + 'ringgit Malaysia', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'escudo Mozambik', + 'MZE', + 'escudo Mozambik', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'metical Mozambik (1980–2006)', + 'MZM', + 'metical Mozambik (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'metical Mozambik', + 'MZN', + 'metical Mozambik', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'dollar Namibia', + 'NAD', + 'dollar Namibia', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'naira Nigeria', + 'NGN', + 'naira Nigeria', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'cordoba Nicaragua (1988–1991)', + 'NIC', + 'cordoba Nicaragua (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'cordoba Nicaragua', + 'NIO', + 'cordoba Nicaragua', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'florin an Izelvroioù', + 'NLG', + 'florin an Izelvroioù', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'kurunenn Norvegia', + 'NOK', + 'kurunenn Norvegia', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'roupi Nepal', + 'NPR', + 'roupi Nepal', ], 'NZD' => [ - 0 => '$ ZN', - 1 => 'dollar Zeland-Nevez', + '$ ZN', + 'dollar Zeland-Nevez', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'rial Oman', + 'OMR', + 'rial Oman', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'balboa Panamá', - ], - 'PEI' => [ - 0 => 'PEI', - 1 => 'PEI', + 'PAB', + 'balboa Panamá', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'sol Perou', + 'PEN', + 'sol Perou', ], 'PES' => [ - 0 => 'PES', - 1 => 'sol Perou (1863–1965)', + 'PES', + 'sol Perou (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'kina Papoua Ginea-Nevez', + 'PGK', + 'kina Papoua Ginea-Nevez', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'peso Filipinez', + 'PHP', + 'peso Filipinez', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'roupi Pakistan', + 'PKR', + 'roupi Pakistan', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'zloty Polonia', + 'PLN', + 'zloty Polonia', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'zloty Polonia (1950–1995)', + 'PLZ', + 'zloty Polonia (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'escudo Portugal', + 'PTE', + 'escudo Portugal', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'guarani Paraguay', + 'PYG', + 'guarani Paraguay', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'rial Qatar', + 'QAR', + 'rial Qatar', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'dollar Rodezia', + 'RHD', + 'dollar Rodezia', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'leu Roumania (1952–2006)', + 'ROL', + 'leu Roumania (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'leu Roumania', + 'RON', + 'leu Roumania', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'dinar Serbia', + 'RSD', + 'dinar Serbia', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'roubl Rusia', + 'RUB', + 'roubl Rusia', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'roubl Rusia (1991–1998)', + 'RUR', + 'roubl Rusia (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'lur Rwanda', + 'RWF', + 'lur Rwanda', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'riyal Arabia Saoudat', + 'SAR', + 'riyal Arabia Saoudat', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'dollar Inizi Salomon', + 'SBD', + 'dollar Inizi Salomon', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'roupi Sechelez', + 'SCR', + 'roupi Sechelez', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'dinar Soudan (1992–2007)', + 'SDD', + 'dinar Soudan (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'lur Soudan', + 'SDG', + 'lur Soudan', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'lur Soudan (1957–1998)', + 'SDP', + 'lur Soudan (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'kurunenn Sveden', + 'SEK', + 'kurunenn Sveden', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'dollar Singapour', + 'SGD', + 'dollar Singapour', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'lur Saint-Helena', + 'SHP', + 'lur Saint-Helena', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'tolar Slovenia', + 'SIT', + 'tolar Slovenia', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'kurunenn Slovakia', + 'SKK', + 'kurunenn Slovakia', + ], + 'SLE' => [ + 'SLE', + 'leone Sierra Leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'leone Sierra Leone', + 'SLL', + 'leone Sierra Leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'shilling Somalia', + 'SOS', + 'shilling Somalia', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'dollar Surinam', + 'SRD', + 'dollar Surinam', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'florin Surinam', + 'SRG', + 'florin Surinam', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'lur Susoudan', + 'SSP', + 'lur Susoudan', ], 'STD' => [ - 0 => 'STD', - 1 => 'dobra São Tomé ha Príncipe (1977–2017)', + 'STD', + 'dobra São Tomé ha Príncipe (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'dobra São Tomé ha Príncipe', + 'STN', + 'dobra São Tomé ha Príncipe', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'roubl soviedel', + 'SUR', + 'roubl soviedel', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'colón Salvador', + 'SVC', + 'colón Salvador', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'lur Siria', + 'SYP', + 'lur Siria', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'lilangeni Swaziland', + 'SZL', + 'lilangeni Swaziland', ], 'THB' => [ - 0 => 'THB', - 1 => 'baht Thailand', + 'THB', + 'baht Thailand', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'roubl Tadjikistan', + 'TJR', + 'roubl Tadjikistan', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'somoni Tadjikistan', + 'TJS', + 'somoni Tadjikistan', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'manat Turkmenistan (1993–2009)', + 'TMM', + 'manat Turkmenistan (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'manat Turkmenistan', + 'TMT', + 'manat Turkmenistan', ], 'TND' => [ - 0 => 'TND', - 1 => 'dinar Tunizia', + 'TND', + 'dinar Tunizia', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'paʻanga Tonga', + 'TOP', + 'paʻanga Tonga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'escudo Timor', + 'TPE', + 'escudo Timor', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'lur Turkia (1922–2005)', + 'TRL', + 'lur Turkia (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'lur Turkia', + 'TRY', + 'lur Turkia', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'dollar Trinidad ha Tobago', + 'TTD', + 'dollar Trinidad ha Tobago', ], 'TWD' => [ - 0 => 'TWD', - 1 => 'dollar nevez Taiwan', + 'TWD', + 'dollar nevez Taiwan', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'shilling Tanzania', + 'TZS', + 'shilling Tanzania', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'hryvnia Ukraina', - ], - 'UAK' => [ - 0 => 'UAK', - 1 => 'UAK', + 'UAH', + 'hryvnia Ukraina', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'shilling Ouganda (1966–1987)', + 'UGS', + 'shilling Ouganda (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'shilling Ouganda', + 'UGX', + 'shilling Ouganda', ], 'USD' => [ - 0 => '$ SU', - 1 => 'dollar SU', - ], - 'USN' => [ - 0 => 'USN', - 1 => 'USN', - ], - 'USS' => [ - 0 => 'USS', - 1 => 'USS', - ], - 'UYI' => [ - 0 => 'UYI', - 1 => 'UYI', + '$ SU', + 'dollar SU', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'peso Uruguay (1975–1993)', + 'UYP', + 'peso Uruguay (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'peso Uruguay', + 'UYU', + 'peso Uruguay', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'som Ouzbekistan', + 'UZS', + 'som Ouzbekistan', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'bolivar Venezuela (1871–2008)', + 'VEB', + 'bolivar Venezuela (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'bolivar Venezuela (2008–2018)', + 'VEF', + 'bolivar Venezuela (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'bolivar Venezuela', + 'VES', + 'bolivar Venezuela', ], 'VND' => [ - 0 => 'VND', - 1 => 'dong Viêt Nam', + 'VND', + 'dong Viêt Nam', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'dong Viêt Nam (1978–1985)', + 'VNN', + 'dong Viêt Nam (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vatu Vanuatu', + 'VUV', + 'vatu Vanuatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'tala Samoa', + 'WST', + 'tala Samoa', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'lur CFA Kreizafrika', + 'FCFA', + 'lur CFA Kreizafrika', ], 'XCD' => [ - 0 => 'XCD', - 1 => 'dollar Karib ar reter', + 'XCD', + 'dollar Karib ar reter', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'unanenn jediñ europat', + 'XEU', + 'unanenn jediñ europat', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'lur aour Frañs', + 'XFO', + 'lur aour Frañs', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'lur Unaniezh etrebroadel an hentoù-houarn', + 'XFU', + 'lur Unaniezh etrebroadel an hentoù-houarn', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'lur CFA Afrika ar Cʼhornôg', + 'F CFA', + 'lur CFA Afrika ar Cʼhornôg', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'lur CFP', - ], - 'XRE' => [ - 0 => 'XRE', - 1 => 'XRE', + 'CFPF', + 'lur CFP', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'dinar Yemen', + 'YDD', + 'dinar Yemen', ], 'YER' => [ - 0 => 'YER', - 1 => 'rial Yemen', - ], - 'YUD' => [ - 0 => 'YUD', - 1 => 'YUD', + 'YER', + 'rial Yemen', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'dinar nevez Yougoslavia (1994–2002)', + 'YUM', + 'dinar nevez Yougoslavia (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'dinar kemmadus Yougoslavia (1990–1992)', + 'YUN', + 'dinar kemmadus Yougoslavia (1990–1992)', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'dinar adreizhet Yougoslavia (1992–1993)', - ], - 'ZAL' => [ - 0 => 'ZAL', - 1 => 'ZAL', + 'YUR', + 'dinar adreizhet Yougoslavia (1992–1993)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'rand Suafrika', + 'ZAR', + 'rand Suafrika', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'kwacha Zambia (1968–2012)', + 'ZMK', + 'kwacha Zambia (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'kwacha Zambia', - ], - 'ZRN' => [ - 0 => 'ZRN', - 1 => 'ZRN', - ], - 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'ZRZ', + 'ZMW', + 'kwacha Zambia', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'dollar Zimbabwe (1980–2008)', + 'ZWD', + 'dollar Zimbabwe (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'dollar Zimbabwe (2009)', + 'ZWL', + 'dollar Zimbabwe (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'dollar Zimbabwe (2008)', + 'ZWR', + 'dollar Zimbabwe (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bs.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bs.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bs.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bs.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1148 +3,1152 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Andorska pezeta', + 'ADP', + 'Andorska pezeta', ], 'AED' => [ - 0 => 'AED', - 1 => 'Dirham Ujedinjenih Arapskih Emirata', + 'AED', + 'Dirham Ujedinjenih Arapskih Emirata', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Avganistanski avgani (1927–2002)', + 'AFA', + 'Avganistanski avgani (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afganistanski afgan', + 'AFN', + 'Afganistanski afgan', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'Albanski lek (1946–1965)', + 'ALK', + 'Albanski lek (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Albanski lek', + 'ALL', + 'Albanski lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Armenski dram', + 'AMD', + 'Armenski dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Holandskoantilski gulden', + 'ANG', + 'Holandskoantilski gulden', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Angolska kvanza', + 'AOA', + 'Angolska kvanza', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Angolijska kvanza (1977–1991)', + 'AOK', + 'Angolijska kvanza (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Angolijska nova kvanza (1990–2000)', + 'AON', + 'Angolijska nova kvanza (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Angolijska kvanza reajustado (1995–1999)', + 'AOR', + 'Angolijska kvanza reajustado (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Argentinski austral', + 'ARA', + 'Argentinski austral', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Argentinski pezo (1983–1985)', + 'ARP', + 'Argentinski pezo (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Argentinski pezos', + 'ARS', + 'Argentinski pezos', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Austrijski šiling', + 'ATS', + 'Austrijski šiling', ], 'AUD' => [ - 0 => 'AUD', - 1 => 'Australijski dolar', + 'AUD', + 'Australijski dolar', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Arubanski florin', + 'AWG', + 'Arubanski florin', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Azerbejdžanski manat (1993–2006)', + 'AZM', + 'Azerbejdžanski manat (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Azerbejdžanski manat', + 'AZN', + 'Azerbejdžanski manat', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Bosanskohercegovački dinar', + 'BAD', + 'Bosanskohercegovački dinar', ], 'BAM' => [ - 0 => 'KM', - 1 => 'Bosanskohercegovačka konvertibilna marka', + 'KM', + 'Bosanskohercegovačka konvertibilna marka', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'Bosanskohercegovački novi dinar', + 'BAN', + 'Bosanskohercegovački novi dinar', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Barbadoski dolar', + 'BBD', + 'Barbadoski dolar', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Bangladeška taka', + 'BDT', + 'Bangladeška taka', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Belgijski frank (konvertibilni)', + 'BEC', + 'Belgijski frank (konvertibilni)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Belgijski franak', + 'BEF', + 'Belgijski franak', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Belgijski frank (finansijski)', + 'BEL', + 'Belgijski frank (finansijski)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Bugarski tvrdi lev', + 'BGL', + 'Bugarski tvrdi lev', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'Bugarski socijalistički lev', + 'BGM', + 'Bugarski socijalistički lev', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Bugarski lev', + 'BGN', + 'Bugarski lev', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'Bugarski lev (1879–1952)', + 'BGO', + 'Bugarski lev (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Bahreinski dinar', + 'BHD', + 'Bahreinski dinar', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Burundski franak', + 'BIF', + 'Burundski franak', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermudski dolar', + 'BMD', + 'Bermudski dolar', ], 'BND' => [ - 0 => 'BND', - 1 => 'Brunejski dolar', + 'BND', + 'Brunejski dolar', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Bolivijski boliviano', + 'BOB', + 'Bolivijski boliviano', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'Bolivijski boliviano (1863–1963)', + 'BOL', + 'Bolivijski boliviano (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Bolivijski pezo', + 'BOP', + 'Bolivijski pezo', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Bolivijski mvdol', + 'BOV', + 'Bolivijski mvdol', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Brazilski kruzeiro novo (1967–1986)', + 'BRB', + 'Brazilski kruzeiro novo (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Brazilski kruzado (1986–1989)', + 'BRC', + 'Brazilski kruzado (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Brazilski kruzeiro (1990–1993)', + 'BRE', + 'Brazilski kruzeiro (1990–1993)', ], 'BRL' => [ - 0 => 'BRL', - 1 => 'Brazilski real', + 'BRL', + 'Brazilski real', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Brazilski kruzado novo (1989–1990)', + 'BRN', + 'Brazilski kruzado novo (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Brazilski kruzeiro (1993–1994)', + 'BRR', + 'Brazilski kruzeiro (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'Brazilski kruzeiro (1942–1967)', + 'BRZ', + 'Brazilski kruzeiro (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Bahamski dolar', + 'BSD', + 'Bahamski dolar', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Butanski ngultrum', + 'BTN', + 'Butanski ngultrum', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Burmanski kjat', + 'BUK', + 'Burmanski kjat', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Bocvanska pula', + 'BWP', + 'Bocvanska pula', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Beloruska nova rublja (1994–1999)', + 'BYB', + 'Beloruska nova rublja (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Bjeloruska rublja', + 'BYN', + 'Bjeloruska rublja', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Bjeloruska rublja (2000–2016)', + 'BYR', + 'Bjeloruska rublja (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Belizeanski dolar', + 'BZD', + 'Belizeanski dolar', ], 'CAD' => [ - 0 => 'CAD', - 1 => 'Kanadski dolar', + 'CAD', + 'Kanadski dolar', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Kongoanski franak', + 'CDF', + 'Kongoanski franak', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'WIR Evro', + 'CHE', + 'WIR Evro', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Švicarski franak', + 'CHF', + 'Švicarski franak', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'WIR franak', + 'CHW', + 'WIR franak', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'Čileanski eskudo', + 'CLE', + 'Čileanski eskudo', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Čileanski unidades de fomento', + 'CLF', + 'Čileanski unidades de fomento', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Čileanski pezos', + 'CLP', + 'Čileanski pezos', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Kineski juan (izvanteritorijalni)', + 'CNH', + 'Kineski juan (izvanteritorijalni)', ], 'CNX' => [ - 0 => 'CNX', - 1 => 'Dolar kineske narodne banke', + 'CNX', + 'Dolar kineske narodne banke', ], 'CNY' => [ - 0 => 'CNY', - 1 => 'Kineski juan', + 'CNY', + 'Kineski juan', ], 'COP' => [ - 0 => 'COP', - 1 => 'Kolumbijski pezos', + 'COP', + 'Kolumbijski pezos', ], 'COU' => [ - 0 => 'COU', - 1 => 'Kolumbijski Unidade real de valor', + 'COU', + 'Kolumbijski Unidade real de valor', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Kostarikanski kolon', + 'CRC', + 'Kostarikanski kolon', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Srpski dinar (2002–2006)', + 'CSD', + 'Srpski dinar (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Čehoslovačka tvrda koruna', + 'CSK', + 'Čehoslovačka tvrda koruna', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Kubanski konvertibilni pezos', + 'CUC', + 'Kubanski konvertibilni pezos', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'kubanski pezos', + 'CUP', + 'kubanski pezos', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Zelenortski eskudo', + 'CVE', + 'Zelenortski eskudo', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Kipratska funta', + 'CYP', + 'Kipratska funta', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Češka kruna', + 'CZK', + 'Češka kruna', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Istočnoevropska marka', + 'DDM', + 'Istočnoevropska marka', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Nemačka marka', + 'DEM', + 'Nemačka marka', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Džibutski franak', + 'DJF', + 'Džibutski franak', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Danska kruna', + 'DKK', + 'Danska kruna', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Dominikanski pezos', + 'DOP', + 'Dominikanski pezos', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Alžirski dinar', + 'DZD', + 'Alžirski dinar', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Ekvadorijski sukr', + 'ECS', + 'Ekvadorijski sukr', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Ekvadorski unidad de valor konstantin (UVC)', + 'ECV', + 'Ekvadorski unidad de valor konstantin (UVC)', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Estonska kruna', + 'EEK', + 'Estonska kruna', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Egipatska funta', + 'EGP', + 'Egipatska funta', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Eritrejska nakfa', + 'ERN', + 'Eritrejska nakfa', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'Španska pezeta (račun) ESA', + 'ESA', + 'Španska pezeta (račun) ESA', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'Španska pezeta (konvertibilni račun)', + 'ESB', + 'Španska pezeta (konvertibilni račun)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Španska pezeta', + 'ESP', + 'Španska pezeta', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Etiopski bir', + 'ETB', + 'Etiopski bir', ], 'EUR' => [ - 0 => '€', - 1 => 'Euro', + '€', + 'Euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Finska marka', + 'FIM', + 'Finska marka', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Fidžijski dolar', + 'FJD', + 'Fidžijski dolar', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Folklandska funta', + 'FKP', + 'Folklandska funta', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Francuski franak', + 'FRF', + 'Francuski franak', ], 'GBP' => [ - 0 => 'GBP', - 1 => 'Britanska funta', + 'GBP', + 'Britanska funta', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Gruzijski kupon larit', + 'GEK', + 'Gruzijski kupon larit', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Gruzijski lari', + 'GEL', + 'Gruzijski lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Ganijski cedi (1979–2007)', + 'GHC', + 'Ganijski cedi (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Ganski cedi', + 'GHS', + 'Ganski cedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Gibraltarska funta', + 'GIP', + 'Gibraltarska funta', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Gambijski dalasi', + 'GMD', + 'Gambijski dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Gvinejski franak', + 'GNF', + 'Gvinejski franak', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Gvinejski sili', + 'GNS', + 'Gvinejski sili', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Evatorijalna gvineja ekvele', + 'GQE', + 'Evatorijalna gvineja ekvele', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Drahma', + 'GRD', + 'Drahma', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Gvatemalski kecal', + 'GTQ', + 'Gvatemalski kecal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Portugalska Gvineja eskudo', + 'GWE', + 'Portugalska Gvineja eskudo', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Gvineja bisao pezo', + 'GWP', + 'Gvineja bisao pezo', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Gvajanski dolar', + 'GYD', + 'Gvajanski dolar', ], 'HKD' => [ - 0 => 'HKD', - 1 => 'Honkonški dolar', + 'HKD', + 'Honkonški dolar', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Honduraška lempira', + 'HNL', + 'Honduraška lempira', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Hrvatski dinar', + 'HRD', + 'Hrvatski dinar', ], 'HRK' => [ - 0 => 'kn', - 1 => 'Hrvatska kuna', + 'kn', + 'Hrvatska kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Haićanski gurd', + 'HTG', + 'Haićanski gurd', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Mađarska forinta', + 'HUF', + 'Mađarska forinta', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Indonežanska rupija', + 'IDR', + 'Indonežanska rupija', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Irska funta', + 'IEP', + 'Irska funta', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Izraelska funta', + 'ILP', + 'Izraelska funta', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'stari izraelski šekeli', + 'ILR', + 'stari izraelski šekeli', ], 'ILS' => [ - 0 => 'ILS', - 1 => 'Izraelski novi šekel', + 'ILS', + 'Izraelski novi šekel', ], 'INR' => [ - 0 => '₹', - 1 => 'Indijska rupija', + '₹', + 'Indijska rupija', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Irački dinar', + 'IQD', + 'Irački dinar', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Iranski rijal', + 'IRR', + 'Iranski rijal', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'stara islandska kruna', + 'ISJ', + 'stara islandska kruna', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Islandska kruna', + 'ISK', + 'Islandska kruna', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Italijanska lira', + 'ITL', + 'Italijanska lira', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Jamajčanski dolar', + 'JMD', + 'Jamajčanski dolar', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Jordanski dinar', + 'JOD', + 'Jordanski dinar', ], 'JPY' => [ - 0 => '¥', - 1 => 'Japanski jen', + '¥', + 'Japanski jen', ], 'KES' => [ - 0 => 'KES', - 1 => 'Kenijski šiling', + 'KES', + 'Kenijski šiling', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Kirgistanski som', + 'KGS', + 'Kirgistanski som', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Kambodžanski rijel', + 'KHR', + 'Kambodžanski rijel', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Komorski franak', + 'KMF', + 'Komorski franak', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Sjevernokorejski von', + 'KPW', + 'Sjevernokorejski von', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'Južno-korejski hvan (1953–1962)', + 'KRH', + 'Južno-korejski hvan (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'Južno-korejski Von (1945–1953)', + 'KRO', + 'Južno-korejski Von (1945–1953)', ], 'KRW' => [ - 0 => '₩', - 1 => 'Južnokorejski von', + '₩', + 'Južnokorejski von', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Kuvajtski dinar', + 'KWD', + 'Kuvajtski dinar', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Kajmanski dolar', + 'KYD', + 'Kajmanski dolar', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Kazahstanski tenge', + 'KZT', + 'Kazahstanski tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Laoski kip', + 'LAK', + 'Laoski kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Libanska funta', + 'LBP', + 'Libanska funta', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Šrilankanska rupija', + 'LKR', + 'Šrilankanska rupija', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Liberijski dolar', + 'LRD', + 'Liberijski dolar', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Lesotski loti', + 'LSL', + 'Lesotski loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litvanski litas', + 'LTL', + 'Litvanski litas', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Litvanski talonas', + 'LTT', + 'Litvanski talonas', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Luksemburški konvertibilni franak', + 'LUC', + 'Luksemburški konvertibilni franak', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Luksemburški franak', + 'LUF', + 'Luksemburški franak', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Luksemburški finansijski franak', + 'LUL', + 'Luksemburški finansijski franak', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Letonski lats', + 'LVL', + 'Letonski lats', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Latvijska rublja', + 'LVR', + 'Latvijska rublja', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Libijski dinar', + 'LYD', + 'Libijski dinar', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Marokanski dirham', + 'MAD', + 'Marokanski dirham', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Marokanski franak', + 'MAF', + 'Marokanski franak', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'Monegaskaški franak', + 'MCF', + 'Monegaskaški franak', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'Moldavski kupon', + 'MDC', + 'Moldavski kupon', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Moldavski lej', + 'MDL', + 'Moldavski lej', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Malagaški arijari', + 'MGA', + 'Malagaški arijari', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Malagasijski franak', + 'MGF', + 'Malagasijski franak', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Makedonski denar', + 'MKD', + 'Makedonski denar', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'Makedonski denar (1992–1993)', + 'MKN', + 'Makedonski denar (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Malijanski franak', + 'MLF', + 'Malijanski franak', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Mijanmarski kjat', + 'MMK', + 'Mijanmarski kjat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Mongolski tugrik', + 'MNT', + 'Mongolski tugrik', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Makaonska pataka', + 'MOP', + 'Makaonska pataka', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Mauritanijska ugvija (1973–2017)', + 'MRO', + 'Mauritanijska ugvija (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Mauritanijska ugvija', + 'MRU', + 'mauritanijska ugvija', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Malteška lira', + 'MTL', + 'Malteška lira', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Malteška funta', + 'MTP', + 'Malteška funta', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Mauricijska rupija', + 'MUR', + 'Mauricijska rupija', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Maldivska rufija', + 'MVR', + 'Maldivska rufija', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Malavijska kvača', + 'MWK', + 'Malavijska kvača', ], 'MXN' => [ - 0 => 'MXN', - 1 => 'Meksički pezos', + 'MXN', + 'Meksički pezos', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Meksijski srebrno pezo (1861–1992)', + 'MXP', + 'Meksijski srebrno pezo (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Meksijski unidad de inverzion', + 'MXV', + 'Meksijski unidad de inverzion', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Malezijski ringit', + 'MYR', + 'Malezijski ringit', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Mozambijski eskudo', + 'MZE', + 'Mozambijski eskudo', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Mozambijski metikal (1980–2006)', + 'MZM', + 'Mozambijski metikal (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Mozambijski metikal', + 'MZN', + 'Mozambijski metikal', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Namibijski dolar', + 'NAD', + 'Namibijski dolar', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Nigerijska naira', + 'NGN', + 'Nigerijska naira', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Nikaragvanška kordoba (1988–1991)', + 'NIC', + 'Nikaragvanška kordoba (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Nikaragvanska kordoba', + 'NIO', + 'Nikaragvanska kordoba', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Holandski gulden', + 'NLG', + 'Holandski gulden', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Norveška kruna', + 'NOK', + 'Norveška kruna', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Nepalska rupija', + 'NPR', + 'Nepalska rupija', ], 'NZD' => [ - 0 => 'NZD', - 1 => 'Novozelandski dolar', + 'NZD', + 'Novozelandski dolar', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Omanski rijal', + 'OMR', + 'Omanski rijal', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Panamska balboa', + 'PAB', + 'Panamska balboa', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Peruvijski inti', + 'PEI', + 'Peruvijski inti', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Peruanski sol', + 'PEN', + 'Peruanski sol', ], 'PES' => [ - 0 => 'PES', - 1 => 'Peruvijski sol (1863–1965)', + 'PES', + 'Peruvijski sol (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Kina Papue Nove Gvineje', + 'PGK', + 'Kina Papue Nove Gvineje', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Filipinski pezos', + 'PHP', + 'Filipinski pezos', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Pakistanska rupija', + 'PKR', + 'Pakistanska rupija', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Poljski zlot', + 'PLN', + 'Poljski zlot', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Poljski zloti (1950–1995)', + 'PLZ', + 'Poljski zloti (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Portugalski eskudo', + 'PTE', + 'Portugalski eskudo', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Paragvajski gvarani', + 'PYG', + 'Paragvajski gvarani', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Katarski rijal', + 'QAR', + 'Katarski rijal', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Rodizijski dolar', + 'RHD', + 'Rodizijski dolar', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Rumunski leu (1952–2006)', + 'ROL', + 'Rumunski leu (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'Rumunski lej', + 'RON', + 'Rumunski lej', ], 'RSD' => [ - 0 => 'din.', - 1 => 'Srpski dinar', + 'din.', + 'Srpski dinar', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Ruska rublja', + 'RUB', + 'Ruska rublja', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Ruska rublja (1991–1998)', + 'RUR', + 'Ruska rublja (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Ruandski franak', + 'RWF', + 'Ruandski franak', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Saudijski rijal', + 'SAR', + 'Saudijski rijal', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Solomonski dolar', + 'SBD', + 'Solomonski dolar', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Sejšelska rupija', + 'SCR', + 'Sejšelska rupija', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Sudanski dinar (1992–2007)', + 'SDD', + 'Sudanski dinar (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Sudanska funta', + 'SDG', + 'Sudanska funta', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Sudanska funta (1957–1998)', + 'SDP', + 'Sudanska funta (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Švedska kruna', + 'SEK', + 'Švedska kruna', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Singapurski dolar', + 'SGD', + 'Singapurski dolar', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Svetohelenska funta', + 'SHP', + 'Svetohelenska funta', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Slovenski tolar', + 'SIT', + 'Slovenski tolar', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Slovačka kruna', + 'SKK', + 'Slovačka kruna', + ], + 'SLE' => [ + 'SLE', + 'Sijeraleonski leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Sijeraleonski leone', + 'SLL', + 'Sijeraleonski leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Somalski šiling', + 'SOS', + 'Somalski šiling', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Surinamski dolar', + 'SRD', + 'Surinamski dolar', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Surinamski gilder', + 'SRG', + 'Surinamski gilder', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Južnosudanska funta', + 'SSP', + 'Južnosudanska funta', ], 'STD' => [ - 0 => 'STD', - 1 => 'Dobra Sao Toma i Principa (1977–2017)', + 'STD', + 'Dobra Sao Toma i Principa (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Dobra Sao Toma i Principa', + 'STN', + 'Dobra Sao Toma i Principa', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Sovjetska rublja', + 'SUR', + 'Sovjetska rublja', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Salvadorski kolon', + 'SVC', + 'Salvadorski kolon', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Sirijska funta', + 'SYP', + 'Sirijska funta', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Svazilendski lilangeni', + 'SZL', + 'Svazilendski lilangeni', ], 'THB' => [ - 0 => '฿', - 1 => 'Tajlandski baht', + '฿', + 'Tajlandski baht', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Tadžakistanska rublja', + 'TJR', + 'Tadžakistanska rublja', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Tadžikistanski somoni', + 'TJS', + 'Tadžikistanski somoni', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Turkmenistanski manat (1993–2009)', + 'TMM', + 'Turkmenistanski manat (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Turkmenistanski manat', + 'TMT', + 'Turkmenistanski manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'Tuniški dinar', + 'TND', + 'Tuniški dinar', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Tonganska panga', + 'TOP', + 'Tonganska panga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Timorški eskudo', + 'TPE', + 'Timorški eskudo', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Turska lira (1922–2005)', + 'TRL', + 'Turska lira (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Turska lira', + 'TRY', + 'Turska lira', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Trinidadtobaški dolar', + 'TTD', + 'Trinidadtobaški dolar', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Novi tajvanski dolar', + 'NT$', + 'Novi tajvanski dolar', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Tanzanijski šiling', + 'TZS', + 'Tanzanijski šiling', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Ukrajinska hrivnja', + 'UAH', + 'Ukrajinska hrivnja', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Ukrajinski karbovaneti', + 'UAK', + 'Ukrajinski karbovaneti', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Ugandijski šiling (1966–1987)', + 'UGS', + 'Ugandijski šiling (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Ugandski šiling', + 'UGX', + 'Ugandski šiling', ], 'USD' => [ - 0 => 'USD', - 1 => 'Američki dolar', + 'USD', + 'Američki dolar', ], 'USN' => [ - 0 => 'USN', - 1 => 'SAD dolar (sledeći dan)', + 'USN', + 'SAD dolar (sledeći dan)', ], 'USS' => [ - 0 => 'USS', - 1 => 'SAD dolar (isti dan)', + 'USS', + 'SAD dolar (isti dan)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Urugvajski pezo en unidades indeksades', + 'UYI', + 'Urugvajski pezo en unidades indeksades', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Urugvajski pezo (1975–1993)', + 'UYP', + 'Urugvajski pezo (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Urugvajski pezos', + 'UYU', + 'Urugvajski pezos', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Uzbekistanski som', + 'UZS', + 'Uzbekistanski som', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Venecuelanski bolivar (1871–2008)', + 'VEB', + 'Venecuelanski bolivar (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'venecuelanski bolivar (2008–2018)', + 'VEF', + 'venecuelanski bolivar (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Venecuelanski bolivar', + 'VES', + 'Venecuelanski bolivar', ], 'VND' => [ - 0 => '₫', - 1 => 'Vijetnamski dong', + '₫', + 'Vijetnamski dong', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'Vijetnamski dong (1978–1985)', + 'VNN', + 'Vijetnamski dong (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vanuatski vatu', + 'VUV', + 'Vanuatski vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Samoanska tala', + 'WST', + 'Samoanska tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Centralnoafrički franak (CFA)', + 'FCFA', + 'Centralnoafrički franak (CFA)', ], 'XCD' => [ - 0 => 'XCD', - 1 => 'Istočnokaripski dolar', + 'XCD', + 'Istočnokaripski dolar', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'Evropska valutna jedinica', + 'XEU', + 'Evropska valutna jedinica', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Francuski zlatni frank', + 'XFO', + 'Francuski zlatni frank', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Francuski UIC-frank', + 'XFU', + 'Francuski UIC-frank', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Zapadnoafrički franak (CFA)', + 'F CFA', + 'Zapadnoafrički franak (CFA)', ], 'XPF' => [ - 0 => 'XPF', - 1 => 'Franak (CFP)', + 'XPF', + 'Franak (CFP)', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'RINET fondovi', + 'XRE', + 'RINET fondovi', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Jemenski dinar', + 'YDD', + 'Jemenski dinar', ], 'YER' => [ - 0 => 'YER', - 1 => 'Jemenski rijal', + 'YER', + 'Jemenski rijal', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Jugoslovenski tvrdi dinar', + 'YUD', + 'Jugoslovenski tvrdi dinar', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Jugoslovenski novi dinar', + 'YUM', + 'Jugoslovenski novi dinar', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Jugoslovenski konvertibilni dinar', + 'YUN', + 'Jugoslovenski konvertibilni dinar', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'Jugoslovenski reformirani dinar', + 'YUR', + 'Jugoslovenski reformirani dinar', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Južnoafrički rand (finansijski)', + 'ZAL', + 'Južnoafrički rand (finansijski)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Južnoafrički rand', + 'ZAR', + 'Južnoafrički rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Zambijska kvača (1968–2012)', + 'ZMK', + 'Zambijska kvača (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Zambijska kvača', + 'ZMW', + 'Zambijska kvača', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Zairski novi zair (1993–1998)', + 'ZRN', + 'Zairski novi zair (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Zairski zair (1971–1993)', + 'ZRZ', + 'Zairski zair (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Zimbabvejski dolar (1980–2008)', + 'ZWD', + 'Zimbabvejski dolar (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Zimbabvejski dolar (2009)', + 'ZWL', + 'Zimbabvejski dolar (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Zimbabvejski dolar (2008)', + 'ZWR', + 'Zimbabvejski dolar (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bs_Cyrl.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bs_Cyrl.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bs_Cyrl.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/bs_Cyrl.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1088 +3,1092 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Андорска пезета', + 'ADP', + 'Андорска пезета', ], 'AED' => [ - 0 => 'AED', - 1 => 'Уједињени арапски емирати дирхам', + 'AED', + 'Уједињени арапски емирати дирхам', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Авганистански авган (1927–2002)', + 'AFA', + 'Авганистански авган (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Афганистански афгани', + 'AFN', + 'Афганистански афгани', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Албански лек', + 'ALL', + 'Албански лек', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Арменски драм', + 'AMD', + 'Арменски драм', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Холандски антили гилдер', + 'ANG', + 'Холандски антили гилдер', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Анголска кванза', + 'AOA', + 'Анголска кванза', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'анголијска кванза (1977–1990)', + 'AOK', + 'анголијска кванза (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Анголијска нова кванза (1990–2000)', + 'AON', + 'Анголијска нова кванза (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Анголска кванза реађустадо (1995–1999)', + 'AOR', + 'Анголска кванза реађустадо (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Аргентински аустрал', + 'ARA', + 'Аргентински аустрал', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'аргентински пезо (1983–1985)', + 'ARP', + 'аргентински пезо (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Аргентински пезос', + 'ARS', + 'Аргентински пезос', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Аустријски шилинг', + 'ATS', + 'Аустријски шилинг', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Аустралијски долар', + 'A$', + 'Аустралијски долар', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Арубански флорин', + 'AWG', + 'Арубански флорин', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Азербејџански манат (1993–2006)', + 'AZM', + 'Азербејџански манат (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Азербејџански манат', + 'AZN', + 'Азербејџански манат', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Босанско-Херцеговачки динар', + 'BAD', + 'Босанско-Херцеговачки динар', ], 'BAM' => [ - 0 => 'КМ', - 1 => 'Конвертибилна марка', + 'КМ', + 'Конвертибилна марка', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Барбадоски долар', + 'BBD', + 'Барбадоски долар', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Бангладешка така', + 'BDT', + 'Бангладешка така', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Белгијски франак (конвертибилни)', + 'BEC', + 'Белгијски франак (конвертибилни)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Белгијски франак', + 'BEF', + 'Белгијски франак', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Белгијски франак (финансијски)', + 'BEL', + 'Белгијски франак (финансијски)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Бугарски тврди лев', + 'BGL', + 'Бугарски тврди лев', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Бугарски лев', + 'BGN', + 'Бугарски лев', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Бахреински динар', + 'BHD', + 'Бахреински динар', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Бурундски франак', + 'BIF', + 'Бурундски франак', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Бермудски долар', + 'BMD', + 'Бермудски долар', ], 'BND' => [ - 0 => 'BND', - 1 => 'Брунејски долар', + 'BND', + 'Брунејски долар', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Боливијски боливиано', + 'BOB', + 'Боливијски боливиано', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Боливијски пезо', + 'BOP', + 'Боливијски пезо', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Боливијски мвдол', + 'BOV', + 'Боливијски мвдол', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Бразилски нови крузеиро (1967–1986)', + 'BRB', + 'Бразилски нови крузеиро (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Бразилијски крузадо', + 'BRC', + 'Бразилијски крузадо', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Бразилски крузеиро (1990–1993)', + 'BRE', + 'Бразилски крузеиро (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Бразилски реал', + 'R$', + 'Бразилски реал', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Бразилијски нови крузадо', + 'BRN', + 'Бразилијски нови крузадо', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Бразилски крузеиро', + 'BRR', + 'Бразилски крузеиро', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Бахамски долар', + 'BSD', + 'Бахамски долар', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Бутански нгултрум', + 'BTN', + 'Бутански нгултрум', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Бурмански кјат', + 'BUK', + 'Бурмански кјат', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Боцванска пула', + 'BWP', + 'Боцванска пула', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Белоруска нова рубља (1994–1999)', + 'BYB', + 'Белоруска нова рубља (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Белоруска рубља', + 'BYN', + 'Белоруска рубља', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Белоруска рубља (2000–2016)', + 'BYR', + 'Белоруска рубља (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Белизеански долар', + 'BZD', + 'Белизеански долар', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Канадски долар', + 'CA$', + 'Канадски долар', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Конгоански франак', + 'CDF', + 'Конгоански франак', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'WIR евро', + 'CHE', + 'WIR евро', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Швајцарски франак', + 'CHF', + 'Швајцарски франак', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'WIR франак', + 'CHW', + 'WIR франак', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Чилеовски унидадес се фоменто', + 'CLF', + 'Чилеовски унидадес се фоменто', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Чилеански пезос', + 'CLP', + 'Чилеански пезос', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Кинески јуан (острвски)', + 'CNH', + 'Кинески јуан (острвски)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Кинески јуан', + 'CN¥', + 'Кинески јуан', ], 'COP' => [ - 0 => 'COP', - 1 => 'Колумбијски пезос', + 'COP', + 'Колумбијски пезос', ], 'COU' => [ - 0 => 'COU', - 1 => 'Унидад де валоршки реал', + 'COU', + 'Унидад де валоршки реал', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Костарикански колон', + 'CRC', + 'Костарикански колон', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Стари српски динар', + 'CSD', + 'Стари српски динар', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Чехословачка тврда круна', + 'CSK', + 'Чехословачка тврда круна', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'кубански конвертибилни пезос', + 'CUC', + 'кубански конвертибилни пезос', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Кубански пезос', + 'CUP', + 'Кубански пезос', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Зеленортски ескудо', + 'CVE', + 'Зеленортски ескудо', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Кипарска фунта', + 'CYP', + 'Кипарска фунта', ], 'CZK' => [ - 0 => 'Кч', - 1 => 'Чешка круна', + 'Кч', + 'Чешка круна', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Источно-немачка марка', + 'DDM', + 'Источно-немачка марка', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Немачка марка', + 'DEM', + 'Немачка марка', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Џибутски франак', + 'DJF', + 'Џибутски франак', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Данска круна', + 'DKK', + 'Данска круна', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Доминикански пезос', + 'DOP', + 'Доминикански пезос', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Алжирски динар', + 'DZD', + 'Алжирски динар', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Еквадорски сакр', + 'ECS', + 'Еквадорски сакр', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Еквадорски унидад де валор константе', + 'ECV', + 'Еквадорски унидад де валор константе', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Естонска кроон', + 'EEK', + 'Естонска кроон', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Египатска фунта', + 'EGP', + 'Египатска фунта', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Еритрејска накфа', + 'ERN', + 'Еритрејска накфа', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'Шпанска пезета (рачун)', + 'ESA', + 'Шпанска пезета (рачун)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'Шпанска пезета (конвертибилнирачун)', + 'ESB', + 'Шпанска пезета (конвертибилнирачун)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Шпанска пезета', + 'ESP', + 'Шпанска пезета', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Етиопијски бир', + 'ETB', + 'Етиопијски бир', ], 'EUR' => [ - 0 => '€', - 1 => 'Евро', + '€', + 'Евро', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Финска марка', + 'FIM', + 'Финска марка', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Фиџи долар', + 'FJD', + 'Фиџи долар', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Фолкландска фунта', + 'FKP', + 'Фолкландска фунта', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Француски франак', + 'FRF', + 'Француски франак', ], 'GBP' => [ - 0 => '£', - 1 => 'Британска фунта', + '£', + 'Британска фунта', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Грузијски купон ларит', + 'GEK', + 'Грузијски купон ларит', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Грузијски лари', + 'GEL', + 'Грузијски лари', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Гански цеди (1979–2007)', + 'GHC', + 'Гански цеди (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Гански цеди', + 'GHS', + 'Гански цеди', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Гибралтаска фунта', + 'GIP', + 'Гибралтаска фунта', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Гамбијски даласи', + 'GMD', + 'Гамбијски даласи', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Гвинејски франак', + 'GNF', + 'Гвинејски франак', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Гвинејски сили', + 'GNS', + 'Гвинејски сили', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Екваторијално-гвинејски еквеле', + 'GQE', + 'Екваторијално-гвинејски еквеле', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Грчка драхма', + 'GRD', + 'Грчка драхма', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Гватемалски квецал', + 'GTQ', + 'Гватемалски квецал', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'португалска гвинеја ескудо', + 'GWE', + 'португалска гвинеја ескудо', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Гвинеја Бисао Пезо', + 'GWP', + 'Гвинеја Бисао Пезо', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Гвајански долар', + 'GYD', + 'Гвајански долар', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Хонгконшки долар', + 'HK$', + 'Хонгконшки долар', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Хондурашка лемпира', + 'HNL', + 'Хондурашка лемпира', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Хрватски динар', + 'HRD', + 'Хрватски динар', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Хрватска куна', + 'HRK', + 'Хрватска куна', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Хаићански гурд', + 'HTG', + 'Хаићански гурд', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Мађарска форинта', + 'HUF', + 'Мађарска форинта', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Индонежанска рупија', + 'IDR', + 'Индонежанска рупија', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Ирска фунта', + 'IEP', + 'Ирска фунта', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Израелска фунта', + 'ILP', + 'Израелска фунта', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'стари израелски шекели', + 'ILR', + 'стари израелски шекели', ], 'ILS' => [ - 0 => '₪', - 1 => 'Израелски нови шекел', + '₪', + 'Израелски нови шекел', ], 'INR' => [ - 0 => '₹', - 1 => 'Индијска рупија', + '₹', + 'Индијска рупија', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Ирачки динар', + 'IQD', + 'Ирачки динар', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Ирански ријал', + 'IRR', + 'Ирански ријал', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'стара исландска круна', + 'ISJ', + 'стара исландска круна', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Исландска круна', + 'ISK', + 'Исландска круна', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Италијанска лира', + 'ITL', + 'Италијанска лира', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Јамајски долар', + 'JMD', + 'Јамајски долар', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Јордански динар', + 'JOD', + 'Јордански динар', ], 'JPY' => [ - 0 => '¥', - 1 => 'Јапански јен', + '¥', + 'Јапански јен', ], 'KES' => [ - 0 => 'KES', - 1 => 'Кенијски шилинг', + 'KES', + 'Кенијски шилинг', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Киргистански сом', + 'KGS', + 'Киргистански сом', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Камбоџански ријел', + 'KHR', + 'Камбоџански ријел', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Коморски франак', + 'KMF', + 'Коморски франак', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Севернокорејски вон', + 'KPW', + 'Севернокорејски вон', ], 'KRW' => [ - 0 => '₩', - 1 => 'Јужнокорејски вон', + '₩', + 'Јужнокорејски вон', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Кувајтски динар', + 'KWD', + 'Кувајтски динар', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Кајмански долар', + 'KYD', + 'Кајмански долар', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Казахстански тенге', + 'KZT', + 'Казахстански тенге', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Лаоски кип', + 'LAK', + 'Лаоски кип', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Либанска фунта', + 'LBP', + 'Либанска фунта', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Шриланканска рупија', + 'LKR', + 'Шриланканска рупија', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Либеријски долар', + 'LRD', + 'Либеријски долар', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Лесото лоти', + 'LSL', + 'Лесото лоти', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Литвански литас', + 'LTL', + 'Литвански литас', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Литвански талонас', + 'LTT', + 'Литвански талонас', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Луксембуршки конвертибилни франак', + 'LUC', + 'Луксембуршки конвертибилни франак', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Луксембуршки франак', + 'LUF', + 'Луксембуршки франак', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Луксембуршки финансијски франак', + 'LUL', + 'Луксембуршки финансијски франак', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Латвијски лати', + 'LVL', + 'Латвијски лати', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'атвијска рубља', + 'LVR', + 'атвијска рубља', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Либијски динар', + 'LYD', + 'Либијски динар', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Марокански дирхам', + 'MAD', + 'Марокански дирхам', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Марокански франак', + 'MAF', + 'Марокански франак', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Молдавски леј', + 'MDL', + 'Молдавски леј', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Мадагаскарски аријари', + 'MGA', + 'Мадагаскарски аријари', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Малагасијски франак', + 'MGF', + 'Малагасијски франак', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Македонски денар', + 'MKD', + 'Македонски денар', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Малијански франак', + 'MLF', + 'Малијански франак', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Мијанмарски кјат', + 'MMK', + 'Мијанмарски кјат', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Монголски тугрик', + 'MNT', + 'Монголски тугрик', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Макаоска патака', + 'MOP', + 'Макаоска патака', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Мауританијска угвија (1973–2017)', + 'MRO', + 'Мауританијска угвија (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Мауританска огија', + 'MRU', + 'Мауританска огија', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Малтешка лира', + 'MTL', + 'Малтешка лира', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Малтешка фунта', + 'MTP', + 'Малтешка фунта', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Маурицијска рупија', + 'MUR', + 'Маурицијска рупија', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Малдивска руфија', + 'MVR', + 'Малдивска руфија', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Малавијска квача', + 'MWK', + 'Малавијска квача', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Мексички пезос', + 'MX$', + 'Мексички пезос', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Мексички сребрни пезо (1861–1992)', + 'MXP', + 'Мексички сребрни пезо (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Мексички унидад де инверсион (UDI)', + 'MXV', + 'Мексички унидад де инверсион (UDI)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Малезијски рингит', + 'MYR', + 'Малезијски рингит', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Мозамбијски ескудо', + 'MZE', + 'Мозамбијски ескудо', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Стари мозамбијски метикал', + 'MZM', + 'Стари мозамбијски метикал', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Мозамбијски метикал', + 'MZN', + 'Мозамбијски метикал', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Намибијски долар', + 'NAD', + 'Намибијски долар', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Нигеријска наира', + 'NGN', + 'Нигеријска наира', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Никарагванска кордоба', + 'NIC', + 'Никарагванска кордоба', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Никарагванска златна кордоба', + 'NIO', + 'Никарагванска златна кордоба', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Холандски гулден', + 'NLG', + 'Холандски гулден', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Норвешка круна', + 'NOK', + 'Норвешка круна', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Непалска рупија', + 'NPR', + 'Непалска рупија', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Новозеландски долар', + 'NZ$', + 'Новозеландски долар', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Омански ријал', + 'OMR', + 'Омански ријал', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Панамска балбоа', + 'PAB', + 'Панамска балбоа', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Перуански инти', + 'PEI', + 'Перуански инти', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Перуански сол', + 'PEN', + 'Перуански сол', ], 'PES' => [ - 0 => 'PES', - 1 => 'Перуански сол (1863–1965)', + 'PES', + 'Перуански сол (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Папуанска кина', + 'PGK', + 'Папуанска кина', ], 'PHP' => [ - 0 => '₱', - 1 => 'Филипински пезос', + '₱', + 'Филипински пезос', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Пакистанска рупија', + 'PKR', + 'Пакистанска рупија', ], 'PLN' => [ - 0 => 'зл', - 1 => 'Пољски злот', + 'зл', + 'Пољски злот', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Пољски злоти (1950–1995)', + 'PLZ', + 'Пољски злоти (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Португалски ескудо', + 'PTE', + 'Португалски ескудо', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Парагвајски гварани', + 'PYG', + 'Парагвајски гварани', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Катарски ријал', + 'QAR', + 'Катарски ријал', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Родејскидолар', + 'RHD', + 'Родејскидолар', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Стари румунски љу', + 'ROL', + 'Стари румунски љу', ], 'RON' => [ - 0 => 'RON', - 1 => 'Румунски леј', + 'RON', + 'Румунски леј', ], 'RSD' => [ - 0 => 'дин.', - 1 => 'Српски динар', + 'дин.', + 'Српски динар', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Руска рубља', + 'RUB', + 'Руска рубља', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Руска рубља (1991–1998)', + 'RUR', + 'Руска рубља (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Руандски франак', + 'RWF', + 'Руандски франак', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Саудијски ријал', + 'SAR', + 'Саудијски ријал', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Соломонски долар', + 'SBD', + 'Соломонски долар', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Сејшелска рупија', + 'SCR', + 'Сејшелска рупија', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Стари судански динар', + 'SDD', + 'Стари судански динар', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Суданска фунта', + 'SDG', + 'Суданска фунта', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Стара суданска фунта', + 'SDP', + 'Стара суданска фунта', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Шведска круна', + 'SEK', + 'Шведска круна', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Сингапурски долар', + 'SGD', + 'Сингапурски долар', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Света Јелена фунта', + 'SHP', + 'Света Јелена фунта', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Словеначки толар', + 'SIT', + 'Словеначки толар', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Словачка круна', + 'SKK', + 'Словачка круна', + ], + 'SLE' => [ + 'SLE', + 'Сијералеонски леоне', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Сијералеонски леоне', + 'SLL', + 'Сијералеонски леоне (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Сомалијски шилинг', + 'SOS', + 'Сомалијски шилинг', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Суринамски долар', + 'SRD', + 'Суринамски долар', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Суринамски гилдер', + 'SRG', + 'Суринамски гилдер', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Јужносуданска фунта', + 'SSP', + 'Јужносуданска фунта', ], 'STD' => [ - 0 => 'STD', - 1 => 'Сао Томе и Принципе добра (1977–2017)', + 'STD', + 'Сао Томе и Принципе добра (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Сао Томе и Принципе добра', + 'STN', + 'Сао Томе и Принципе добра', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Совјетска рубља', + 'SUR', + 'Совјетска рубља', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Салвадорски колон', + 'SVC', + 'Салвадорски колон', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Сиријска фунта', + 'SYP', + 'Сиријска фунта', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Свазилендски лилангени', + 'SZL', + 'Свазилендски лилангени', ], 'THB' => [ - 0 => 'THB', - 1 => 'Тајски бахт', + 'THB', + 'Тајски бахт', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Таџихистанска рубља', + 'TJR', + 'Таџихистанска рубља', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Таџикистански сомони', + 'TJS', + 'Таџикистански сомони', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Туркменистански манат (1993–2009)', + 'TMM', + 'Туркменистански манат (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Туркменистански манат', + 'TMT', + 'Туркменистански манат', ], 'TND' => [ - 0 => 'TND', - 1 => 'Туниски динар', + 'TND', + 'Туниски динар', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Тонгоанска панга', + 'TOP', + 'Тонгоанска панга', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Тиморшки ескудо', + 'TPE', + 'Тиморшки ескудо', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Стара турска лира', + 'TRL', + 'Стара турска лира', ], 'TRY' => [ - 0 => 'Тл', - 1 => 'Турска лира', + 'Тл', + 'Турска лира', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Тринидад-тобагошки долар', + 'TTD', + 'Тринидад-тобагошки долар', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Нови тајвански долар', + 'NT$', + 'Нови тајвански долар', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Танзанијски шилинг', + 'TZS', + 'Танзанијски шилинг', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Украјинска хривња', + 'UAH', + 'Украјинска хривња', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Украјински карбованети', + 'UAK', + 'Украјински карбованети', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Угандски шилинг (1966–1987)', + 'UGS', + 'Угандски шилинг (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Угандски шилинг', + 'UGX', + 'Угандски шилинг', ], 'USD' => [ - 0 => 'US$', - 1 => 'Амерички долар', + 'US$', + 'Амерички долар', ], 'USN' => [ - 0 => 'USN', - 1 => 'САД долар (следећи дан)', + 'USN', + 'САД долар (следећи дан)', ], 'USS' => [ - 0 => 'USS', - 1 => 'САД долар (исти дан)', + 'USS', + 'САД долар (исти дан)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Уругвајски пезо ен унидадес индексадас', + 'UYI', + 'Уругвајски пезо ен унидадес индексадас', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Уругвајски пезо (1975–1993)', + 'UYP', + 'Уругвајски пезо (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Уругвајски пезос', + 'UYU', + 'Уругвајски пезос', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Узбекистански сом', + 'UZS', + 'Узбекистански сом', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Венецуелански боливар (1871–2008)', + 'VEB', + 'Венецуелански боливар (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Венецуелански боливар (2008–2018)', + 'VEF', + 'Венецуелански боливар (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Венецуелански боливар', + 'VES', + 'Венецуелански боливар', ], 'VND' => [ - 0 => '₫', - 1 => 'Вијетнамски донг', + '₫', + 'Вијетнамски донг', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Вануатски вату', + 'VUV', + 'Вануатски вату', ], 'WST' => [ - 0 => 'WST', - 1 => 'Самоанска тала', + 'WST', + 'Самоанска тала', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'CFA франак BEAC', + 'FCFA', + 'CFA франак BEAC', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Источно-карибски долар', + 'EC$', + 'Источно-карибски долар', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'Европска валутна јединица', + 'XEU', + 'Европска валутна јединица', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Француски златни франак', + 'XFO', + 'Француски златни франак', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Француски UIC-франак', + 'XFU', + 'Француски UIC-франак', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'CFA франак BCEAO', + 'F CFA', + 'CFA франак BCEAO', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP франак', + 'CFPF', + 'CFP франак', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'RINET фонд', + 'XRE', + 'RINET фонд', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Јеменски динар', + 'YDD', + 'Јеменски динар', ], 'YER' => [ - 0 => 'YER', - 1 => 'Јеменски ријал', + 'YER', + 'Јеменски ријал', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Југословенски тврди динар', + 'YUD', + 'Југословенски тврди динар', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Југословенски нови динар', + 'YUM', + 'Југословенски нови динар', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Југословенски конвертибилни динар', + 'YUN', + 'Југословенски конвертибилни динар', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Јужно-афрички ранд (финансијски)', + 'ZAL', + 'Јужно-афрички ранд (финансијски)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Јужноафрички ранд', + 'ZAR', + 'Јужноафрички ранд', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Замбијска квача (1968–2012)', + 'ZMK', + 'Замбијска квача (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Замбијска квача', + 'ZMW', + 'Замбијска квача', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Заирски нови заир', + 'ZRN', + 'Заирски нови заир', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Заирски заир', + 'ZRZ', + 'Заирски заир', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Зимбабвејски долар', + 'ZWD', + 'Зимбабвејски долар', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Зимбабвеански долар (2009)', + 'ZWL', + 'Зимбабвеански долар (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Зимбабвеански долар (2008)', + 'ZWR', + 'Зимбабвеански долар (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ca.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ca.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ca.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ca.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1152 +3,1156 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'pesseta andorrana', + 'ADP', + 'pesseta andorrana', ], 'AED' => [ - 0 => 'AED', - 1 => 'dírham dels Emirats Àrabs Units', + 'AED', + 'dírham dels Emirats Àrabs Units', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'afgani afganès (1927–2002)', + 'AFA', + 'afgani afganès (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afgani afganès', + 'AFN', + 'afgani afganès', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'lek albanès (1946–1965)', + 'ALK', + 'lek albanès (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'lek', + 'ALL', + 'lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'dram', + 'AMD', + 'dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'florí de les Antilles Neerlandeses', + 'ANG', + 'florí de les Antilles Neerlandeses', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'kwanza angolès', + 'AOA', + 'kwanza angolès', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'kwanza angolès (1977–1991)', + 'AOK', + 'kwanza angolès (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'nou kwanza angolès (1990–2000)', + 'AON', + 'nou kwanza angolès (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'kwanza angolès reajustat (1995–1999)', + 'AOR', + 'kwanza angolès reajustat (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'austral argentí', + 'ARA', + 'austral argentí', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'peso ley argentí (1970–1983)', + 'ARL', + 'peso ley argentí (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'peso argentí (1981–1970)', + 'ARM', + 'peso argentí (1981–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'peso argentí (1983–1985)', + 'ARP', + 'peso argentí (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'peso argentí', + 'ARS', + 'peso argentí', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'xíling austríac', + 'ATS', + 'xíling austríac', ], 'AUD' => [ - 0 => 'AU$', - 1 => 'dòlar australià', + 'AU$', + 'dòlar australià', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'florí d’Aruba', + 'AWG', + 'florí d’Aruba', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'manat azerbaidjanès (1993–2006)', + 'AZM', + 'manat azerbaidjanès (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'manat azerbaidjanès', + 'AZN', + 'manat azerbaidjanès', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'dinar de Bòsnia i Hercegovina (1992–1994)', + 'BAD', + 'dinar de Bòsnia i Hercegovina (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'marc convertible de Bòsnia i Hercegovina', + 'BAM', + 'marc convertible de Bòsnia i Hercegovina', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'nou dinar de Bòsnia i Hercegovina (1994–1997)', + 'BAN', + 'nou dinar de Bòsnia i Hercegovina (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'dòlar de Barbados', + 'BBD', + 'dòlar de Barbados', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'taka', + 'BDT', + 'taka', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'franc belga (convertible)', + 'BEC', + 'franc belga (convertible)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'franc belga', + 'BEF', + 'franc belga', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'franc belga (financer)', + 'BEL', + 'franc belga (financer)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'lev fort búlgar', + 'BGL', + 'lev fort búlgar', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'lev socialista búlgar', + 'BGM', + 'lev socialista búlgar', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'lev', + 'BGN', + 'lev', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'lev búlgar (1879–1952)', + 'BGO', + 'lev búlgar (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'dinar de Bahrain', + 'BHD', + 'dinar de Bahrain', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'franc de Burundi', + 'BIF', + 'franc de Burundi', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'dòlar de les Bermudes', + 'BMD', + 'dòlar de les Bermudes', ], 'BND' => [ - 0 => 'BND', - 1 => 'dòlar de Brunei', + 'BND', + 'dòlar de Brunei', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'bolivià', + 'BOB', + 'bolivià', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'boliviano bolivià (1863–1963)', + 'BOL', + 'boliviano bolivià (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'peso bolivià', + 'BOP', + 'peso bolivià', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'MVDOL bolivià', + 'BOV', + 'MVDOL bolivià', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'cruzeiro novo brasiler (1967–1986)', + 'BRB', + 'cruzeiro novo brasiler (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'cruzado brasiler', + 'BRC', + 'cruzado brasiler', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'cruzeiro brasiler (1990–1993)', + 'BRE', + 'cruzeiro brasiler (1990–1993)', ], 'BRL' => [ - 0 => 'BRL', - 1 => 'real brasiler', + 'BRL', + 'real brasiler', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'cruzado novo brasiler', + 'BRN', + 'cruzado novo brasiler', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'cruzeiro brasiler', + 'BRR', + 'cruzeiro brasiler', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'antic cruzeiro brasiler', + 'BRZ', + 'antic cruzeiro brasiler', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'dòlar de les Bahames', + 'BSD', + 'dòlar de les Bahames', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ngultrum de Bhutan', + 'BTN', + 'ngultrum de Bhutan', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'kyat birmà', + 'BUK', + 'kyat birmà', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'pula de Botswana', + 'BWP', + 'pula de Botswana', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'nou ruble bielorús (1994–1999)', + 'BYB', + 'nou ruble bielorús (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'ruble bielorús', + 'BYN', + 'ruble belarús', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'ruble bielorús (2000–2016)', + 'BYR', + 'ruble bielorús (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'dòlar de Belize', + 'BZD', + 'dòlar de Belize', ], 'CAD' => [ - 0 => 'CAD', - 1 => 'dòlar canadenc', + 'CAD', + 'dòlar canadenc', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'franc congolès', + 'CDF', + 'franc congolès', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'euro WIR', + 'CHE', + 'euro WIR', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'franc suís', + 'CHF', + 'franc suís', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'franc WIR', + 'CHW', + 'franc WIR', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'escut xilè', + 'CLE', + 'escut xilè', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'unidad de fomento xilena', + 'CLF', + 'unidad de fomento xilena', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'peso xilè', + 'CLP', + 'peso xilè', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'iuan xinès extracontinental', + 'CNH', + 'iuan xinès extracontinental', ], 'CNY' => [ - 0 => 'CNY', - 1 => 'iuan', + 'CNY', + 'iuan', ], 'COP' => [ - 0 => 'COP', - 1 => 'peso colombià', + 'COP', + 'peso colombià', ], 'COU' => [ - 0 => 'COU', - 1 => 'unidad de valor real colombiana', + 'COU', + 'unidad de valor real colombiana', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'colon costa-riqueny', + 'CRC', + 'colon costa-riqueny', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'dinar serbi antic', + 'CSD', + 'dinar serbi antic', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'corona forta txecoslovaca', + 'CSK', + 'corona forta txecoslovaca', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'peso convertible cubà', + 'CUC', + 'peso convertible cubà', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'peso cubà', + 'CUP', + 'peso cubà', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'escut de Cap Verd', + 'CVE', + 'escut de Cap Verd', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'lliura xipriota', + 'CYP', + 'lliura xipriota', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'corona txeca', + 'CZK', + 'corona txeca', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'marc de l’Alemanya Oriental', + 'DDM', + 'marc de l’Alemanya Oriental', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'marc alemany', + 'DEM', + 'marc alemany', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'franc de Djibouti', + 'DJF', + 'franc de Djibouti', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'corona danesa', + 'DKK', + 'corona danesa', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'peso dominicà', + 'DOP', + 'peso dominicà', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'dinar algerià', + 'DZD', + 'dinar algerià', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'sucre equatorià', + 'ECS', + 'sucre equatorià', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'unidad de valor constante (UVC) equatoriana', + 'ECV', + 'unidad de valor constante (UVC) equatoriana', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'corona estoniana', + 'EEK', + 'corona estoniana', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'lliura egípcia', + 'EGP', + 'lliura egípcia', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'nakfa eritreu', + 'ERN', + 'nakfa eritreu', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'pesseta espanyola (compte A)', + 'ESA', + 'pesseta espanyola (compte A)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'pesseta espanyola (compte convertible)', + 'ESB', + 'pesseta espanyola (compte convertible)', ], 'ESP' => [ - 0 => '₧', - 1 => 'pesseta espanyola', + '₧', + 'pesseta espanyola', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'birr etíop', + 'ETB', + 'birr etíop', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'marc finlandès', + 'FIM', + 'marc finlandès', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'dòlar fijià', + 'FJD', + 'dòlar fijià', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'lliura de les illes Malvines', + 'FKP', + 'lliura de les illes Malvines', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'franc francès', + 'FRF', + 'franc francès', ], 'GBP' => [ - 0 => '£', - 1 => 'lliura esterlina', + '£', + 'lliura esterlina', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'cupó de lari georgià', + 'GEK', + 'cupó de lari georgià', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'lari', + 'GEL', + 'lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'cedi ghanès (1979–2007)', + 'GHC', + 'cedi ghanès (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'cedi ghanès', + 'GHS', + 'cedi ghanès', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'lliura de Gibraltar', + 'GIP', + 'lliura de Gibraltar', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'dalasi gambià', + 'GMD', + 'dalasi gambià', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'franc guineà', + 'GNF', + 'franc guineà', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'syli guineà', + 'GNS', + 'syli guineà', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'ekwele de Guinea Equatorial', + 'GQE', + 'ekwele de Guinea Equatorial', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'dracma grega', + 'GRD', + 'dracma grega', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'quetzal', + 'GTQ', + 'quetzal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'escut de la Guinea Portuguesa', + 'GWE', + 'escut de la Guinea Portuguesa', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'peso de Guinea Bissau', + 'GWP', + 'peso de Guinea Bissau', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'dòlar de Guyana', + 'GYD', + 'dòlar de Guyana', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'dòlar de Hong Kong', + 'HK$', + 'dòlar de Hong Kong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'lempira', + 'HNL', + 'lempira', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'dinar croat', + 'HRD', + 'dinar croat', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'kuna', + 'HRK', + 'kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'gourde', + 'HTG', + 'gourde', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'fòrint', + 'HUF', + 'fòrint', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'rupia indonèsia', + 'IDR', + 'rupia indonèsia', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'lliura irlandesa', + 'IEP', + 'lliura irlandesa', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'lliura israeliana', + 'ILP', + 'lliura israeliana', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'xéquel israelià', + 'ILR', + 'xéquel israelià', ], 'ILS' => [ - 0 => '₪', - 1 => 'nou xéquel israelià', + '₪', + 'nou xéquel israelià', ], 'INR' => [ - 0 => '₹', - 1 => 'rupia índia', + '₹', + 'rupia índia', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'dinar iraquià', + 'IQD', + 'dinar iraquià', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'rial iranià', + 'IRR', + 'rial iranià', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'corona islandesa antiga', + 'ISJ', + 'corona islandesa antiga', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'corona islandesa', + 'ISK', + 'corona islandesa', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'lira italiana', + 'ITL', + 'lira italiana', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'dòlar jamaicà', + 'JMD', + 'dòlar jamaicà', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'dinar jordà', + 'JOD', + 'dinar jordà', ], 'JPY' => [ - 0 => '¥', - 1 => 'ien', + '¥', + 'ien', ], 'KES' => [ - 0 => 'KES', - 1 => 'xíling kenyà', + 'KES', + 'xíling kenyà', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'som kirguís', + 'KGS', + 'som kirguís', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'riel cambodjà', + 'KHR', + 'riel cambodjà', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'franc de les Comores', + 'KMF', + 'franc de les Comores', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'won nord-coreà', + 'KPW', + 'won nord-coreà', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'hwan sud-coreà (1953–1962)', + 'KRH', + 'hwan sud-coreà (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'antic won sud-coreà', + 'KRO', + 'antic won sud-coreà', ], 'KRW' => [ - 0 => '₩', - 1 => 'won sud-coreà', + '₩', + 'won sud-coreà', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'dinar kuwaitià', + 'KWD', + 'dinar kuwaitià', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'dòlar de les illes Caiman', + 'KYD', + 'dòlar de les illes Caiman', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'tenge', + 'KZT', + 'tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'kip laosià', + 'LAK', + 'kip laosià', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'lliura libanesa', + 'LBP', + 'lliura libanesa', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'rupia de Sri Lanka', + 'LKR', + 'rupia de Sri Lanka', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'dòlar liberià', + 'LRD', + 'dòlar liberià', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'loti', + 'LSL', + 'loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'litas lituà', + 'LTL', + 'litas lituà', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'talonas lituà', + 'LTT', + 'talonas lituà', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'franc convertible luxemburguès', + 'LUC', + 'franc convertible luxemburguès', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'franc luxemburguès', + 'LUF', + 'franc luxemburguès', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'franc financer luxemburguès', + 'LUL', + 'franc financer luxemburguès', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'lats letó', + 'LVL', + 'lats letó', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'ruble letó', + 'LVR', + 'ruble letó', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'dinar libi', + 'LYD', + 'dinar libi', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'dírham marroquí', + 'MAD', + 'dírham marroquí', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'franc marroquí', + 'MAF', + 'franc marroquí', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'franc monegasc', + 'MCF', + 'franc monegasc', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'cupó moldau', + 'MDC', + 'cupó moldau', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'leu moldau', + 'MDL', + 'leu moldau', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'ariary malgaix', + 'MGA', + 'ariary malgaix', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'franc malgaix', + 'MGF', + 'franc malgaix', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'dinar macedoni', + 'MKD', + 'dinar macedoni', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'denar macedoni (1992–1993)', + 'MKN', + 'denar macedoni (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'franc malià', + 'MLF', + 'franc malià', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'kyat de Myanmar', + 'MMK', + 'kyat de Myanmar', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'tögrög mongol', + 'MNT', + 'tögrög mongol', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'pataca de Macau', + 'MOP', + 'pataca de Macau', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'ouguiya maurità (1973–2017)', + 'MRO', + 'ouguiya maurità (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'ouguiya maurità', + 'MRU', + 'ouguiya maurità', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'lira maltesa', + 'MTL', + 'lira maltesa', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'lliura maltesa', + 'MTP', + 'lliura maltesa', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'rupia mauriciana', + 'MUR', + 'rupia mauriciana', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'rupia de les Maldives', + 'MVR', + 'rupia de les Maldives', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'kwacha malawià', + 'MWK', + 'kwacha malawià', ], 'MXN' => [ - 0 => 'MXN', - 1 => 'peso mexicà', + 'MXN', + 'peso mexicà', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'peso de plata mexicà (1861–1992)', + 'MXP', + 'peso de plata mexicà (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'unidad de inversión (UDI) mexicana', + 'MXV', + 'unidad de inversión (UDI) mexicana', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'ringgit', + 'MYR', + 'ringgit', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'escut moçambiquès', + 'MZE', + 'escut moçambiquès', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'antic metical moçambiquès', + 'MZM', + 'antic metical moçambiquès', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'metical moçambiquès', + 'MZN', + 'metical moçambiquès', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'dòlar namibià', + 'NAD', + 'dòlar namibià', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'naira nigerià', + 'NGN', + 'naira nigerià', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'córdoba nicaragüenca', + 'NIC', + 'córdoba nicaragüenca', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'córdoba nicaragüenc', + 'NIO', + 'córdoba nicaragüenc', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'florí neerlandès', + 'NLG', + 'florí neerlandès', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'corona noruega', + 'NOK', + 'corona noruega', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'rupia nepalesa', + 'NPR', + 'rupia nepalesa', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'dòlar neozelandès', + 'NZ$', + 'dòlar neozelandès', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'rial omanita', + 'OMR', + 'rial omanita', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'balboa', + 'PAB', + 'balboa', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'inti peruà', + 'PEI', + 'inti peruà', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'sol', + 'PEN', + 'sol', ], 'PES' => [ - 0 => 'PES', - 1 => 'sol peruà (1863–1965)', + 'PES', + 'sol peruà (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'kina', + 'PGK', + 'kina', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'peso filipí', + 'PHP', + 'peso filipí', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'rupia pakistanesa', + 'PKR', + 'rupia pakistanesa', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'zloty', + 'PLN', + 'zloty', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'zloty polonès (1950–1995)', + 'PLZ', + 'zloty polonès (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'escut portuguès', + 'PTE', + 'escut portuguès', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'guaraní', + 'PYG', + 'guaraní', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'rial de Qatar', + 'QAR', + 'rial de Qatar', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'dòlar rhodesià', + 'RHD', + 'dòlar rhodesià', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'antic leu romanès', + 'ROL', + 'antic leu romanès', ], 'RON' => [ - 0 => 'RON', - 1 => 'leu romanès', + 'RON', + 'leu romanès', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'dinar serbi', + 'RSD', + 'dinar serbi', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'ruble', + 'RUB', + 'ruble', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'ruble rus (1991–1998)', + 'RUR', + 'ruble rus (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'franc de Ruanda', + 'RWF', + 'franc de Ruanda', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'rial saudita', + 'SAR', + 'rial saudita', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'dòlar de les illes Salomó', + 'SBD', + 'dòlar de les illes Salomó', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'rupia de les Seychelles', + 'SCR', + 'rupia de les Seychelles', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'dinar sudanès', + 'SDD', + 'dinar sudanès', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'lliura sudanesa', + 'SDG', + 'lliura sudanesa', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'antiga lliura sudanesa', + 'SDP', + 'antiga lliura sudanesa', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'corona sueca', + 'SEK', + 'corona sueca', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'dòlar de Singapur', + 'SGD', + 'dòlar de Singapur', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'lliura de Santa Helena', + 'SHP', + 'lliura de Santa Helena', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'tolar eslovè', + 'SIT', + 'tolar eslovè', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'corona eslovaca', + 'SKK', + 'corona eslovaca', + ], + 'SLE' => [ + 'SLE', + 'leone de Sierra Leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'leone de Sierra Leone', + 'SLL', + 'leone de Sierra Leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'xíling somali', + 'SOS', + 'xíling somali', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'dòlar de Surinam', + 'SRD', + 'dòlar de Surinam', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'florí de Surinam', + 'SRG', + 'florí de Surinam', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'lliura del Sudan del Sud', + 'SSP', + 'lliura del Sudan del Sud', ], 'STD' => [ - 0 => 'STD', - 1 => 'dobra de São Tomé i Príncipe (1977–2017)', + 'STD', + 'dobra de São Tomé i Príncipe (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'dobra de São Tomé i Príncipe', + 'STN', + 'dobra de São Tomé i Príncipe', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'ruble soviètic', + 'SUR', + 'ruble soviètic', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'colon salvadorenc', + 'SVC', + 'colon salvadorenc', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'lliura siriana', + 'SYP', + 'lliura siriana', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'lilangeni swazi', + 'SZL', + 'lilangeni swazi', ], 'THB' => [ - 0 => '฿', - 1 => 'baht', + '฿', + 'baht', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'ruble tadjik', + 'TJR', + 'ruble tadjik', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'somoni tadjik', + 'TJS', + 'somoni tadjik', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'manat turcman (1993–2009)', + 'TMM', + 'manat turcman (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'manat turcman', + 'TMT', + 'manat turcman', ], 'TND' => [ - 0 => 'TND', - 1 => 'dinar tunisià', + 'TND', + 'dinar tunisià', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'pa‘anga tongà', + 'TOP', + 'pa‘anga tongà', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'escut de Timor', + 'TPE', + 'escut de Timor', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'lira turca (1922–2005)', + 'TRL', + 'lira turca (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'lira turca', + 'TRY', + 'lira turca', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'dòlar de Trinitat i Tobago', + 'TTD', + 'dòlar de Trinitat i Tobago', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'nou dòlar de Taiwan', + 'NT$', + 'nou dòlar de Taiwan', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'xíling tanzà', + 'TZS', + 'xíling tanzà', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'hrívnia', + 'UAH', + 'hrívnia', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'karbóvanets ucraïnès', + 'UAK', + 'karbóvanets ucraïnès', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'xíling ugandès (1966–1987)', + 'UGS', + 'xíling ugandès (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'xíling ugandès', + 'UGX', + 'xíling ugandès', ], 'USD' => [ - 0 => 'USD', - 1 => 'dòlar dels Estats Units', + 'USD', + 'dòlar dels Estats Units', ], 'USN' => [ - 0 => 'USN', - 1 => 'dòlar dels Estats Units (dia següent)', + 'USN', + 'dòlar dels Estats Units (dia següent)', ], 'USS' => [ - 0 => 'USS', - 1 => 'dòlar dels Estats Units (mateix dia)', + 'USS', + 'dòlar dels Estats Units (mateix dia)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'peso uruguaià en unitats indexades', + 'UYI', + 'peso uruguaià en unitats indexades', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'peso uruguaià (1975–1993)', + 'UYP', + 'peso uruguaià (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'peso uruguaià', + 'UYU', + 'peso uruguaià', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'som uzbek', + 'UZS', + 'som uzbek', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'bolívar veneçolà (1871–2008)', + 'VEB', + 'bolívar veneçolà (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'bolívar veneçolà (2008–2018)', + 'VEF', + 'bolívar veneçolà (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'bolívar veneçolà', + 'VES', + 'bolívar veneçolà', ], 'VND' => [ - 0 => '₫', - 1 => 'dong vietnamita', + '₫', + 'dong vietnamita', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'dong vietnamita (1978–1985)', + 'VNN', + 'dong vietnamita (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vatu de Vanuatu', + 'VUV', + 'vatu de Vanuatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'tala samoà', + 'WST', + 'tala samoà', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'franc CFA BEAC', + 'FCFA', + 'franc CFA BEAC', ], 'XCD' => [ - 0 => 'XCD', - 1 => 'dòlar del Carib Oriental', + 'XCD', + 'dòlar del Carib Oriental', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'unitat de moneda europea', + 'XEU', + 'unitat de moneda europea', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'franc or francès', + 'XFO', + 'franc or francès', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'franc UIC francès', + 'XFU', + 'franc UIC francès', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'franc CFA BCEAO', + 'F CFA', + 'franc CFA BCEAO', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'franc CFP', + 'CFPF', + 'franc CFP', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'fons RINET', + 'XRE', + 'fons RINET', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'dinar iemenita', + 'YDD', + 'dinar iemenita', ], 'YER' => [ - 0 => 'YER', - 1 => 'rial iemenita', + 'YER', + 'rial iemenita', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'dinar fort iugoslau', + 'YUD', + 'dinar fort iugoslau', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'nou dinar iugoslau', + 'YUM', + 'nou dinar iugoslau', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'dinar convertible iugoslau', + 'YUN', + 'dinar convertible iugoslau', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'dinar iugoslau reformat (1992–1993)', + 'YUR', + 'dinar iugoslau reformat (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'rand sud-africà (financer)', + 'ZAL', + 'rand sud-africà (financer)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'rand sud-africà', + 'ZAR', + 'rand sud-africà', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'kwacha zambià (1968–2012)', + 'ZMK', + 'kwacha zambià (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'kwacha zambià', + 'ZMW', + 'kwacha zambià', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'nou zaire zairès', + 'ZRN', + 'nou zaire zairès', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'zaire zairès', + 'ZRZ', + 'zaire zairès', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'dòlar zimbabuès (1980–2008)', + 'ZWD', + 'dòlar zimbabuès (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'dòlar zimbabuès (2009)', + 'ZWL', + 'dòlar zimbabuès (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'dòlar zimbabuès (2008)', + 'ZWR', + 'dòlar zimbabuès (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ca_FR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ca_FR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ca_FR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ca_FR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'FRF' => [ - 0 => 'F', - 1 => 'franc francès', + 'F', + 'franc francès', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ce.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ce.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ce.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ce.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,636 +3,640 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'Дирхам ӀЦЭ', + 'AED', + 'Дирхам ӀЦЭ', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'ОвхӀан-пачхьалкхан афгани', + 'AFN', + 'ОвхӀан-пачхьалкхан афгани', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Албанин лек', + 'ALL', + 'Албанин лек', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Эрмалойчоьнан драм', + 'AMD', + 'Эрмалойчоьнан драм', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Нидерландин Антилин гульден', + 'ANG', + 'Нидерландин Антилин гульден', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Анголан кванза', + 'AOA', + 'Анголан кванза', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Аргентинан песо', + 'ARS', + 'Аргентинан песо', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Австралин доллар', + 'A$', + 'Австралин доллар', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Арубан флорин', + 'AWG', + 'Арубан флорин', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Азербайджанан манат', + 'AZN', + 'Азербайджанан манат', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Боснин а, Герцеговинан а хийцалун марка', + 'BAM', + 'Боснин а, Герцеговинан а хийцалун марка', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Барбадосан доллар', + 'BBD', + 'Барбадосан доллар', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Бангладешан така', + 'BDT', + 'Бангладешан така', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Болгарин лев', + 'BGN', + 'Болгарин лев', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Бахрейнан динар', + 'BHD', + 'Бахрейнан динар', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Бурундин франк', + 'BIF', + 'Бурундин франк', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Бермудан доллар', + 'BMD', + 'Бермудан доллар', ], 'BND' => [ - 0 => 'BND', - 1 => 'Брунейн доллар', + 'BND', + 'Брунейн доллар', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Боливин боливиано', + 'BOB', + 'Боливин боливиано', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Бразилин реал', + 'R$', + 'Бразилин реал', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Багаман доллар', + 'BSD', + 'Багаман доллар', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Бутанан нгултрум', + 'BTN', + 'Бутанан нгултрум', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Ботсванан пула', + 'BWP', + 'Ботсванан пула', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Белоруссин сом', + 'BYN', + 'Белоруссин сом', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Белоруссин сом (2000–2016)', + 'BYR', + 'Белоруссин сом (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Белизин доллар', + 'BZD', + 'Белизин доллар', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Канадан доллар', + 'CA$', + 'Канадан доллар', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Конголезин франк', + 'CDF', + 'Конголезин франк', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Швейцарин франк', + 'CHF', + 'Швейцарин франк', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Чилин песо', + 'CLP', + 'Чилин песо', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Китайн юань', + 'CN¥', + 'Китайн юань', ], 'COP' => [ - 0 => 'COP', - 1 => 'Колумбин песо', + 'COP', + 'Колумбин песо', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Костарикан колон', + 'CRC', + 'Костарикан колон', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Кубан хийцалун песо', + 'CUC', + 'Кубан хийцалун песо', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Кубан песо', + 'CUP', + 'Кубан песо', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Кабо-Верден эскудо', + 'CVE', + 'Кабо-Верден эскудо', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Чехин крона', + 'CZK', + 'Чехин крона', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Джибутин франк', + 'DJF', + 'Джибутин франк', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Данин крона', + 'DKK', + 'Данин крона', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Доминикан песо', + 'DOP', + 'Доминикан песо', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Алжиран динар', + 'DZD', + 'Алжиран динар', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Мисаран фунт', + 'EGP', + 'Мисаран фунт', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Эритрейн накфа', + 'ERN', + 'Эритрейн накфа', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Эфиопин быр', + 'ETB', + 'Эфиопин быр', ], 'EUR' => [ - 0 => '€', - 1 => 'Евро', + '€', + 'Евро', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Фиджин доллар', + 'FJD', + 'Фиджин доллар', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Фолклендан гӀайренийн фунт', + 'FKP', + 'Фолклендан гӀайренийн фунт', ], 'GBP' => [ - 0 => '£', - 1 => 'Англин фунт', + '£', + 'Англин фунт', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Гуьржийчоьнан лари', + 'GEL', + 'Гуьржийчоьнан лари', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Ганан седи', + 'GHS', + 'Ганан седи', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Гибралтаран фунт', + 'GIP', + 'Гибралтаран фунт', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Гамбин даласи', + 'GMD', + 'Гамбин даласи', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Гвинейн франк', + 'GNF', + 'Гвинейн франк', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Гватемалан кетсаль', + 'GTQ', + 'Гватемалан кетсаль', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Гайанан доллар', + 'GYD', + 'Гайанан доллар', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Гонконган доллар', + 'HK$', + 'Гонконган доллар', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Гондурасан лемпира', + 'HNL', + 'Гондурасан лемпира', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Хорватин куна', + 'HRK', + 'Хорватин куна', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Гаитин гурд', + 'HTG', + 'Гаитин гурд', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Венгрин форинт', + 'HUF', + 'Венгрин форинт', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Индонезин рупи', + 'IDR', + 'Индонезин рупи', ], 'ILS' => [ - 0 => '₪', - 1 => 'Израилан керла шекель', + '₪', + 'Израилан керла шекель', ], 'INR' => [ - 0 => '₹', - 1 => 'Индин рупи', + '₹', + 'Индин рупи', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Ӏиракъан динар', + 'IQD', + 'Ӏиракъан динар', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'ГӀажарийчоьнан риал', + 'IRR', + 'ГӀажарийчоьнан риал', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Исландин крона', + 'ISK', + 'Исландин крона', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Ямайн доллар', + 'JMD', + 'Ямайн доллар', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Урданан динар', + 'JOD', + 'Урданан динар', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Японин иена', + 'JP¥', + 'Японин иена', ], 'KES' => [ - 0 => 'KES', - 1 => 'Кенин шиллинг', + 'KES', + 'Кенин шиллинг', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Киргизин сом', + 'KGS', + 'Киргизин сом', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Камбоджан риель', + 'KHR', + 'Камбоджан риель', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Коморийн гӀайренийн франк', + 'KMF', + 'Коморийн гӀайренийн франк', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Къилбаседа Корейн вона', + 'KPW', + 'Къилбаседа Корейн вона', ], 'KRW' => [ - 0 => '₩', - 1 => 'Къилба Корейн вона', + '₩', + 'Къилба Корейн вона', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Кувейтан динар', + 'KWD', + 'Кувейтан динар', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Кайманийн гӀайренийн доллар', + 'KYD', + 'Кайманийн гӀайренийн доллар', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Кхазакхстанан тенге', + 'KZT', + 'Кхазакхстанан тенге', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Лаосан кип', + 'LAK', + 'Лаосан кип', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Ливанан фунт', + 'LBP', + 'Ливанан фунт', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Шри-Ланкан рупи', + 'LKR', + 'Шри-Ланкан рупи', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Либерин доллар', + 'LRD', + 'Либерин доллар', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Ливин динар', + 'LYD', + 'Ливин динар', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Мароккон дирхам', + 'MAD', + 'Мароккон дирхам', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Молдавин лей', + 'MDL', + 'Молдавин лей', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Малагасийн ариари', + 'MGA', + 'Малагасийн ариари', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Македонин динар', + 'MKD', + 'Македонин динар', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Мьянман кьят', + 'MMK', + 'Мьянман кьят', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Монголин тугрик', + 'MNT', + 'Монголин тугрик', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Макаон патака', + 'MOP', + 'Макаон патака', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Мавританин уги (1973–2017)', + 'MRO', + 'Мавританин уги (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Мавританин уги', + 'MRU', + 'Мавританин уги', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Маврикин рупи', + 'MUR', + 'Маврикин рупи', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Мальдивийн руфи', + 'MVR', + 'Мальдивийн руфи', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Малавин квача', + 'MWK', + 'Малавин квача', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Мексикан песо', + 'MX$', + 'Мексикан песо', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Малайзин ринггит', + 'MYR', + 'Малайзин ринггит', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Мозамбикан метикал', + 'MZN', + 'Мозамбикан метикал', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Намибин доллар', + 'NAD', + 'Намибин доллар', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Нигерин найра', + 'NGN', + 'Нигерин найра', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Никарагуан кордоба', + 'NIO', + 'Никарагуан кордоба', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Норвегин крона', + 'NOK', + 'Норвегин крона', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Непалан рупи', + 'NPR', + 'Непалан рупи', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Керла Зеландин доллар', + 'NZ$', + 'Керла Зеландин доллар', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Оманан риал', + 'OMR', + 'Оманан риал', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Панаман бальбоа', + 'PAB', + 'Панаман бальбоа', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Перун соль', + 'PEN', + 'Перун соль', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Папуа — Керла Гвинейн кина', + 'PGK', + 'Папуа — Керла Гвинейн кина', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Филиппинийн песо', + 'PHP', + 'Филиппинийн песо', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Пакистанан рупи', + 'PKR', + 'Пакистанан рупи', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Польшан злотый', + 'PLN', + 'Польшан злотый', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Парагвайн гуарани', + 'PYG', + 'Парагвайн гуарани', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Катаран риал', + 'QAR', + 'Катаран риал', ], 'RON' => [ - 0 => 'RON', - 1 => 'Румынин лей', + 'RON', + 'Румынин лей', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Сербин динар', + 'RSD', + 'Сербин динар', ], 'RUB' => [ - 0 => '₽', - 1 => 'Российн сом', + '₽', + 'Российн сом', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Руандан франк', + 'RWF', + 'Руандан франк', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'СаӀудийн Ӏаьрбийчоьнан риал', + 'SAR', + 'СаӀудийн Ӏаьрбийчоьнан риал', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Соломонан гӀайренийн доллар', + 'SBD', + 'Соломонан гӀайренийн доллар', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Сейшелан рупи', + 'SCR', + 'Сейшелан рупи', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Суданан фунт', + 'SDG', + 'Суданан фунт', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Швецин крона', + 'SEK', + 'Швецин крона', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Сингапуран доллар', + 'SGD', + 'Сингапуран доллар', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Сийлахьчу Еленин гӀайрен фунт', + 'SHP', + 'Сийлахьчу Еленин гӀайрен фунт', + ], + 'SLE' => [ + 'SLE', + 'Леоне', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Леоне', + 'SLL', + 'Леоне (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Сомалин шиллинг', + 'SOS', + 'Сомалин шиллинг', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Суринаман доллар', + 'SRD', + 'Суринаман доллар', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Къилба Суданан фунт', + 'SSP', + 'Къилба Суданан фунт', ], 'STD' => [ - 0 => 'STD', - 1 => 'Сан-Томен а, Принсипин а добра (1977–2017)', + 'STD', + 'Сан-Томен а, Принсипин а добра (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Сан-Томен а, Принсипин а добра', + 'STN', + 'Сан-Томен а, Принсипин а добра', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Шеман фунт', + 'SYP', + 'Шеман фунт', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Свазилендан лилангени', + 'SZL', + 'Свазилендан лилангени', ], 'THB' => [ - 0 => 'THB', - 1 => 'Таиландан бат', + 'THB', + 'Таиландан бат', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Таджикистанан сомони', + 'TJS', + 'Таджикистанан сомони', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Туркменин керла манат', + 'TMT', + 'Туркменин керла манат', ], 'TND' => [ - 0 => 'TND', - 1 => 'Тунисан динар', + 'TND', + 'Тунисан динар', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Тонганан паанга', + 'TOP', + 'Тонганан паанга', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Туркойчоьнан лира', + 'TRY', + 'Туркойчоьнан лира', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Тринидадан а, Тобагон а доллар', + 'TTD', + 'Тринидадан а, Тобагон а доллар', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Тайванан керла доллар', + 'NT$', + 'Тайванан керла доллар', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Танзанин шиллинг', + 'TZS', + 'Танзанин шиллинг', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Украинан гривна', + 'UAH', + 'Украинан гривна', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Угандан шиллинг', + 'UGX', + 'Угандан шиллинг', ], 'USD' => [ - 0 => 'US$', - 1 => 'АЦШн доллар', + 'US$', + 'АЦШн доллар', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Уругвайн песо', + 'UYU', + 'Уругвайн песо', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Узбекистанан сом', + 'UZS', + 'Узбекистанан сом', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Венесуэлан боливар (2008–2018)', + 'VEF', + 'Венесуэлан боливар (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Венесуэлан боливар', + 'VES', + 'Венесуэлан боливар', ], 'VND' => [ - 0 => '₫', - 1 => 'Вьетнаман донг', + '₫', + 'Вьетнаман донг', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Вануатун вату', + 'VUV', + 'Вануатун вату', ], 'WST' => [ - 0 => 'WST', - 1 => 'Самоанан тала', + 'WST', + 'Самоанан тала', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Юккъерчу Африкан КФА франк', + 'FCFA', + 'Юккъерчу Африкан КФА франк', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Малхбален Карибийн доллар', + 'EC$', + 'Малхбален Карибийн доллар', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Малхбузен Африкан КФА франк', + 'F CFA', + 'Малхбузен Африкан КФА франк', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'Французийн Тийна океанан франк', + 'CFPF', + 'Французийн Тийна океанан франк', ], 'YER' => [ - 0 => 'YER', - 1 => 'Йеменан риал', + 'YER', + 'Йеменан риал', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Къилба-Африкин рэнд', + 'ZAR', + 'Къилба-Африкин рэнд', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Замбин квача', + 'ZMW', + 'Замбин квача', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cs.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cs.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cs.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cs.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1160 +3,1164 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'andorrská peseta', + 'ADP', + 'andorrská peseta', ], 'AED' => [ - 0 => 'AED', - 1 => 'SAE dirham', + 'AED', + 'SAE dirham', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'afghánský afghán (1927–2002)', + 'AFA', + 'afghánský afghán (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afghánský afghán', + 'AFN', + 'afghánský afghán', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'albánský lek (1946–1965)', + 'ALK', + 'albánský lek (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'albánský lek', + 'ALL', + 'albánský lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'arménský dram', + 'AMD', + 'arménský dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'nizozemskoantilský gulden', + 'ANG', + 'nizozemskoantilský gulden', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'angolská kwanza', + 'AOA', + 'angolská kwanza', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'angolská kwanza (1977–1991)', + 'AOK', + 'angolská kwanza (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'angolská kwanza (1990–2000)', + 'AON', + 'angolská kwanza (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'angolská kwanza (1995–1999)', + 'AOR', + 'angolská kwanza (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'argentinský austral', + 'ARA', + 'argentinský austral', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'argentinské peso ley (1970–1983)', + 'ARL', + 'argentinské peso ley (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'argentinské peso (1881–1970)', + 'ARM', + 'argentinské peso (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'argentinské peso (1983–1985)', + 'ARP', + 'argentinské peso (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'argentinské peso', + 'ARS', + 'argentinské peso', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'rakouský šilink', + 'ATS', + 'rakouský šilink', ], 'AUD' => [ - 0 => 'AU$', - 1 => 'australský dolar', + 'AU$', + 'australský dolar', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'arubský zlatý', + 'AWG', + 'arubský zlatý', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'ázerbájdžánský manat (1993–2006)', + 'AZM', + 'ázerbájdžánský manat (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'ázerbájdžánský manat', + 'AZN', + 'ázerbájdžánský manat', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'bosenský dinár (1992–1994)', + 'BAD', + 'bosenský dinár (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'bosenská konvertibilní marka', + 'BAM', + 'bosenská konvertibilní marka', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'bosenský nový dinár (1994–1997)', + 'BAN', + 'bosenský nový dinár (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'barbadoský dolar', + 'BBD', + 'barbadoský dolar', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'bangladéšská taka', + 'BDT', + 'bangladéšská taka', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'belgický konvertibilní frank', + 'BEC', + 'belgický konvertibilní frank', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'belgický frank', + 'BEF', + 'belgický frank', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'belgický finanční frank', + 'BEL', + 'belgický finanční frank', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'bulharský tvrdý leva', + 'BGL', + 'bulharský tvrdý leva', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'bulharský socialistický leva', + 'BGM', + 'bulharský socialistický leva', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'bulharský leva', + 'BGN', + 'bulharský leva', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'bulharský lev (1879–1952)', + 'BGO', + 'bulharský lev (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'bahrajnský dinár', + 'BHD', + 'bahrajnský dinár', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'burundský frank', + 'BIF', + 'burundský frank', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'bermudský dolar', + 'BMD', + 'bermudský dolar', ], 'BND' => [ - 0 => 'BND', - 1 => 'brunejský dolar', + 'BND', + 'brunejský dolar', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'bolivijský boliviano', + 'BOB', + 'bolivijský boliviano', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'bolivijský boliviano (1863–1963)', + 'BOL', + 'bolivijský boliviano (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'bolivijské peso', + 'BOP', + 'bolivijské peso', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'bolivijský mvdol', + 'BOV', + 'bolivijský mvdol', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'brazilské nové cruzeiro (1967–1986)', + 'BRB', + 'brazilské nové cruzeiro (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'brazilské cruzado (1986–1989)', + 'BRC', + 'brazilské cruzado (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'brazilské cruzeiro (1990–1993)', + 'BRE', + 'brazilské cruzeiro (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'brazilský real', + 'R$', + 'brazilský real', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'brazilské nové cruzado (1989–1990)', + 'BRN', + 'brazilské nové cruzado (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'brazilské cruzeiro (1993–1994)', + 'BRR', + 'brazilské cruzeiro (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'brazilské cruzeiro (1942–1967)', + 'BRZ', + 'brazilské cruzeiro (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'bahamský dolar', + 'BSD', + 'bahamský dolar', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'bhútánský ngultrum', + 'BTN', + 'bhútánský ngultrum', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'barmský kyat', + 'BUK', + 'barmský kyat', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'botswanská pula', + 'BWP', + 'botswanská pula', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'běloruský rubl (1994–1999)', + 'BYB', + 'běloruský rubl (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'běloruský rubl', + 'BYN', + 'běloruský rubl', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'běloruský rubl (2000–2016)', + 'BYR', + 'běloruský rubl (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'belizský dolar', + 'BZD', + 'belizský dolar', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'kanadský dolar', + 'CA$', + 'kanadský dolar', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'konžský frank', + 'CDF', + 'konžský frank', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'švýcarské WIR-euro', + 'CHE', + 'švýcarské WIR-euro', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'švýcarský frank', + 'CHF', + 'švýcarský frank', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'švýcarský WIR-frank', + 'CHW', + 'švýcarský WIR-frank', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'chilské escudo', + 'CLE', + 'chilské escudo', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'chilská účetní jednotka (UF)', + 'CLF', + 'chilská účetní jednotka (UF)', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'chilské peso', + 'CLP', + 'chilské peso', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'čínský jüan (offshore)', + 'CNH', + 'čínský jüan (offshore)', ], 'CNX' => [ - 0 => 'CNX', - 1 => 'čínský dolar ČLB', + 'CNX', + 'čínský dolar ČLB', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'čínský jüan', + 'CN¥', + 'čínský jüan', ], 'COP' => [ - 0 => 'COP', - 1 => 'kolumbijské peso', + 'COP', + 'kolumbijské peso', ], 'COU' => [ - 0 => 'COU', - 1 => 'kolumbijská jednotka reálné hodnoty', + 'COU', + 'kolumbijská jednotka reálné hodnoty', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'kostarický colón', + 'CRC', + 'kostarický colón', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'srbský dinár (2002–2006)', + 'CSD', + 'srbský dinár (2002–2006)', ], 'CSK' => [ - 0 => 'Kčs', - 1 => 'československá koruna', + 'Kčs', + 'československá koruna', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'kubánské konvertibilní peso', + 'CUC', + 'kubánské konvertibilní peso', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'kubánské peso', + 'CUP', + 'kubánské peso', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'kapverdské escudo', + 'CVE', + 'kapverdské escudo', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'kyperská libra', + 'CYP', + 'kyperská libra', ], 'CZK' => [ - 0 => 'Kč', - 1 => 'česká koruna', + 'Kč', + 'česká koruna', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'východoněmecká marka', + 'DDM', + 'východoněmecká marka', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'německá marka', + 'DEM', + 'německá marka', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'džibutský frank', + 'DJF', + 'džibutský frank', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'dánská koruna', + 'DKK', + 'dánská koruna', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'dominikánské peso', + 'DOP', + 'dominikánské peso', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'alžírský dinár', + 'DZD', + 'alžírský dinár', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'ekvádorský sucre', + 'ECS', + 'ekvádorský sucre', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'ekvádorská jednotka konstantní hodnoty', + 'ECV', + 'ekvádorská jednotka konstantní hodnoty', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'estonská koruna', + 'EEK', + 'estonská koruna', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'egyptská libra', + 'EGP', + 'egyptská libra', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'eritrejská nakfa', + 'ERN', + 'eritrejská nakfa', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'španělská peseta („A“ účet)', + 'ESA', + 'španělská peseta („A“ účet)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'španělská peseta (konvertibilní účet)', + 'ESB', + 'španělská peseta (konvertibilní účet)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'španělská peseta', + 'ESP', + 'španělská peseta', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'etiopský birr', + 'ETB', + 'etiopský birr', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'finská marka', + 'FIM', + 'finská marka', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'fidžijský dolar', + 'FJD', + 'fidžijský dolar', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'falklandská libra', + 'FKP', + 'falklandská libra', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'francouzský frank', + 'FRF', + 'francouzský frank', ], 'GBP' => [ - 0 => '£', - 1 => 'britská libra', + '£', + 'britská libra', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'gruzínské kuponové lari', + 'GEK', + 'gruzínské kuponové lari', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'gruzínské lari', + 'GEL', + 'gruzínské lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'ghanský cedi (1979–2007)', + 'GHC', + 'ghanský cedi (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'ghanský cedi', + 'GHS', + 'ghanský cedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'gibraltarská libra', + 'GIP', + 'gibraltarská libra', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'gambijský dalasi', + 'GMD', + 'gambijský dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'guinejský frank', + 'GNF', + 'guinejský frank', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'guinejský syli', + 'GNS', + 'guinejský syli', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'rovníkovoguinejský ekwele', + 'GQE', + 'rovníkovoguinejský ekwele', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'řecká drachma', + 'GRD', + 'řecká drachma', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'guatemalský quetzal', + 'GTQ', + 'guatemalský quetzal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'portugalskoguinejské escudo', + 'GWE', + 'portugalskoguinejské escudo', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'guinejsko-bissauské peso', + 'GWP', + 'guinejsko-bissauské peso', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'guyanský dolar', + 'GYD', + 'guyanský dolar', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'hongkongský dolar', + 'HK$', + 'hongkongský dolar', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'honduraská lempira', + 'HNL', + 'honduraská lempira', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'chorvatský dinár', + 'HRD', + 'chorvatský dinár', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'chorvatská kuna', + 'HRK', + 'chorvatská kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'haitský gourde', + 'HTG', + 'haitský gourde', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'maďarský forint', + 'HUF', + 'maďarský forint', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'indonéská rupie', + 'IDR', + 'indonéská rupie', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'irská libra', + 'IEP', + 'irská libra', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'izraelská libra', + 'ILP', + 'izraelská libra', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'izraelský šekel (1980–1985)', + 'ILR', + 'izraelský šekel (1980–1985)', ], 'ILS' => [ - 0 => 'ILS', - 1 => 'izraelský nový šekel', + 'ILS', + 'izraelský nový šekel', ], 'INR' => [ - 0 => 'INR', - 1 => 'indická rupie', + 'INR', + 'indická rupie', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'irácký dinár', + 'IQD', + 'irácký dinár', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'íránský rijál', + 'IRR', + 'íránský rijál', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'islandská koruna (1918–1981)', + 'ISJ', + 'islandská koruna (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'islandská koruna', + 'ISK', + 'islandská koruna', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'italská lira', + 'ITL', + 'italská lira', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'jamajský dolar', + 'JMD', + 'jamajský dolar', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'jordánský dinár', + 'JOD', + 'jordánský dinár', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'japonský jen', + 'JP¥', + 'japonský jen', ], 'KES' => [ - 0 => 'KES', - 1 => 'keňský šilink', + 'KES', + 'keňský šilink', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'kyrgyzský som', + 'KGS', + 'kyrgyzský som', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'kambodžský riel', + 'KHR', + 'kambodžský riel', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'komorský frank', + 'KMF', + 'komorský frank', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'severokorejský won', + 'KPW', + 'severokorejský won', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'jihokorejský hwan (1953–1962)', + 'KRH', + 'jihokorejský hwan (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'jihokorejský won (1945–1953)', + 'KRO', + 'jihokorejský won (1945–1953)', ], 'KRW' => [ - 0 => '₩', - 1 => 'jihokorejský won', + '₩', + 'jihokorejský won', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'kuvajtský dinár', + 'KWD', + 'kuvajtský dinár', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'kajmanský dolar', + 'KYD', + 'kajmanský dolar', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'kazašské tenge', + 'KZT', + 'kazašské tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'laoský kip', + 'LAK', + 'laoský kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'libanonská libra', + 'LBP', + 'libanonská libra', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'srílanská rupie', + 'LKR', + 'srílanská rupie', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'liberijský dolar', + 'LRD', + 'liberijský dolar', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'lesothský loti', + 'LSL', + 'lesothský loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'litevský litas', + 'LTL', + 'litevský litas', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'litevský talonas', + 'LTT', + 'litevský talonas', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'lucemburský konvertibilní frank', + 'LUC', + 'lucemburský konvertibilní frank', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'lucemburský frank', + 'LUF', + 'lucemburský frank', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'lucemburský finanční frank', + 'LUL', + 'lucemburský finanční frank', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'lotyšský lat', + 'LVL', + 'lotyšský lat', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'lotyšský rubl', + 'LVR', + 'lotyšský rubl', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'libyjský dinár', + 'LYD', + 'libyjský dinár', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'marocký dinár', + 'MAD', + 'marocký dinár', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'marocký frank', + 'MAF', + 'marocký frank', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'monacký frank', + 'MCF', + 'monacký frank', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'moldavský kupon', + 'MDC', + 'moldavský kupon', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'moldavský leu', + 'MDL', + 'moldavský leu', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'madagaskarský ariary', + 'MGA', + 'madagaskarský ariary', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'madagaskarský frank', + 'MGF', + 'madagaskarský frank', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'makedonský denár', + 'MKD', + 'makedonský denár', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'makedonský denár (1992–1993)', + 'MKN', + 'makedonský denár (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'malijský frank', + 'MLF', + 'malijský frank', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'myanmarský kyat', + 'MMK', + 'myanmarský kyat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'mongolský tugrik', + 'MNT', + 'mongolský tugrik', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'macajská pataca', + 'MOP', + 'macajská pataca', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'mauritánská ouguiya (1973–2017)', + 'MRO', + 'mauritánská ouguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'mauritánská ouguiya', + 'MRU', + 'mauritánská ouguiya', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'maltská lira', + 'MTL', + 'maltská lira', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'maltská libra', + 'MTP', + 'maltská libra', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'mauricijská rupie', + 'MUR', + 'mauricijská rupie', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'maledivská rupie (1947–1981)', + 'MVP', + 'maledivská rupie (1947–1981)', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'maledivská rupie', + 'MVR', + 'maledivská rupie', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'malawijská kwacha', + 'MWK', + 'malawijská kwacha', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'mexické peso', + 'MX$', + 'mexické peso', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'mexické stříbrné peso (1861–1992)', + 'MXP', + 'mexické stříbrné peso (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'mexická investiční jednotka', + 'MXV', + 'mexická investiční jednotka', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'malajsijský ringgit', + 'MYR', + 'malajsijský ringgit', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'mosambický escudo', + 'MZE', + 'mosambický escudo', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'mosambický metical (1980–2006)', + 'MZM', + 'mosambický metical (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'mozambický metical', + 'MZN', + 'mozambický metical', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'namibijský dolar', + 'NAD', + 'namibijský dolar', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'nigerijská naira', + 'NGN', + 'nigerijská naira', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'nikaragujská córdoba (1988–1991)', + 'NIC', + 'nikaragujská córdoba (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'nikaragujská córdoba', + 'NIO', + 'nikaragujská córdoba', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'nizozemský gulden', + 'NLG', + 'nizozemský gulden', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'norská koruna', + 'NOK', + 'norská koruna', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'nepálská rupie', + 'NPR', + 'nepálská rupie', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'novozélandský dolar', + 'NZ$', + 'novozélandský dolar', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'ománský rijál', + 'OMR', + 'ománský rijál', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'panamská balboa', + 'PAB', + 'panamská balboa', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'peruánská inti', + 'PEI', + 'peruánská inti', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'peruánský sol', + 'PEN', + 'peruánský sol', ], 'PES' => [ - 0 => 'PES', - 1 => 'peruánský sol (1863–1965)', + 'PES', + 'peruánský sol (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'papuánská nová kina', + 'PGK', + 'papuánská nová kina', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'filipínské peso', + 'PHP', + 'filipínské peso', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'pákistánská rupie', + 'PKR', + 'pákistánská rupie', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'polský zlotý', + 'PLN', + 'polský zlotý', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'polský zlotý (1950–1995)', + 'PLZ', + 'polský zlotý (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'portugalské escudo', + 'PTE', + 'portugalské escudo', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'paraguajské guarani', + 'PYG', + 'paraguajské guarani', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'katarský rijál', + 'QAR', + 'katarský rijál', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'rhodéský dolar', + 'RHD', + 'rhodéský dolar', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'rumunské leu (1952–2006)', + 'ROL', + 'rumunské leu (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'rumunský leu', + 'RON', + 'rumunský leu', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'srbský dinár', + 'RSD', + 'srbský dinár', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'ruský rubl', + 'RUB', + 'ruský rubl', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'ruský rubl (1991–1998)', + 'RUR', + 'ruský rubl (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'rwandský frank', + 'RWF', + 'rwandský frank', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'saúdský rijál', + 'SAR', + 'saúdský rijál', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'šalamounský dolar', + 'SBD', + 'šalamounský dolar', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'seychelská rupie', + 'SCR', + 'seychelská rupie', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'súdánský dinár (1992–2007)', + 'SDD', + 'súdánský dinár (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'súdánská libra', + 'SDG', + 'súdánská libra', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'súdánská libra (1957–1998)', + 'SDP', + 'súdánská libra (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'švédská koruna', + 'SEK', + 'švédská koruna', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'singapurský dolar', + 'SGD', + 'singapurský dolar', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'svatohelenská libra', + 'SHP', + 'svatohelenská libra', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'slovinský tolar', + 'SIT', + 'slovinský tolar', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'slovenská koruna', + 'SKK', + 'slovenská koruna', + ], + 'SLE' => [ + 'SLE', + 'sierraleonský leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'sierro-leonský leone', + 'SLL', + 'sierraleonský leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'somálský šilink', + 'SOS', + 'somálský šilink', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'surinamský dolar', + 'SRD', + 'surinamský dolar', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'surinamský zlatý', + 'SRG', + 'surinamský zlatý', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'jihosúdánská libra', + 'SSP', + 'jihosúdánská libra', ], 'STD' => [ - 0 => 'STD', - 1 => 'svatotomášská dobra (1977–2017)', + 'STD', + 'svatotomášská dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'svatotomášská dobra', + 'STN', + 'svatotomášská dobra', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'sovětský rubl', + 'SUR', + 'sovětský rubl', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'salvadorský colón', + 'SVC', + 'salvadorský colón', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'syrská libra', + 'SYP', + 'syrská libra', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'svazijský lilangeni', + 'SZL', + 'svazijský lilangeni', ], 'THB' => [ - 0 => 'THB', - 1 => 'thajský baht', + 'THB', + 'thajský baht', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'tádžický rubl', + 'TJR', + 'tádžický rubl', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'tádžické somoni', + 'TJS', + 'tádžické somoni', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'turkmenský manat (1993–2009)', + 'TMM', + 'turkmenský manat (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'turkmenský manat', + 'TMT', + 'turkmenský manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'tuniský dinár', + 'TND', + 'tuniský dinár', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'tonžská paanga', + 'TOP', + 'tonžská paanga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'timorské escudo', + 'TPE', + 'timorské escudo', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'turecká lira (1922–2005)', + 'TRL', + 'turecká lira (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'turecká lira', + 'TRY', + 'turecká lira', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'trinidadský dolar', + 'TTD', + 'trinidadský dolar', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'tchajwanský dolar', + 'NT$', + 'tchajwanský dolar', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'tanzanský šilink', + 'TZS', + 'tanzanský šilink', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'ukrajinská hřivna', + 'UAH', + 'ukrajinská hřivna', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'ukrajinský karbovanec', + 'UAK', + 'ukrajinský karbovanec', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'ugandský šilink (1966–1987)', + 'UGS', + 'ugandský šilink (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'ugandský šilink', + 'UGX', + 'ugandský šilink', ], 'USD' => [ - 0 => 'US$', - 1 => 'americký dolar', + 'US$', + 'americký dolar', ], 'USN' => [ - 0 => 'USN', - 1 => 'americký dolar (příští den)', + 'USN', + 'americký dolar (příští den)', ], 'USS' => [ - 0 => 'USS', - 1 => 'americký dolar (týž den)', + 'USS', + 'americký dolar (týž den)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'uruguayské peso (v indexovaných jednotkách)', + 'UYI', + 'uruguayské peso (v indexovaných jednotkách)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'uruguayské peso (1975–1993)', + 'UYP', + 'uruguayské peso (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'uruguayské peso', + 'UYU', + 'uruguayské peso', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'uzbecký sum', + 'UZS', + 'uzbecký sum', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'venezuelský bolívar (1871–2008)', + 'VEB', + 'venezuelský bolívar (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'venezuelský bolívar (2008–2018)', + 'VEF', + 'venezuelský bolívar (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'venezuelský bolívar', + 'VES', + 'venezuelský bolívar', ], 'VND' => [ - 0 => 'VND', - 1 => 'vietnamský dong', + 'VND', + 'vietnamský dong', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'vietnamský dong (1978–1985)', + 'VNN', + 'vietnamský dong (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vanuatský vatu', + 'VUV', + 'vanuatský vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'samojská tala', + 'WST', + 'samojská tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'CFA/BEAC frank', + 'FCFA', + 'CFA/BEAC frank', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'východokaribský dolar', + 'EC$', + 'východokaribský dolar', ], 'XEU' => [ - 0 => 'ECU', - 1 => 'evropská měnová jednotka', + 'ECU', + 'evropská měnová jednotka', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'francouzský zlatý frank', + 'XFO', + 'francouzský zlatý frank', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'francouzský UIC frank', + 'XFU', + 'francouzský UIC frank', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'CFA/BCEAO frank', + 'F CFA', + 'CFA/BCEAO frank', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP frank', + 'CFPF', + 'CFP frank', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'kód fondů RINET', + 'XRE', + 'kód fondů RINET', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'jemenský dinár', + 'YDD', + 'jemenský dinár', ], 'YER' => [ - 0 => 'YER', - 1 => 'jemenský rijál', + 'YER', + 'jemenský rijál', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'jugoslávský dinár (1966–1990)', + 'YUD', + 'jugoslávský dinár (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'jugoslávský nový dinár (1994–2002)', + 'YUM', + 'jugoslávský nový dinár (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'jugoslávský konvertibilní dinár (1990–1992)', + 'YUN', + 'jugoslávský konvertibilní dinár (1990–1992)', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'jugoslávský reformovaný dinár (1992–1993)', + 'YUR', + 'jugoslávský reformovaný dinár (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'jihoafrický finanční rand', + 'ZAL', + 'jihoafrický finanční rand', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'jihoafrický rand', + 'ZAR', + 'jihoafrický rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'zambijská kwacha (1968–2012)', + 'ZMK', + 'zambijská kwacha (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'zambijská kwacha', + 'ZMW', + 'zambijská kwacha', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'zairský nový zaire (1993–1998)', + 'ZRN', + 'zairský nový zaire (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'zairský zaire (1971–1993)', + 'ZRZ', + 'zairský zaire (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'zimbabwský dolar (1980–2008)', + 'ZWD', + 'zimbabwský dolar (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'zimbabwský dolar (2009)', + 'ZWL', + 'zimbabwský dolar (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'zimbabwský dolar (2008)', + 'ZWR', + 'zimbabwský dolar (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cv.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cv.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cv.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cv.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,628 +3,632 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'АПЭ дирхамӗ', + 'AED', + 'АПЭ дирхамӗ', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'афганийӗ', + 'AFN', + 'афганийӗ', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Албани лекӗ', + 'ALL', + 'Албани лекӗ', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Армяни драмӗ', + 'AMD', + 'Армяни драмӗ', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Нидерланд Антиллиан гульденӗ', + 'ANG', + 'Нидерланд Антиллиан гульденӗ', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Ангола кванзӗ', + 'AOA', + 'Ангола кванзӗ', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Аргентина песийӗ', + 'ARS', + 'Аргентина песийӗ', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Австрали долларӗ', + 'A$', + 'Австрали долларӗ', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Аруба флоринӗ', + 'AWG', + 'Аруба флоринӗ', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Азербайджан маначӗ', + 'AZN', + 'Азербайджан маначӗ', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Боснипе Герцеговина конвертланакан марки', + 'BAM', + 'Боснипе Герцеговина конвертланакан марки', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Барбадос долларӗ', + 'BBD', + 'Барбадос долларӗ', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Бангладеш таки', + 'BDT', + 'Бангладеш таки', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Болгари левӗ', + 'BGN', + 'Болгари левӗ', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Бахрейн динарӗ', + 'BHD', + 'Бахрейн динарӗ', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Бурунди франкӗ', + 'BIF', + 'Бурунди франкӗ', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Бермуд долларӗ', + 'BMD', + 'Бермуд долларӗ', ], 'BND' => [ - 0 => 'BND', - 1 => 'Бруней долларӗ', + 'BND', + 'Бруней долларӗ', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Боливи боливианӗ', + 'BOB', + 'Боливи боливианӗ', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Бразили реалӗ', + 'R$', + 'Бразили реалӗ', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Багам долларӗ', + 'BSD', + 'Багам долларӗ', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Бутан нгултрумӗ', + 'BTN', + 'Бутан нгултрумӗ', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Ботсвана пули', + 'BWP', + 'Ботсвана пули', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Беларуҫ тенкӗ', + 'BYN', + 'Беларуҫ тенкӗ', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Белиз долларӗ', + 'BZD', + 'Белиз долларӗ', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Канада долларӗ', + 'CA$', + 'Канада долларӗ', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Конголези франкӗ', + 'CDF', + 'Конголези франкӗ', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Швейцари франкӗ', + 'CHF', + 'Швейцари франкӗ', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Чили песийӗ', + 'CLP', + 'Чили песийӗ', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Китай офшор юанӗ', + 'CNH', + 'Китай офшор юанӗ', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Китай юанӗ', + 'CN¥', + 'Китай юанӗ', ], 'COP' => [ - 0 => 'COP', - 1 => 'Колумби песийӗ', + 'COP', + 'Колумби песийӗ', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Коста-Рика колонӗ', + 'CRC', + 'Коста-Рика колонӗ', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Куба конвертланакан песийӗ', + 'CUC', + 'Куба конвертланакан песийӗ', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Куба песийӗ', + 'CUP', + 'Куба песийӗ', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Кабо-Верде эскудӗ', + 'CVE', + 'Кабо-Верде эскудӗ', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Чехи кронӗ', + 'CZK', + 'Чехи кронӗ', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Джибути франкӗ', + 'DJF', + 'Джибути франкӗ', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Дани кронӗ', + 'DKK', + 'Дани кронӗ', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Доминикан песийӗ', + 'DOP', + 'Доминикан песийӗ', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Алжир динарӗ', + 'DZD', + 'Алжир динарӗ', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Египет фунчӗ', + 'EGP', + 'Египет фунчӗ', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Эритрей накфӗ', + 'ERN', + 'Эритрей накфӗ', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Эфиопи бырӗ', + 'ETB', + 'Эфиопи бырӗ', ], 'EUR' => [ - 0 => '€', - 1 => 'евро', + '€', + 'евро', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Фиджи долларӗ', + 'FJD', + 'Фиджи долларӗ', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Факланд утравӗсен фунчӗ', + 'FKP', + 'Факланд утравӗсен фунчӗ', ], 'GBP' => [ - 0 => '£', - 1 => 'Британи фунчӗ', + '£', + 'Британи фунчӗ', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Грузи ларийӗ', + 'GEL', + 'Грузи ларийӗ', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Гана седийӗ', + 'GHS', + 'Гана седийӗ', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Гибралтар фунчӗ', + 'GIP', + 'Гибралтар фунчӗ', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Гамби даласийӗ', + 'GMD', + 'Гамби даласийӗ', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Гвиней франкӗ', + 'GNF', + 'Гвиней франкӗ', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Гватемала кетсалӗ', + 'GTQ', + 'Гватемала кетсалӗ', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Гайана долларӗ', + 'GYD', + 'Гайана долларӗ', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Гонконг долларӗ', + 'HK$', + 'Гонконг долларӗ', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Гондурас лемпирӗ', + 'HNL', + 'Гондурас лемпирӗ', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Хорвати куни', + 'HRK', + 'Хорвати куни', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Гаити гурдӗ', + 'HTG', + 'Гаити гурдӗ', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Венгри форинчӗ', + 'HUF', + 'Венгри форинчӗ', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Индонези рупийӗ', + 'IDR', + 'Индонези рупийӗ', ], 'ILS' => [ - 0 => '₪', - 1 => 'Ҫӗнӗ Израиль шекелӗ', + '₪', + 'Ҫӗнӗ Израиль шекелӗ', ], 'INR' => [ - 0 => '₹', - 1 => 'Инди рупийӗ', + '₹', + 'Инди рупийӗ', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Ирак динарӗ', + 'IQD', + 'Ирак динарӗ', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Иран риалӗ', + 'IRR', + 'Иран риалӗ', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Исланди кронӗ', + 'ISK', + 'Исланди кронӗ', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Ямайка долларӗ', + 'JMD', + 'Ямайка долларӗ', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Иордан динарӗ', + 'JOD', + 'Иордан динарӗ', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Япони иени', + 'JP¥', + 'Япони иени', ], 'KES' => [ - 0 => 'KES', - 1 => 'Кени шиллингӗ', + 'KES', + 'Кени шиллингӗ', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Киргиз сомӗ', + 'KGS', + 'Киргиз сомӗ', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Камбоджа риелӗ', + 'KHR', + 'Камбоджа риелӗ', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Комора франкӗ', + 'KMF', + 'Комора франкӗ', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'КХДР вони', + 'KPW', + 'КХДР вони', ], 'KRW' => [ - 0 => '₩', - 1 => 'Корей вони', + '₩', + 'Корей вони', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Кувейт динарӗ', + 'KWD', + 'Кувейт динарӗ', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Кайман утравӗсен долларӗ', + 'KYD', + 'Кайман утравӗсен долларӗ', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Казах тенгейӗ', + 'KZT', + 'Казах тенгейӗ', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Лаос кипӗ', + 'LAK', + 'Лаос кипӗ', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Ливан фунчӗ', + 'LBP', + 'Ливан фунчӗ', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Шри-ланка рупийӗ', + 'LKR', + 'Шри-ланка рупийӗ', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Либери долларӗ', + 'LRD', + 'Либери долларӗ', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Лесото лотийӗ', + 'LSL', + 'Лесото лотийӗ', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Ливи динарӗ', + 'LYD', + 'Ливи динарӗ', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Марокко дирхамӗ', + 'MAD', + 'Марокко дирхамӗ', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Молдова лайӗ', + 'MDL', + 'Молдова лайӗ', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Малагаси ариарийӗ', + 'MGA', + 'Малагаси ариарийӗ', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Македони денарӗ', + 'MKD', + 'Македони денарӗ', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Мьянман кьятӗ', + 'MMK', + 'Мьянман кьятӗ', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Монголи тугрикӗ', + 'MNT', + 'Монголи тугрикӗ', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Макао патаки', + 'MOP', + 'Макао патаки', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Мавритани угийӗ', + 'MRU', + 'Мавритани угийӗ', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Маврики рупийӗ', + 'MUR', + 'Маврики рупийӗ', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Мальдивсен руфийӗ', + 'MVR', + 'Мальдивсен руфийӗ', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Малави квачӗ', + 'MWK', + 'Малави квачӗ', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Мексика песийӗ', + 'MX$', + 'Мексика песийӗ', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Малайзи ринггичӗ', + 'MYR', + 'Малайзи ринггичӗ', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Мозамбик метикалӗ', + 'MZN', + 'Мозамбик метикалӗ', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Намиби долларӗ', + 'NAD', + 'Намиби долларӗ', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Нигери найрӗ', + 'NGN', + 'Нигери найрӗ', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Никарагуа кордобӗ', + 'NIO', + 'Никарагуа кордобӗ', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Норвеги кронӗ', + 'NOK', + 'Норвеги кронӗ', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Непал рупийӗ', + 'NPR', + 'Непал рупийӗ', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Ҫӗнӗ Зеланди долларӗ', + 'NZ$', + 'Ҫӗнӗ Зеланди долларӗ', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Оман риалӗ', + 'OMR', + 'Оман риалӗ', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Панама бальбоа', + 'PAB', + 'Панама бальбоа', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Перу солӗ', + 'PEN', + 'Перу солӗ', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Папуа – Ҫӗнӗ Гвиней кини', + 'PGK', + 'Папуа – Ҫӗнӗ Гвиней кини', ], 'PHP' => [ - 0 => '₱', - 1 => 'Филиппин песийӗ', + '₱', + 'Филиппин песийӗ', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'пакистан рупийӗ', + 'PKR', + 'пакистан рупийӗ', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Польша злотыйӗ', + 'PLN', + 'Польша злотыйӗ', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Парагвай гуаранӗ', + 'PYG', + 'Парагвай гуаранӗ', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Катар риалӗ', + 'QAR', + 'Катар риалӗ', ], 'RON' => [ - 0 => 'RON', - 1 => 'Румыни лейӗ', + 'RON', + 'Румыни лейӗ', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Серби динарӗ', + 'RSD', + 'Серби динарӗ', ], 'RUB' => [ - 0 => '₽', - 1 => 'Раҫҫей тенкӗ', + '₽', + 'Раҫҫей тенкӗ', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Руанда франкӗ', + 'RWF', + 'Руанда франкӗ', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Сауд риялӗ', + 'SAR', + 'Сауд риялӗ', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Соломон утравӗсен долларӗ', + 'SBD', + 'Соломон утравӗсен долларӗ', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Сейшел рупийӗ', + 'SCR', + 'Сейшел рупийӗ', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Судан фунчӗ', + 'SDG', + 'Судан фунчӗ', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Швеци кронӗ', + 'SEK', + 'Швеци кронӗ', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Сингапур долларӗ', + 'SGD', + 'Сингапур долларӗ', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Сӑваплӑ Елена утравӗн фунчӗ', + 'SHP', + 'Сӑваплӑ Елена утравӗн фунчӗ', + ], + 'SLE' => [ + 'SLE', + 'леонӗ', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'леонӗ', + 'SLL', + 'леонӗ (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Сомали шиллингӗ', + 'SOS', + 'Сомали шиллингӗ', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Суринам долларӗ', + 'SRD', + 'Суринам долларӗ', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Кӑнтӑр Судан фунчӗ', + 'SSP', + 'Кӑнтӑр Судан фунчӗ', ], 'STN' => [ - 0 => 'STN', - 1 => 'Сан-Томе тата Принсипи добрӗ', + 'STN', + 'Сан-Томе тата Принсипи добрӗ', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Сири фунчӗ', + 'SYP', + 'Сири фунчӗ', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Свази лилангенийӗ', + 'SZL', + 'Свази лилангенийӗ', ], 'THB' => [ - 0 => 'THB', - 1 => 'Таиланд барӗ', + 'THB', + 'Таиланд барӗ', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Таджик сомонийӗ', + 'TJS', + 'Таджик сомонийӗ', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Туркмен маначӗ', + 'TMT', + 'Туркмен маначӗ', ], 'TND' => [ - 0 => 'TND', - 1 => 'Тунези динарӗ', + 'TND', + 'Тунези динарӗ', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Тонган паанги', + 'TOP', + 'Тонган паанги', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Турци лири', + 'TRY', + 'Турци лири', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Тринидад тата Тобаго долларӗ', + 'TTD', + 'Тринидад тата Тобаго долларӗ', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Ҫӗнӗ Тайван долларӗ', + 'NT$', + 'Ҫӗнӗ Тайван долларӗ', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Танзани шиллингӗ', + 'TZS', + 'Танзани шиллингӗ', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Украина гривни', + 'UAH', + 'Украина гривни', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Уганда шиллингӗ', + 'UGX', + 'Уганда шиллингӗ', ], 'USD' => [ - 0 => '$', - 1 => 'АПШ долларӗ', + '$', + 'АПШ долларӗ', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Уругвай песийӗ', + 'UYU', + 'Уругвай песийӗ', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Узбек сумӗ', + 'UZS', + 'Узбек сумӗ', ], 'VES' => [ - 0 => 'VES', - 1 => 'Венесуэла боливарӗ', + 'VES', + 'Венесуэла боливарӗ', ], 'VND' => [ - 0 => '₫', - 1 => 'Вьетнам донгӗ', + '₫', + 'Вьетнам донгӗ', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Вануату ватуйӗ', + 'VUV', + 'Вануату ватуйӗ', ], 'WST' => [ - 0 => 'WST', - 1 => 'Самоа тали', + 'WST', + 'Самоа тали', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Тӗп Африка КФА франкӗ', + 'FCFA', + 'Тӗп Африка КФА франкӗ', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Хӗвелтухӑҫ Карибсем долларӗ', + 'EC$', + 'Хӗвелтухӑҫ Карибсем долларӗ', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'КФА ВСЕАО франкӗ', + 'F CFA', + 'КФА ВСЕАО франкӗ', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'Франци Лӑпкӑ океан франкӗ', + 'CFPF', + 'Франци Лӑпкӑ океан франкӗ', ], 'YER' => [ - 0 => 'YER', - 1 => 'Йемен риалӗ', + 'YER', + 'Йемен риалӗ', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Кӑнтӑр Африка рэндӗ', + 'ZAR', + 'Кӑнтӑр Африка рэндӗ', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Замби квачи', + 'ZMW', + 'Замби квачи', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cy.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cy.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cy.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/cy.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1084 +3,1016 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'Dirham Yr Emiradau Arabaidd Unedig', + 'AED', + 'Dirham Yr Emiradau Arabaidd Unedig', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Afghani Afghanistan (1927–2002)', + 'AFA', + 'Afghani Afghanistan (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afghani Afghanistan', + 'AFN', + 'Afghani Afghanistan', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Lek Albania', + 'ALL', + 'Lek Albania', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Dram Armenia', + 'AMD', + 'Dram Armenia', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Guilder Antilles yr Iseldiroedd', + 'ANG', + 'Guilder Antilles yr Iseldiroedd', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Kwanza Angola', + 'AOA', + 'Kwanza Angola', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Kwanza Angola (1977–1991)', + 'AOK', + 'Kwanza Angola (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Kwanza Newydd Angola (1990–2000)', + 'AON', + 'Kwanza Newydd Angola (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Kwanza Ailgymhwysedig Angola (1995–1999)', + 'AOR', + 'Kwanza Ailgymhwysedig Angola (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Austral yr Ariannin', + 'ARA', + 'Austral yr Ariannin', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'Peso Ley yr Ariannin (1970–1983)', + 'ARL', + 'Peso Ley yr Ariannin (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'Peso yr Ariannin (1881–1970)', + 'ARM', + 'Peso yr Ariannin (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Peso yr Ariannin (1983–1985)', + 'ARP', + 'Peso yr Ariannin (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Peso yr Ariannin', + 'ARS', + 'Peso yr Ariannin', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Swllt Awstria', + 'ATS', + 'Swllt Awstria', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Doler Awstralia', + 'A$', + 'Doler Awstralia', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Fflorin Aruba', + 'AWG', + 'Fflorin Aruba', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Manat Azerbaijan (1993–2006)', + 'AZM', + 'Manat Azerbaijan (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Manat Azerbaijan', + 'AZN', + 'Manat Azerbaijan', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Marc Trosadwy Bosnia a Hercegovina', + 'BAM', + 'Marc Trosadwy Bosnia a Hercegovina', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Doler Barbados', + 'BBD', + 'Doler Barbados', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Taka Bangladesh', + 'BDT', + 'Taka Bangladesh', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Ffranc Gwlad Belg (arnewidiol)', + 'BEC', + 'Ffranc Gwlad Belg (arnewidiol)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Ffranc Gwlad Belg', + 'BEF', + 'Ffranc Gwlad Belg', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Ffranc Gwlad Belg (ariannol)', + 'BEL', + 'Ffranc Gwlad Belg (ariannol)', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'Lev Sosialaidd Bwlgaria', + 'BGM', + 'Lev Sosialaidd Bwlgaria', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Lev Bwlgaria', + 'BGN', + 'Lev Bwlgaria', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'Lev Bwlgaria (1879–1952)', + 'BGO', + 'Lev Bwlgaria (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Dinar Bahrain', + 'BHD', + 'Dinar Bahrain', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Ffranc Burundi', + 'BIF', + 'Ffranc Burundi', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Doler Bermuda', + 'BMD', + 'Doler Bermuda', ], 'BND' => [ - 0 => 'BND', - 1 => 'Doler Brunei', + 'BND', + 'Doler Brunei', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Boliviano Bolifia', + 'BOB', + 'Boliviano Bolifia', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'Boliviano Bolifia (1863–1963)', + 'BOL', + 'Boliviano Bolifia (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Peso Bolifia', + 'BOP', + 'Peso Bolifia', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Mvdol Bolifia', + 'BOV', + 'Mvdol Bolifia', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Cruzeiro Newydd Brasil (1967–1986)', + 'BRB', + 'Cruzeiro Newydd Brasil (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Cruzado Brasil (1986–1989)', + 'BRC', + 'Cruzado Brasil (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Cruzeiro Brasil (1990–1993)', + 'BRE', + 'Cruzeiro Brasil (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Real Brasil', + 'R$', + 'Real Brasil', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Cruzado Newydd Brasil (1989–1990)', + 'BRN', + 'Cruzado Newydd Brasil (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Cruzeiro Brasil (1993–1994)', + 'BRR', + 'Cruzeiro Brasil (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'Cruzeiro Brasil (1942–1967)', + 'BRZ', + 'Cruzeiro Brasil (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Doler y Bahamas', + 'BSD', + 'Doler y Bahamas', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Ngultrum Bhutan', + 'BTN', + 'Ngultrum Bhutan', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Kyat Byrma', + 'BUK', + 'Kyat Byrma', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Pula Botswana', + 'BWP', + 'Pula Botswana', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Rwbl Belarws', + 'BYN', + 'Rwbl Belarws', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Rwbl Belarws (2000–2016)', + 'BYR', + 'Rwbl Belarws (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Doler Belize', + 'BZD', + 'Doler Belize', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Doler Canada', + 'CA$', + 'Doler Canada', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Ffranc Congo', + 'CDF', + 'Ffranc Congo', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'Ewro WIR', + 'CHE', + 'Ewro WIR', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Ffranc y Swistir', + 'CHF', + 'Ffranc y Swistir', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'Ffranc WIR', + 'CHW', + 'Ffranc WIR', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'Escudo Chile', + 'CLE', + 'Escudo Chile', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Uned Cyfrifo Chile (UF)', + 'CLF', + 'Uned Cyfrifo Chile (UF)', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Peso Chile', + 'CLP', + 'Peso Chile', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Yuan Tsieina (ar y môr)', + 'CNH', + 'Yuan Tsieina (ar y môr)', ], 'CNX' => [ - 0 => 'CNX', - 1 => 'Doler Banc Pobl Tsieina', + 'CNX', + 'Doler Banc Pobl Tsieina', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Yuan Tsieina', + 'CN¥', + 'Yuan Tsieina', ], 'COP' => [ - 0 => 'COP', - 1 => 'Peso Colombia', + 'COP', + 'Peso Colombia', ], 'COU' => [ - 0 => 'COU', - 1 => 'Uned Gwir Werth Colombia', + 'COU', + 'Uned Gwir Werth Colombia', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Colón Costa Rica', - ], - 'CSD' => [ - 0 => 'CSD', - 1 => 'CSD', + 'CRC', + 'Colón Costa Rica', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Peso Trosadwy Ciwba', + 'CUC', + 'Peso Trosadwy Ciwba', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Peso Ciwba', + 'CUP', + 'Peso Ciwba', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Esgwdo Cabo Verde', + 'CVE', + 'Esgwdo Cabo Verde', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Punt Cyprus', + 'CYP', + 'Punt Cyprus', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Koruna’r Weriniaeth Tsiec', + 'CZK', + 'Koruna’r Weriniaeth Tsiec', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Marc Dwyrain yr Almaen', + 'DDM', + 'Marc Dwyrain yr Almaen', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Marc yr Almaen', + 'DEM', + 'Marc yr Almaen', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Ffranc Djibouti', + 'DJF', + 'Ffranc Djibouti', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Krone Denmarc', + 'DKK', + 'Krone Denmarc', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Peso Gweriniaeth Dominica', + 'DOP', + 'Peso Gweriniaeth Dominica', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Dinar Algeria', + 'DZD', + 'Dinar Algeria', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Sucre Ecuador', + 'ECS', + 'Sucre Ecuador', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Uned Gwerth Gyson Ecuador', + 'ECV', + 'Uned Gwerth Gyson Ecuador', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Kroon Estonia', + 'EEK', + 'Kroon Estonia', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Punt Yr Aifft', + 'EGP', + 'Punt Yr Aifft', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Nakfa Eritrea', - ], - 'ESP' => [ - 0 => 'ESP', - 1 => 'ESP', + 'ERN', + 'Nakfa Eritrea', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Birr Ethiopia', + 'ETB', + 'Birr Ethiopia', ], 'EUR' => [ - 0 => '€', - 1 => 'Ewro', + '€', + 'Ewro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Markka’r Ffindir', + 'FIM', + 'Markka’r Ffindir', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Doler Ffiji', + 'FJD', + 'Doler Ffiji', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Punt Ynysoedd Falkland/Malvinas', + 'FKP', + 'Punt Ynysoedd Falkland/Malvinas', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Ffranc Ffrainc', + 'FRF', + 'Ffranc Ffrainc', ], 'GBP' => [ - 0 => '£', - 1 => 'Punt Prydain', + '£', + 'Punt Prydain', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Kupon Larit Georgia', + 'GEK', + 'Kupon Larit Georgia', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Lari Georgia', + 'GEL', + 'Lari Georgia', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Cedi Ghana (1979–2007)', + 'GHC', + 'Cedi Ghana (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Cedi Ghana', + 'GHS', + 'Cedi Ghana', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Punt Gibraltar', + 'GIP', + 'Punt Gibraltar', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Dalasi Gambia', + 'GMD', + 'Dalasi Gambia', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Ffranc Guinée', + 'GNF', + 'Ffranc Guinée', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Syli Guinée', + 'GNS', + 'Syli Guinée', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Ekwele Guinea Gyhydeddol', - ], - 'GRD' => [ - 0 => 'GRD', - 1 => 'GRD', + 'GQE', + 'Ekwele Guinea Gyhydeddol', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Quetzal Guatemala', - ], - 'GWE' => [ - 0 => 'GWE', - 1 => 'GWE', + 'GTQ', + 'Quetzal Guatemala', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Peso Guiné-Bissau', + 'GWP', + 'Peso Guiné-Bissau', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Doler Guyana', + 'GYD', + 'Doler Guyana', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Doler Hong Kong', + 'HK$', + 'Doler Hong Kong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Lempira Honduras', - ], - 'HRD' => [ - 0 => 'HRD', - 1 => 'HRD', + 'HNL', + 'Lempira Honduras', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Kuna Croatia', + 'HRK', + 'Kuna Croatia', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Gourde Haiti', + 'HTG', + 'Gourde Haiti', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Fforint Hwngari', + 'HUF', + 'Fforint Hwngari', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Rupiah Indonesia', + 'IDR', + 'Rupiah Indonesia', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Punt Iwerddon', + 'IEP', + 'Punt Iwerddon', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Punt Israel', + 'ILP', + 'Punt Israel', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'Shegel Israel (1980–1985)', + 'ILR', + 'Shegel Israel (1980–1985)', ], 'ILS' => [ - 0 => '₪', - 1 => 'Shegel Newydd Israel', + '₪', + 'Shegel Newydd Israel', ], 'INR' => [ - 0 => '₹', - 1 => 'Rwpî India', + '₹', + 'Rwpî India', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Dinar Irac', + 'IQD', + 'Dinar Irac', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Rial Iran', + 'IRR', + 'Rial Iran', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'Króna Gwlad yr Iâ (1918 – 1981)', + 'ISJ', + 'Króna Gwlad yr Iâ (1918 – 1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Króna Gwlad yr Iâ', - ], - 'ITL' => [ - 0 => 'ITL', - 1 => 'ITL', + 'ISK', + 'Króna Gwlad yr Iâ', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Doler Jamaica', + 'JMD', + 'Doler Jamaica', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Dinar Gwlad yr Iorddonen', + 'JOD', + 'Dinar Gwlad yr Iorddonen', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Yen Japan', + 'JP¥', + 'Yen Japan', ], 'KES' => [ - 0 => 'KES', - 1 => 'Swllt Kenya', + 'KES', + 'Swllt Kenya', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Som Kyrgyzstan', + 'KGS', + 'Som Kyrgyzstan', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Riel Cambodia', + 'KHR', + 'Riel Cambodia', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Ffranc Comoros', + 'KMF', + 'Ffranc Comoros', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Won Gogledd Corea', + 'KPW', + 'Won Gogledd Corea', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'Hwan De Corea (1953–1962)', + 'KRH', + 'Hwan De Corea (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'Won De Corea (1945–1953)', + 'KRO', + 'Won De Corea (1945–1953)', ], 'KRW' => [ - 0 => 'KRW', - 1 => 'Won De Corea', + 'KRW', + 'Won De Corea', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Dinar Kuwait', + 'KWD', + 'Dinar Kuwait', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Doler Ynysoedd Cayman', + 'KYD', + 'Doler Ynysoedd Cayman', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Tenge Kazakstan', + 'KZT', + 'Tenge Kazakstan', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Kip Laos', + 'LAK', + 'Kip Laos', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Punt Libanus', + 'LBP', + 'Punt Libanus', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Rwpî Sri Lanka', + 'LKR', + 'Rwpî Sri Lanka', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Doler Liberia', + 'LRD', + 'Doler Liberia', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Loti Lesotho', + 'LSL', + 'Loti Lesotho', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litas Lithwania', + 'LTL', + 'Litas Lithwania', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Talonas Lithwania', - ], - 'LUC' => [ - 0 => 'LUC', - 1 => 'LUC', + 'LTT', + 'Talonas Lithwania', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Ffranc Lwcsembwrg', - ], - 'LUL' => [ - 0 => 'LUL', - 1 => 'LUL', + 'LUF', + 'Ffranc Lwcsembwrg', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Lats Latfia', + 'LVL', + 'Lats Latfia', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Rwbl Latfia', + 'LVR', + 'Rwbl Latfia', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Dinar Libya', + 'LYD', + 'Dinar Libya', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Dirham Moroco', + 'MAD', + 'Dirham Moroco', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Ffranc Moroco', + 'MAF', + 'Ffranc Moroco', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'Ffranc Monaco', + 'MCF', + 'Ffranc Monaco', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Leu Moldofa', + 'MDL', + 'Leu Moldofa', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Ariary Madagascar', + 'MGA', + 'Ariary Madagascar', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Ffranc Madagascar', + 'MGF', + 'Ffranc Madagascar', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Denar Macedonia', - ], - 'MKN' => [ - 0 => 'MKN', - 1 => 'MKN', + 'MKD', + 'Denar Macedonia', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Ffranc Mali', + 'MLF', + 'Ffranc Mali', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Kyat Myanmar', + 'MMK', + 'Kyat Myanmar', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Tugrik Mongolia', + 'MNT', + 'Tugrik Mongolia', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'pataca Macau', + 'MOP', + 'pataca Macau', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Ouguiya Mauritania (1973–2017)', + 'MRO', + 'Ouguiya Mauritania (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Ouguiya Mauritania', - ], - 'MTL' => [ - 0 => 'MTL', - 1 => 'MTL', - ], - 'MTP' => [ - 0 => 'MTP', - 1 => 'MTP', + 'MRU', + 'Ouguiya Mauritania', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Rwpî Mauritius', + 'MUR', + 'Rwpî Mauritius', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'Rwpî’r Maldives (1947–1981)', + 'MVP', + 'Rwpî’r Maldives (1947–1981)', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Rufiyaa’r Maldives', + 'MVR', + 'Rufiyaa’r Maldives', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Kwacha Malawi', + 'MWK', + 'Kwacha Malawi', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Peso Mecsico', + 'MX$', + 'Peso Mecsico', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Peso Arian México (1861–1992)', + 'MXP', + 'Peso Arian México (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Uned Fuddsoddi México', + 'MXV', + 'Uned Fuddsoddi México', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Ringgit Malaysia', + 'MYR', + 'Ringgit Malaysia', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Escudo Mozambique', + 'MZE', + 'Escudo Mozambique', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Metical Mozambique (1980–2006)', + 'MZM', + 'Metical Mozambique (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Metical Mozambique', + 'MZN', + 'Metical Mozambique', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Doler Namibia', + 'NAD', + 'Doler Namibia', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Naira Nigeria', + 'NGN', + 'Naira Nigeria', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Córdoba Nicaragua (1988–1991)', + 'NIC', + 'Córdoba Nicaragua (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Cordoba Nicaragwa', + 'NIO', + 'Cordoba Nicaragwa', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Guilder yr Iseldiroedd', + 'NLG', + 'Guilder yr Iseldiroedd', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Krone Norwy', + 'NOK', + 'Krone Norwy', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Rwpî Nepal', + 'NPR', + 'Rwpî Nepal', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Doler Seland Newydd', + 'NZ$', + 'Doler Seland Newydd', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Rial Oman', + 'OMR', + 'Rial Oman', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Balboa Panama', + 'PAB', + 'Balboa Panama', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Inti Periw', + 'PEI', + 'Inti Periw', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Sol Periw', + 'PEN', + 'Sol Periw', ], 'PES' => [ - 0 => 'PES', - 1 => 'Sol Periw (1863–1965)', + 'PES', + 'Sol Periw (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Kina Papua Guinea Newydd', + 'PGK', + 'Kina Papua Guinea Newydd', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Peso Philipinas', + 'PHP', + 'Peso Philipinas', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Rwpî Pacistan', + 'PKR', + 'Rwpî Pacistan', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Zloty Gwlad Pwyl', - ], - 'PTE' => [ - 0 => 'PTE', - 1 => 'PTE', + 'PLN', + 'Zloty Gwlad Pwyl', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Guarani Paraguay', + 'PYG', + 'Guarani Paraguay', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Rial Qatar', + 'QAR', + 'Rial Qatar', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Doler Rhodesia', + 'RHD', + 'Doler Rhodesia', ], 'RON' => [ - 0 => 'RON', - 1 => 'Leu Rwmania', + 'RON', + 'Leu Rwmania', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Dinar Serbia', + 'RSD', + 'Dinar Serbia', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Rwbl Rwsia', + 'RUB', + 'Rwbl Rwsia', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Ffranc Rwanda', + 'RWF', + 'Ffranc Rwanda', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Riyal Saudi Arabia', + 'SAR', + 'Riyal Saudi Arabia', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Doler Ynysoedd Solomon', + 'SBD', + 'Doler Ynysoedd Solomon', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Rwpî Seychelles', + 'SCR', + 'Rwpî Seychelles', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Dinar Sudan (1992–2007)', + 'SDD', + 'Dinar Sudan (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Punt Sudan', + 'SDG', + 'Punt Sudan', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Punt Sudan (1957–1998)', + 'SDP', + 'Punt Sudan (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Krona Sweden', + 'SEK', + 'Krona Sweden', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Doler Singapore', + 'SGD', + 'Doler Singapore', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Punt St Helena', + 'SHP', + 'Punt St Helena', ], - 'SIT' => [ - 0 => 'SIT', - 1 => 'SIT', + 'SLE' => [ + 'SLE', + 'Leone Sierra Leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Leone Sierra Leone', + 'SLL', + 'Leone Sierra Leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Swllt Somalia', + 'SOS', + 'Swllt Somalia', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Doler Surinam', + 'SRD', + 'Doler Surinam', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Guilder Surinam', + 'SRG', + 'Guilder Surinam', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Punt De Sudan', + 'SSP', + 'Punt De Sudan', ], 'STD' => [ - 0 => 'STD', - 1 => 'Dobra São Tomé a Príncipe (1977–2017)', + 'STD', + 'Dobra São Tomé a Príncipe (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Dobra São Tomé a Príncipe', + 'STN', + 'Dobra São Tomé a Príncipe', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Colón El Salvador', + 'SVC', + 'Colón El Salvador', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Punt Syria', + 'SYP', + 'Punt Syria', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Lilangeni Gwlad Swazi', + 'SZL', + 'Lilangeni Gwlad Swazi', ], 'THB' => [ - 0 => '฿', - 1 => 'Baht Gwlad Thai', + '฿', + 'Baht Gwlad Thai', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Rwbl Tajikistan', + 'TJR', + 'Rwbl Tajikistan', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Somoni Tajikistan', + 'TJS', + 'Somoni Tajikistan', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Manat Turkmenistan (1993–2009)', + 'TMM', + 'Manat Turkmenistan (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Manat Turkmenistan', + 'TMT', + 'Manat Turkmenistan', ], 'TND' => [ - 0 => 'TND', - 1 => 'Dinar Tunisia', + 'TND', + 'Dinar Tunisia', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Paʻanga Tonga', + 'TOP', + 'Paʻanga Tonga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Escudo Timor', + 'TPE', + 'Escudo Timor', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Lira Twrci (1922–2005)', + 'TRL', + 'Lira Twrci (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Lira Twrci', + 'TRY', + 'Lira Twrci', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Doler Trinidad a Tobago', + 'TTD', + 'Doler Trinidad a Tobago', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Doler Newydd Taiwan', + 'NT$', + 'Doler Newydd Taiwan', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Swllt Tanzania', + 'TZS', + 'Swllt Tanzania', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Hryvnia Wcráin', + 'UAH', + 'Hryvnia Wcráin', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Swllt Uganda (1966–1987)', + 'UGS', + 'Swllt Uganda (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Swllt Uganda', + 'UGX', + 'Swllt Uganda', ], 'USD' => [ - 0 => 'US$', - 1 => 'Doler UDA', + 'US$', + 'Doler UDA', ], 'USN' => [ - 0 => 'USN', - 1 => 'Doler UDA (y diwrnod nesaf)', + 'USN', + 'Doler UDA (y diwrnod nesaf)', ], 'USS' => [ - 0 => 'USS', - 1 => 'Doler UDA (yr un diwrnod)', - ], - 'UYI' => [ - 0 => 'UYI', - 1 => 'UYI', + 'USS', + 'Doler UDA (yr un diwrnod)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Peso Uruguay (1975–1993)', + 'UYP', + 'Peso Uruguay (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Peso Uruguay', + 'UYU', + 'Peso Uruguay', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Som Uzbekistan', + 'UZS', + 'Som Uzbekistan', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Bolívar Venezuela (1871–2008)', + 'VEB', + 'Bolívar Venezuela (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Bolívar Venezuela (2008–2018)', + 'VEF', + 'Bolívar Venezuela (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Bolívar Venezuela', + 'VES', + 'Bolívar Venezuela', ], 'VND' => [ - 0 => '₫', - 1 => 'Dong Fietnam', + '₫', + 'Dong Fietnam', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'Dong Fietnam (1978–1985)', + 'VNN', + 'Dong Fietnam (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vatu Vanuatu', + 'VUV', + 'Vatu Vanuatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Tala Samoa', + 'WST', + 'Tala Samoa', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Ffranc CFA Canol Affrica', + 'FCFA', + 'Ffranc CFA Canol Affrica', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Doler Dwyrain y Caribî', + 'EC$', + 'Doler Dwyrain y Caribî', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'Uned Arian Cyfred Ewropeaidd', + 'XEU', + 'Uned Arian Cyfred Ewropeaidd', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Ffranc CFA Gorllewin Affrica', + 'F CFA', + 'Ffranc CFA Gorllewin Affrica', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'Ffranc CFP', + 'CFPF', + 'Ffranc CFP', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Dinar Yemen', + 'YDD', + 'Dinar Yemen', ], 'YER' => [ - 0 => 'YER', - 1 => 'Rial Yemen', - ], - 'YUD' => [ - 0 => 'YUD', - 1 => 'YUD', - ], - 'YUM' => [ - 0 => 'YUM', - 1 => 'YUM', - ], - 'YUN' => [ - 0 => 'YUN', - 1 => 'YUN', - ], - 'YUR' => [ - 0 => 'YUR', - 1 => 'YUR', + 'YER', + 'Rial Yemen', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Rand (ariannol) De Affrica', + 'ZAL', + 'Rand (ariannol) De Affrica', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Rand De Affrica', + 'ZAR', + 'Rand De Affrica', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Kwacha Zambia (1968–2012)', + 'ZMK', + 'Kwacha Zambia (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Kwacha Zambia', + 'ZMW', + 'Kwacha Zambia', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Zaire Newydd Zaire (1993–1998)', + 'ZRN', + 'Zaire Newydd Zaire (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Zaire Zaire (1971–1993)', + 'ZRZ', + 'Zaire Zaire (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Doler Zimbabwe (1980–2008)', + 'ZWD', + 'Doler Zimbabwe (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Doler Zimbabwe (2009)', + 'ZWL', + 'Doler Zimbabwe (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Doler Zimbabwe (2008)', + 'ZWR', + 'Doler Zimbabwe (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/da.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/da.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/da.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/da.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1056 +3,1060 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Andorransk peseta', + 'ADP', + 'Andorransk peseta', ], 'AED' => [ - 0 => 'AED', - 1 => 'dirham fra de Forenede Arabiske Emirater', + 'AED', + 'dirham fra de Forenede Arabiske Emirater', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Afghansk afghani (1927–2002)', + 'AFA', + 'Afghansk afghani (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afghansk afghani', + 'AFN', + 'afghansk afghani', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'albansk lek', + 'ALL', + 'albansk lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'armensk dram', + 'AMD', + 'armensk dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Nederlandske Antiller-gylden', + 'ANG', + 'Nederlandske Antiller-gylden', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'angolansk kwanza', + 'AOA', + 'angolansk kwanza', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Angolansk kwanza (1977–1990)', + 'AOK', + 'Angolansk kwanza (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Angolansk nye kwanza (1990–2000)', + 'AON', + 'Angolansk nye kwanza (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Angolansk kwanza (1995–1999)', + 'AOR', + 'Angolansk kwanza (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Argentinsk austral', + 'ARA', + 'Argentinsk austral', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Argentinsk peso (1983–1985)', + 'ARP', + 'Argentinsk peso (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'argentinsk peso', + 'ARS', + 'argentinsk peso', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Østrigsk schilling', + 'ATS', + 'Østrigsk schilling', ], 'AUD' => [ - 0 => 'AU$', - 1 => 'australsk dollar', + 'AU$', + 'australsk dollar', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'arubansk florin', + 'AWG', + 'arubansk florin', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Aserbajdsjansk manat (1993–2006)', + 'AZM', + 'Aserbajdsjansk manat (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'aserbajdsjansk manat', + 'AZN', + 'aserbajdsjansk manat', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Bosnien-Hercegovinsk dinar', + 'BAD', + 'Bosnien-Hercegovinsk dinar', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'bosnien-hercegovinsk konvertibel mark', + 'BAM', + 'bosnien-hercegovinsk konvertibel mark', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'barbadisk dollar', + 'BBD', + 'barbadisk dollar', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'bangladeshisk taka', + 'BDT', + 'bangladeshisk taka', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Belgisk franc (konvertibel)', + 'BEC', + 'Belgisk franc (konvertibel)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Belgisk franc', + 'BEF', + 'Belgisk franc', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Belgisk franc (financial)', + 'BEL', + 'Belgisk franc (financial)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Bulgarsk hard lev', + 'BGL', + 'Bulgarsk hard lev', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'bulgarsk lev', + 'BGN', + 'bulgarsk lev', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'bahrainsk dinar', + 'BHD', + 'bahrainsk dinar', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'burundisk franc', + 'BIF', + 'burundisk franc', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'bermudansk dollar', + 'BMD', + 'bermudansk dollar', ], 'BND' => [ - 0 => 'BND', - 1 => 'bruneisk dollar', + 'BND', + 'bruneisk dollar', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'boliviansk boliviano', + 'BOB', + 'boliviansk boliviano', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Boliviansk peso', + 'BOP', + 'Boliviansk peso', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Boliviansk mvdol', + 'BOV', + 'Boliviansk mvdol', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Brasiliansk cruzeiro novo (1967–1986)', + 'BRB', + 'Brasiliansk cruzeiro novo (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Brasiliansk cruzado (1986–1989)', + 'BRC', + 'Brasiliansk cruzado (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Brasiliansk cruzeiro (1990–1993)', + 'BRE', + 'Brasiliansk cruzeiro (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'brasiliansk real', + 'R$', + 'brasiliansk real', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Brasiliansk cruzado novo (1989–1990)', + 'BRN', + 'Brasiliansk cruzado novo (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Brasiliansk cruzeiro (1993–1994)', + 'BRR', + 'Brasiliansk cruzeiro (1993–1994)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'bahamansk dollar', + 'BSD', + 'bahamansk dollar', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'bhutansk ngultrum', + 'BTN', + 'bhutansk ngultrum', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Burmesisk kyat', + 'BUK', + 'Burmesisk kyat', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'botswansk pula', + 'BWP', + 'botswansk pula', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Hviderussisk rubel (1994–1999)', + 'BYB', + 'Hviderussisk rubel (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'hviderussisk rubel', + 'BYN', + 'hviderussisk rubel', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'hviderussisk rubel (2000–2016)', + 'BYR', + 'hviderussisk rubel (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'belizisk dollar', + 'BZD', + 'belizisk dollar', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'canadisk dollar', + 'CA$', + 'canadisk dollar', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'congolesisk franc', + 'CDF', + 'congolesisk franc', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'WIR euro', + 'CHE', + 'WIR euro', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'schweizerfranc', + 'CHF', + 'schweizerfranc', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'WIR franc', + 'CHW', + 'WIR franc', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'chilensk peso', + 'CLP', + 'chilensk peso', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'kinesisk yuan (offshore)', + 'CNH', + 'kinesisk yuan (offshore)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'kinesisk yuan', + 'CN¥', + 'kinesisk yuan', ], 'COP' => [ - 0 => 'COP', - 1 => 'colombiansk peso', + 'COP', + 'colombiansk peso', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'costaricansk colón', + 'CRC', + 'costaricansk colón', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Serbisk dinar (2002–2006)', + 'CSD', + 'Serbisk dinar (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Tjekkoslovakisk hard koruna', + 'CSK', + 'Tjekkoslovakisk hard koruna', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'cubansk konvertibel peso', + 'CUC', + 'cubansk konvertibel peso', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'cubansk peso', + 'CUP', + 'cubansk peso', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'kapverdisk escudo', + 'CVE', + 'kapverdisk escudo', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Cypriotisk pund', + 'CYP', + 'Cypriotisk pund', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'tjekkisk koruna', + 'CZK', + 'tjekkisk koruna', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Østtysk mark', + 'DDM', + 'Østtysk mark', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Tysk mark', + 'DEM', + 'Tysk mark', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'djiboutisk franc', + 'DJF', + 'djiboutisk franc', ], 'DKK' => [ - 0 => 'kr.', - 1 => 'dansk krone', + 'kr.', + 'dansk krone', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'dominikansk peso', + 'DOP', + 'dominikansk peso', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'algerisk dinar', + 'DZD', + 'algerisk dinar', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Ecuadoriansk sucre', + 'ECS', + 'Ecuadoriansk sucre', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Estisk kroon', + 'EEK', + 'Estisk kroon', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'egyptisk pund', + 'EGP', + 'egyptisk pund', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'eritreisk nakfa', + 'ERN', + 'eritreisk nakfa', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'Spansk peseta (A–konto)', + 'ESA', + 'Spansk peseta (A–konto)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'Spansk peseta (konvertibel konto)', + 'ESB', + 'Spansk peseta (konvertibel konto)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Spansk peseta', + 'ESP', + 'Spansk peseta', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'etiopisk birr', + 'ETB', + 'etiopisk birr', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Finsk mark', + 'FIM', + 'Finsk mark', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'fijiansk dollar', + 'FJD', + 'fijiansk dollar', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'pund fra Falklandsøerne', + 'FKP', + 'pund fra Falklandsøerne', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Fransk franc', + 'FRF', + 'Fransk franc', ], 'GBP' => [ - 0 => '£', - 1 => 'britisk pund', + '£', + 'britisk pund', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Georgisk kupon larit', + 'GEK', + 'Georgisk kupon larit', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'georgisk lari', + 'GEL', + 'georgisk lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Ghanesisk cedi (1979–2007)', + 'GHC', + 'Ghanesisk cedi (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'ghanesisk cedi', + 'GHS', + 'ghanesisk cedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'gibraltarisk pund', + 'GIP', + 'gibraltarisk pund', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'gambisk dalasi', + 'GMD', + 'gambisk dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'guineansk franc', + 'GNF', + 'guineansk franc', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Guineansk syli', + 'GNS', + 'Guineansk syli', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Ækvatorialguineask ekwele', + 'GQE', + 'Ækvatorialguineask ekwele', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Græsk drakme', + 'GRD', + 'Græsk drakme', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'guatemalansk quetzal', + 'GTQ', + 'guatemalansk quetzal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Portugisisk guinea escudo', + 'GWE', + 'Portugisisk guinea escudo', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Guineansk peso', + 'GWP', + 'Guineansk peso', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'guyansk dollar', + 'GYD', + 'guyansk dollar', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'hongkongsk dollar', + 'HK$', + 'hongkongsk dollar', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'honduransk lempira', + 'HNL', + 'honduransk lempira', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Kroatisk dinar', + 'HRD', + 'Kroatisk dinar', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'kroatisk kuna', + 'HRK', + 'kroatisk kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'haitisk gourde', + 'HTG', + 'haitisk gourde', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'ungarsk forint', + 'HUF', + 'ungarsk forint', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'indonesisk rupiah', + 'IDR', + 'indonesisk rupiah', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Irsk pund', + 'IEP', + 'Irsk pund', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Israelsk pund', + 'ILP', + 'Israelsk pund', ], 'ILS' => [ - 0 => '₪', - 1 => 'ny israelsk shekel', + '₪', + 'ny israelsk shekel', ], 'INR' => [ - 0 => '₹', - 1 => 'indisk rupee', + '₹', + 'indisk rupee', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'irakisk dinar', + 'IQD', + 'irakisk dinar', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'iransk rial', + 'IRR', + 'iransk rial', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'islandsk krone', + 'ISK', + 'islandsk krone', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Italiensk lire', + 'ITL', + 'Italiensk lire', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'jamaicansk dollar', + 'JMD', + 'jamaicansk dollar', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'jordansk dinar', + 'JOD', + 'jordansk dinar', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'japansk yen', + 'JP¥', + 'japansk yen', ], 'KES' => [ - 0 => 'KES', - 1 => 'kenyansk shilling', + 'KES', + 'kenyansk shilling', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'kirgisisk som', + 'KGS', + 'kirgisisk som', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'cambodjansk riel', + 'KHR', + 'cambodjansk riel', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'comorisk franc', + 'KMF', + 'comorisk franc', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'nordkoreansk won', + 'KPW', + 'nordkoreansk won', ], 'KRW' => [ - 0 => '₩', - 1 => 'sydkoreansk won', + '₩', + 'sydkoreansk won', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'kuwaitisk dinar', + 'KWD', + 'kuwaitisk dinar', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'caymansk dollar', + 'KYD', + 'caymansk dollar', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'kasakhisk tenge', + 'KZT', + 'kasakhisk tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'laotisk kip', + 'LAK', + 'laotisk kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'libanesisk pund', + 'LBP', + 'libanesisk pund', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'srilankansk rupee', + 'LKR', + 'srilankansk rupee', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'liberisk dollar', + 'LRD', + 'liberisk dollar', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'lesothisk loti', + 'LSL', + 'lesothisk loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litauisk litas', + 'LTL', + 'Litauisk litas', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Litauisk talonas', + 'LTT', + 'Litauisk talonas', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Luxembourgsk konvertibel franc', + 'LUC', + 'Luxembourgsk konvertibel franc', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Luxembourgsk franc', + 'LUF', + 'Luxembourgsk franc', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Luxembourgsk finansiel franc', + 'LUL', + 'Luxembourgsk finansiel franc', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Lettisk lat', + 'LVL', + 'Lettisk lat', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Lettisk rubel', + 'LVR', + 'Lettisk rubel', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'libysk dinar', + 'LYD', + 'libysk dinar', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'marokkansk dirham', + 'MAD', + 'marokkansk dirham', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Marokkansk franc', + 'MAF', + 'Marokkansk franc', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'moldovisk leu', + 'MDL', + 'moldovisk leu', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'madagaskisk ariary', + 'MGA', + 'madagaskisk ariary', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Madagaskisk franc', + 'MGF', + 'Madagaskisk franc', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'makedonsk denar', + 'MKD', + 'makedonsk denar', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Malisk franc', + 'MLF', + 'Malisk franc', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'myanmarsk kyat', + 'MMK', + 'myanmarsk kyat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'mongolsk tugrik', + 'MNT', + 'mongolsk tugrik', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'macaosk pataca', + 'MOP', + 'macaosk pataca', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'mauritansk ouguiya (1973–2017)', + 'MRO', + 'mauritansk ouguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'mauritansk ouguiya', + 'MRU', + 'mauritansk ouguiya', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Maltesisk lira', + 'MTL', + 'Maltesisk lira', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Maltesisk pund', + 'MTP', + 'Maltesisk pund', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'mauritisk rupee', + 'MUR', + 'mauritisk rupee', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'maldivisk rufiyaa', + 'MVR', + 'maldivisk rufiyaa', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'malawisk kwacha', + 'MWK', + 'malawisk kwacha', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'mexicansk peso', + 'MX$', + 'mexicansk peso', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Mexicansk silver peso (1861–1992)', + 'MXP', + 'Mexicansk silver peso (1861–1992)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'malaysisk ringgit', + 'MYR', + 'malaysisk ringgit', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Mozambiquisk escudo', + 'MZE', + 'Mozambiquisk escudo', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Mozambiquisk metical (1980–2006)', + 'MZM', + 'Mozambiquisk metical (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'mozambiquisk metical', + 'MZN', + 'mozambiquisk metical', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'namibisk dollar', + 'NAD', + 'namibisk dollar', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'nigeriansk naira', + 'NGN', + 'nigeriansk naira', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Nicaraguansk cordoba (1988–1991)', + 'NIC', + 'Nicaraguansk cordoba (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'nicaraguansk cordoba', + 'NIO', + 'nicaraguansk cordoba', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Hollandsk guilder', + 'NLG', + 'Hollandsk guilder', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'norsk krone', + 'NOK', + 'norsk krone', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'nepalesisk rupee', + 'NPR', + 'nepalesisk rupee', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'newzealandsk dollar', + 'NZ$', + 'newzealandsk dollar', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'omansk rial', + 'OMR', + 'omansk rial', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'panamansk balboa', + 'PAB', + 'panamansk balboa', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'peruviansk inti', + 'PEI', + 'peruviansk inti', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'peruansk sol', + 'PEN', + 'peruansk sol', ], 'PES' => [ - 0 => 'PES', - 1 => 'peruviansk sol (1863–1965)', + 'PES', + 'peruviansk sol (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'papuansk kina', + 'PGK', + 'papuansk kina', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'filippinsk peso', + 'PHP', + 'filippinsk peso', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'pakistansk rupee', + 'PKR', + 'pakistansk rupee', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'polsk zloty', + 'PLN', + 'polsk zloty', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Polsk zloty (1950–1995)', + 'PLZ', + 'Polsk zloty (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Portugisisk escudo', + 'PTE', + 'Portugisisk escudo', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'paraguaysk guarani', + 'PYG', + 'paraguaysk guarani', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'qatarsk rial', + 'QAR', + 'qatarsk rial', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Rumænsk leu (1952–2006)', + 'ROL', + 'Rumænsk leu (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'rumænsk leu', + 'RON', + 'rumænsk leu', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'serbisk dinar', + 'RSD', + 'serbisk dinar', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'russisk rubel', + 'RUB', + 'russisk rubel', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Russisk rubel (1991–1998)', + 'RUR', + 'Russisk rubel (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'rwandisk franc', + 'RWF', + 'rwandisk franc', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'saudiarabisk riyal', + 'SAR', + 'saudiarabisk riyal', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'salomonsk dollar', + 'SBD', + 'salomonsk dollar', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'seychellisk rupee', + 'SCR', + 'seychellisk rupee', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Sudansk dinar (1992–2007)', + 'SDD', + 'Sudansk dinar (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'sudansk pund', + 'SDG', + 'sudansk pund', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Sudansk pund (1957–1998)', + 'SDP', + 'Sudansk pund (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'svensk krone', + 'SEK', + 'svensk krone', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'singaporeansk dollar', + 'SGD', + 'singaporeansk dollar', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'pund fra Saint Helena', + 'SHP', + 'pund fra Saint Helena', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Slovensk tolar', + 'SIT', + 'Slovensk tolar', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Slovakisk koruna', + 'SKK', + 'Slovakisk koruna', + ], + 'SLE' => [ + 'SLE', + 'sierraleonsk leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'sierraleonsk leone', + 'SLL', + 'sierraleonsk leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'somalisk shilling', + 'SOS', + 'somalisk shilling', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'surinamsk dollar', + 'SRD', + 'surinamsk dollar', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Surinamsk guilder', + 'SRG', + 'Surinamsk guilder', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'sydsudansk pund', + 'SSP', + 'sydsudansk pund', ], 'STD' => [ - 0 => 'STD', - 1 => 'dobra fra Sao Tome og Principe (1977–2017)', + 'STD', + 'dobra fra Sao Tome og Principe (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'dobra fra Sao Tome og Principe', + 'STN', + 'dobra fra Sao Tome og Principe', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Sovjetisk rubel', + 'SUR', + 'Sovjetisk rubel', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Salvadoransk colon', + 'SVC', + 'Salvadoransk colon', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'syrisk pund', + 'SYP', + 'syrisk pund', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'swazilandsk lilangeni', + 'SZL', + 'swazilandsk lilangeni', ], 'THB' => [ - 0 => '฿', - 1 => 'thailandsk baht', + '฿', + 'thailandsk baht', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Tadsjikisk rubel', + 'TJR', + 'Tadsjikisk rubel', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'tadsjikisk somoni', + 'TJS', + 'tadsjikisk somoni', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Turkmensk manat (1993–2009)', + 'TMM', + 'Turkmensk manat (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'turkmensk manat', + 'TMT', + 'turkmensk manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'tunesisk dinar', + 'TND', + 'tunesisk dinar', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'tongansk paʻanga', + 'TOP', + 'tongansk paʻanga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Escudo fra Timor', + 'TPE', + 'Escudo fra Timor', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Tyrkisk lire (1922–2005)', + 'TRL', + 'Tyrkisk lire (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'tyrkisk lira', + 'TRY', + 'tyrkisk lira', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'trinidadisk dollar', + 'TTD', + 'trinidadisk dollar', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'ny taiwansk dollar', + 'NT$', + 'ny taiwansk dollar', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'tanzanisk shilling', + 'TZS', + 'tanzanisk shilling', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'ukrainsk grynia', + 'UAH', + 'ukrainsk grynia', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Ukrainsk karbovanetz', + 'UAK', + 'Ukrainsk karbovanetz', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Ugandisk shilling (1966–1987)', + 'UGS', + 'Ugandisk shilling (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'ugandisk shilling', + 'UGX', + 'ugandisk shilling', ], 'USD' => [ - 0 => 'US$', - 1 => 'amerikansk dollar', + 'US$', + 'amerikansk dollar', ], 'USN' => [ - 0 => 'USN', - 1 => 'Amerikansk dollar (næste dag)', + 'USN', + 'Amerikansk dollar (næste dag)', ], 'USS' => [ - 0 => 'USS', - 1 => 'Amerikansk dollar (samme dag)', + 'USS', + 'Amerikansk dollar (samme dag)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Uruguayansk peso (1975–1993)', + 'UYP', + 'Uruguayansk peso (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'uruguayansk peso', + 'UYU', + 'uruguayansk peso', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'usbekisk sum', + 'UZS', + 'usbekisk sum', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Venezuelansk bolivar (1871–2008)', + 'VEB', + 'Venezuelansk bolivar (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'venezuelansk bolivar (2008–2018)', + 'VEF', + 'venezuelansk bolivar (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'venezuelansk bolivar', + 'VES', + 'venezuelansk bolivar', ], 'VND' => [ - 0 => '₫', - 1 => 'vietnamesisk dong', + '₫', + 'vietnamesisk dong', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vanuaisk vatu', + 'VUV', + 'vanuaisk vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'samoansk tala', + 'WST', + 'samoansk tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'CFA-franc (BEAC)', + 'FCFA', + 'CFA-franc (BEAC)', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'østkaribisk dollar', + 'EC$', + 'østkaribisk dollar', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'ECU', + 'XEU', + 'ECU', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Fransk guldfranc', + 'XFO', + 'Fransk guldfranc', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Fransk UIC-franc', + 'XFU', + 'Fransk UIC-franc', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'CFA-franc BCEAO', + 'F CFA', + 'CFA-franc BCEAO', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP-franc', + 'CFPF', + 'CFP-franc', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'RINET-fond', + 'XRE', + 'RINET-fond', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Yemenitisk dinar', + 'YDD', + 'Yemenitisk dinar', ], 'YER' => [ - 0 => 'YER', - 1 => 'yemenitisk rial', + 'YER', + 'yemenitisk rial', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Jugoslavisk hard dinar (1966–1990)', + 'YUD', + 'Jugoslavisk hard dinar (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Jugoslavisk noviy dinar (1994–2002)', + 'YUM', + 'Jugoslavisk noviy dinar (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Jugoslavisk konvertibel dinar (1990–1992)', + 'YUN', + 'Jugoslavisk konvertibel dinar (1990–1992)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Sydafrikansk rand (financial)', + 'ZAL', + 'Sydafrikansk rand (financial)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'sydafrikansk rand', + 'ZAR', + 'sydafrikansk rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Zambisk kwacha (1968–2012)', + 'ZMK', + 'Zambisk kwacha (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'zambisk kwacha', + 'ZMW', + 'zambisk kwacha', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Ny zairisk zaire (1993–1998)', + 'ZRN', + 'Ny zairisk zaire (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Zairisk zaire (1971–1993)', + 'ZRZ', + 'Zairisk zaire (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Zimbabwisk dollar (1980–2008)', + 'ZWD', + 'Zimbabwisk dollar (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Zimbabwisk dollar (2009)', + 'ZWL', + 'Zimbabwisk dollar (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Zimbabwisk dollar (2008)', + 'ZWR', + 'Zimbabwisk dollar (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1160 +3,1164 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Andorranische Pesete', + 'ADP', + 'Andorranische Pesete', ], 'AED' => [ - 0 => 'AED', - 1 => 'VAE-Dirham', + 'AED', + 'VAE-Dirham', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Afghanische Afghani (1927–2002)', + 'AFA', + 'Afghanische Afghani (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afghanischer Afghani', + 'AFN', + 'Afghanischer Afghani', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'Albanischer Lek (1946–1965)', + 'ALK', + 'Albanischer Lek (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Albanischer Lek', + 'ALL', + 'Albanischer Lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Armenischer Dram', + 'AMD', + 'Armenischer Dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Niederländische-Antillen-Gulden', + 'ANG', + 'Niederländische-Antillen-Gulden', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Angolanischer Kwanza', + 'AOA', + 'Angolanischer Kwanza', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Angolanischer Kwanza (1977–1990)', + 'AOK', + 'Angolanischer Kwanza (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Angolanischer Neuer Kwanza (1990–2000)', + 'AON', + 'Angolanischer Neuer Kwanza (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Angolanischer Kwanza Reajustado (1995–1999)', + 'AOR', + 'Angolanischer Kwanza Reajustado (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Argentinischer Austral', + 'ARA', + 'Argentinischer Austral', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'Argentinischer Peso Ley (1970–1983)', + 'ARL', + 'Argentinischer Peso Ley (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'Argentinischer Peso (1881–1970)', + 'ARM', + 'Argentinischer Peso (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Argentinischer Peso (1983–1985)', + 'ARP', + 'Argentinischer Peso (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Argentinischer Peso', + 'ARS', + 'Argentinischer Peso', ], 'ATS' => [ - 0 => 'öS', - 1 => 'Österreichischer Schilling', + 'öS', + 'Österreichischer Schilling', ], 'AUD' => [ - 0 => 'AU$', - 1 => 'Australischer Dollar', + 'AU$', + 'Australischer Dollar', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Aruba-Florin', + 'AWG', + 'Aruba-Florin', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Aserbaidschan-Manat (1993–2006)', + 'AZM', + 'Aserbaidschan-Manat (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Aserbaidschan-Manat', + 'AZN', + 'Aserbaidschan-Manat', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Bosnien und Herzegowina Dinar (1992–1994)', + 'BAD', + 'Bosnien und Herzegowina Dinar (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Konvertible Mark Bosnien und Herzegowina', + 'BAM', + 'Konvertible Mark Bosnien und Herzegowina', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'Bosnien und Herzegowina Neuer Dinar (1994–1997)', + 'BAN', + 'Bosnien und Herzegowina Neuer Dinar (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Barbados-Dollar', + 'BBD', + 'Barbados-Dollar', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Bangladesch-Taka', + 'BDT', + 'Bangladesch-Taka', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Belgischer Franc (konvertibel)', + 'BEC', + 'Belgischer Franc (konvertibel)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Belgischer Franc', + 'BEF', + 'Belgischer Franc', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Belgischer Finanz-Franc', + 'BEL', + 'Belgischer Finanz-Franc', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Bulgarische Lew (1962–1999)', + 'BGL', + 'Bulgarische Lew (1962–1999)', ], 'BGM' => [ - 0 => 'BGK', - 1 => 'Bulgarischer Lew (1952–1962)', + 'BGK', + 'Bulgarischer Lew (1952–1962)', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Bulgarischer Lew', + 'BGN', + 'Bulgarischer Lew', ], 'BGO' => [ - 0 => 'BGJ', - 1 => 'Bulgarischer Lew (1879–1952)', + 'BGJ', + 'Bulgarischer Lew (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Bahrain-Dinar', + 'BHD', + 'Bahrain-Dinar', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Burundi-Franc', + 'BIF', + 'Burundi-Franc', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermuda-Dollar', + 'BMD', + 'Bermuda-Dollar', ], 'BND' => [ - 0 => 'BND', - 1 => 'Brunei-Dollar', + 'BND', + 'Brunei-Dollar', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Bolivianischer Boliviano', + 'BOB', + 'Bolivianischer Boliviano', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'Bolivianischer Boliviano (1863–1963)', + 'BOL', + 'Bolivianischer Boliviano (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Bolivianischer Peso', + 'BOP', + 'Bolivianischer Peso', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Boliviansiche Mvdol', + 'BOV', + 'Boliviansiche Mvdol', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Brasilianischer Cruzeiro Novo (1967–1986)', + 'BRB', + 'Brasilianischer Cruzeiro Novo (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Brasilianischer Cruzado (1986–1989)', + 'BRC', + 'Brasilianischer Cruzado (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Brasilianischer Cruzeiro (1990–1993)', + 'BRE', + 'Brasilianischer Cruzeiro (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Brasilianischer Real', + 'R$', + 'Brasilianischer Real', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Brasilianischer Cruzado Novo (1989–1990)', + 'BRN', + 'Brasilianischer Cruzado Novo (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Brasilianischer Cruzeiro (1993–1994)', + 'BRR', + 'Brasilianischer Cruzeiro (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'Brasilianischer Cruzeiro (1942–1967)', + 'BRZ', + 'Brasilianischer Cruzeiro (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Bahamas-Dollar', + 'BSD', + 'Bahamas-Dollar', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Bhutan-Ngultrum', + 'BTN', + 'Bhutan-Ngultrum', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Birmanischer Kyat', + 'BUK', + 'Birmanischer Kyat', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Botswanischer Pula', + 'BWP', + 'Botswanischer Pula', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Belarus-Rubel (1994–1999)', + 'BYB', + 'Belarus-Rubel (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Weißrussischer Rubel', + 'BYN', + 'Weißrussischer Rubel', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Weißrussischer Rubel (2000–2016)', + 'BYR', + 'Weißrussischer Rubel (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Belize-Dollar', + 'BZD', + 'Belize-Dollar', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Kanadischer Dollar', + 'CA$', + 'Kanadischer Dollar', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Kongo-Franc', + 'CDF', + 'Kongo-Franc', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'WIR-Euro', + 'CHE', + 'WIR-Euro', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Schweizer Franken', + 'CHF', + 'Schweizer Franken', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'WIR Franken', + 'CHW', + 'WIR Franken', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'Chilenischer Escudo', + 'CLE', + 'Chilenischer Escudo', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Chilenische Unidades de Fomento', + 'CLF', + 'Chilenische Unidades de Fomento', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Chilenischer Peso', + 'CLP', + 'Chilenischer Peso', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Renminbi-Yuan (Offshore)', + 'CNH', + 'Renminbi-Yuan (Offshore)', ], 'CNX' => [ - 0 => 'CNX', - 1 => 'Dollar der Chinesischen Volksbank', + 'CNX', + 'Dollar der Chinesischen Volksbank', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Renminbi Yuan', + 'CN¥', + 'Renminbi Yuan', ], 'COP' => [ - 0 => 'COP', - 1 => 'Kolumbianischer Peso', + 'COP', + 'Kolumbianischer Peso', ], 'COU' => [ - 0 => 'COU', - 1 => 'Kolumbianische Unidades de valor real', + 'COU', + 'Kolumbianische Unidades de valor real', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Costa-Rica-Colón', + 'CRC', + 'Costa-Rica-Colón', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Serbischer Dinar (2002–2006)', + 'CSD', + 'Serbischer Dinar (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Tschechoslowakische Krone', + 'CSK', + 'Tschechoslowakische Krone', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Kubanischer Peso (konvertibel)', + 'CUC', + 'Kubanischer Peso (konvertibel)', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Kubanischer Peso', + 'CUP', + 'Kubanischer Peso', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Cabo-Verde-Escudo', + 'CVE', + 'Cabo-Verde-Escudo', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Zypern-Pfund', + 'CYP', + 'Zypern-Pfund', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Tschechische Krone', + 'CZK', + 'Tschechische Krone', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Mark der DDR', + 'DDM', + 'Mark der DDR', ], 'DEM' => [ - 0 => 'DM', - 1 => 'Deutsche Mark', + 'DM', + 'Deutsche Mark', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Dschibuti-Franc', + 'DJF', + 'Dschibuti-Franc', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Dänische Krone', + 'DKK', + 'Dänische Krone', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Dominikanischer Peso', + 'DOP', + 'Dominikanischer Peso', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Algerischer Dinar', + 'DZD', + 'Algerischer Dinar', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Ecuadorianischer Sucre', + 'ECS', + 'Ecuadorianischer Sucre', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Verrechnungseinheit für Ecuador', + 'ECV', + 'Verrechnungseinheit für Ecuador', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Estnische Krone', + 'EEK', + 'Estnische Krone', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Ägyptisches Pfund', + 'EGP', + 'Ägyptisches Pfund', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Eritreischer Nakfa', + 'ERN', + 'Eritreischer Nakfa', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'Spanische Peseta (A–Konten)', + 'ESA', + 'Spanische Peseta (A–Konten)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'Spanische Peseta (konvertibel)', + 'ESB', + 'Spanische Peseta (konvertibel)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Spanische Peseta', + 'ESP', + 'Spanische Peseta', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Äthiopischer Birr', + 'ETB', + 'Äthiopischer Birr', ], 'EUR' => [ - 0 => '€', - 1 => 'Euro', + '€', + 'Euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Finnische Mark', + 'FIM', + 'Finnische Mark', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Fidschi-Dollar', + 'FJD', + 'Fidschi-Dollar', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Falkland-Pfund', + 'FKP', + 'Falkland-Pfund', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Französischer Franc', + 'FRF', + 'Französischer Franc', ], 'GBP' => [ - 0 => '£', - 1 => 'Britisches Pfund', + '£', + 'Britisches Pfund', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Georgischer Kupon Larit', + 'GEK', + 'Georgischer Kupon Larit', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Georgischer Lari', + 'GEL', + 'Georgischer Lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Ghanaischer Cedi (1979–2007)', + 'GHC', + 'Ghanaischer Cedi (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Ghanaischer Cedi', + 'GHS', + 'Ghanaischer Cedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Gibraltar-Pfund', + 'GIP', + 'Gibraltar-Pfund', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Gambia-Dalasi', + 'GMD', + 'Gambia-Dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Guinea-Franc', + 'GNF', + 'Guinea-Franc', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Guineischer Syli', + 'GNS', + 'Guineischer Syli', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Äquatorialguinea-Ekwele', + 'GQE', + 'Äquatorialguinea-Ekwele', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Griechische Drachme', + 'GRD', + 'Griechische Drachme', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Guatemaltekischer Quetzal', + 'GTQ', + 'Guatemaltekischer Quetzal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Portugiesisch Guinea Escudo', + 'GWE', + 'Portugiesisch Guinea Escudo', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Guinea-Bissau Peso', + 'GWP', + 'Guinea-Bissau Peso', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Guyana-Dollar', + 'GYD', + 'Guyana-Dollar', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Hongkong-Dollar', + 'HK$', + 'Hongkong-Dollar', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Honduras-Lempira', + 'HNL', + 'Honduras-Lempira', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Kroatischer Dinar', + 'HRD', + 'Kroatischer Dinar', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Kroatischer Kuna', + 'HRK', + 'Kroatischer Kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Haitianische Gourde', + 'HTG', + 'Haitianische Gourde', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Ungarischer Forint', + 'HUF', + 'Ungarischer Forint', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Indonesische Rupiah', + 'IDR', + 'Indonesische Rupiah', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Irisches Pfund', + 'IEP', + 'Irisches Pfund', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Israelisches Pfund', + 'ILP', + 'Israelisches Pfund', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'Israelischer Schekel (1980–1985)', + 'ILR', + 'Israelischer Schekel (1980–1985)', ], 'ILS' => [ - 0 => '₪', - 1 => 'Israelischer Neuer Schekel', + '₪', + 'Israelischer Neuer Schekel', ], 'INR' => [ - 0 => '₹', - 1 => 'Indische Rupie', + '₹', + 'Indische Rupie', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Irakischer Dinar', + 'IQD', + 'Irakischer Dinar', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Iranischer Rial', + 'IRR', + 'Iranischer Rial', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'Isländische Krone (1918–1981)', + 'ISJ', + 'Isländische Krone (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Isländische Krone', + 'ISK', + 'Isländische Krone', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Italienische Lira', + 'ITL', + 'Italienische Lira', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Jamaika-Dollar', + 'JMD', + 'Jamaika-Dollar', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Jordanischer Dinar', + 'JOD', + 'Jordanischer Dinar', ], 'JPY' => [ - 0 => '¥', - 1 => 'Japanischer Yen', + '¥', + 'Japanischer Yen', ], 'KES' => [ - 0 => 'KES', - 1 => 'Kenia-Schilling', + 'KES', + 'Kenia-Schilling', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Kirgisischer Som', + 'KGS', + 'Kirgisischer Som', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Kambodschanischer Riel', + 'KHR', + 'Kambodschanischer Riel', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Komoren-Franc', + 'KMF', + 'Komoren-Franc', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Nordkoreanischer Won', + 'KPW', + 'Nordkoreanischer Won', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'Südkoreanischer Hwan (1953–1962)', + 'KRH', + 'Südkoreanischer Hwan (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'Südkoreanischer Won (1945–1953)', + 'KRO', + 'Südkoreanischer Won (1945–1953)', ], 'KRW' => [ - 0 => '₩', - 1 => 'Südkoreanischer Won', + '₩', + 'Südkoreanischer Won', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Kuwait-Dinar', + 'KWD', + 'Kuwait-Dinar', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Kaiman-Dollar', + 'KYD', + 'Kaiman-Dollar', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Kasachischer Tenge', + 'KZT', + 'Kasachischer Tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Laotischer Kip', + 'LAK', + 'Laotischer Kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Libanesisches Pfund', + 'LBP', + 'Libanesisches Pfund', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Sri-Lanka-Rupie', + 'LKR', + 'Sri-Lanka-Rupie', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Liberianischer Dollar', + 'LRD', + 'Liberianischer Dollar', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Loti', + 'LSL', + 'Loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litauischer Litas', + 'LTL', + 'Litauischer Litas', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Litauischer Talonas', + 'LTT', + 'Litauischer Talonas', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Luxemburgischer Franc (konvertibel)', + 'LUC', + 'Luxemburgischer Franc (konvertibel)', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Luxemburgischer Franc', + 'LUF', + 'Luxemburgischer Franc', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Luxemburgischer Finanz-Franc', + 'LUL', + 'Luxemburgischer Finanz-Franc', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Lettischer Lats', + 'LVL', + 'Lettischer Lats', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Lettischer Rubel', + 'LVR', + 'Lettischer Rubel', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Libyscher Dinar', + 'LYD', + 'Libyscher Dinar', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Marokkanischer Dirham', + 'MAD', + 'Marokkanischer Dirham', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Marokkanischer Franc', + 'MAF', + 'Marokkanischer Franc', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'Monegassischer Franc', + 'MCF', + 'Monegassischer Franc', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'Moldau-Cupon', + 'MDC', + 'Moldau-Cupon', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Moldau-Leu', + 'MDL', + 'Moldau-Leu', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Madagaskar-Ariary', + 'MGA', + 'Madagaskar-Ariary', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Madagaskar-Franc', + 'MGF', + 'Madagaskar-Franc', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Mazedonischer Denar', + 'MKD', + 'Mazedonischer Denar', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'Mazedonischer Denar (1992–1993)', + 'MKN', + 'Mazedonischer Denar (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Malischer Franc', + 'MLF', + 'Malischer Franc', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Myanmarischer Kyat', + 'MMK', + 'Myanmarischer Kyat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Mongolischer Tögrög', + 'MNT', + 'Mongolischer Tögrög', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Macao-Pataca', + 'MOP', + 'Macao-Pataca', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Mauretanischer Ouguiya (1973–2017)', + 'MRO', + 'Mauretanischer Ouguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Mauretanischer Ouguiya', + 'MRU', + 'Mauretanischer Ouguiya', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Maltesische Lira', + 'MTL', + 'Maltesische Lira', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Maltesisches Pfund', + 'MTP', + 'Maltesisches Pfund', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Mauritius-Rupie', + 'MUR', + 'Mauritius-Rupie', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'Malediven-Rupie (alt)', + 'MVP', + 'Malediven-Rupie (alt)', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Malediven-Rufiyaa', + 'MVR', + 'Malediven-Rufiyaa', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Malawi-Kwacha', + 'MWK', + 'Malawi-Kwacha', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Mexikanischer Peso', + 'MX$', + 'Mexikanischer Peso', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Mexikanischer Silber-Peso (1861–1992)', + 'MXP', + 'Mexikanischer Silber-Peso (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Mexicanischer Unidad de Inversion (UDI)', + 'MXV', + 'Mexicanischer Unidad de Inversion (UDI)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Malaysischer Ringgit', + 'MYR', + 'Malaysischer Ringgit', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Mosambikanischer Escudo', + 'MZE', + 'Mosambikanischer Escudo', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Mosambikanischer Metical (1980–2006)', + 'MZM', + 'Mosambikanischer Metical (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Mosambikanischer Metical', + 'MZN', + 'Mosambikanischer Metical', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Namibia-Dollar', + 'NAD', + 'Namibia-Dollar', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Nigerianischer Naira', + 'NGN', + 'Nigerianischer Naira', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Nicaraguanischer Córdoba (1988–1991)', + 'NIC', + 'Nicaraguanischer Córdoba (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Nicaragua-Córdoba', + 'NIO', + 'Nicaragua-Córdoba', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Niederländischer Gulden', + 'NLG', + 'Niederländischer Gulden', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Norwegische Krone', + 'NOK', + 'Norwegische Krone', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Nepalesische Rupie', + 'NPR', + 'Nepalesische Rupie', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Neuseeland-Dollar', + 'NZ$', + 'Neuseeland-Dollar', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Omanischer Rial', + 'OMR', + 'Omanischer Rial', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Panamaischer Balboa', + 'PAB', + 'Panamaischer Balboa', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Peruanischer Inti', + 'PEI', + 'Peruanischer Inti', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Peruanischer Sol', + 'PEN', + 'Peruanischer Sol', ], 'PES' => [ - 0 => 'PES', - 1 => 'Peruanischer Sol (1863–1965)', + 'PES', + 'Peruanischer Sol (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Papua-neuguineischer Kina', + 'PGK', + 'Papua-neuguineischer Kina', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Philippinischer Peso', + 'PHP', + 'Philippinischer Peso', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Pakistanische Rupie', + 'PKR', + 'Pakistanische Rupie', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Polnischer Złoty', + 'PLN', + 'Polnischer Złoty', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Polnischer Zloty (1950–1995)', + 'PLZ', + 'Polnischer Zloty (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Portugiesischer Escudo', + 'PTE', + 'Portugiesischer Escudo', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Paraguayischer Guaraní', + 'PYG', + 'Paraguayischer Guaraní', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Katar-Riyal', + 'QAR', + 'Katar-Riyal', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Rhodesischer Dollar', + 'RHD', + 'Rhodesischer Dollar', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Rumänischer Leu (1952–2006)', + 'ROL', + 'Rumänischer Leu (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'Rumänischer Leu', + 'RON', + 'Rumänischer Leu', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Serbischer Dinar', + 'RSD', + 'Serbischer Dinar', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Russischer Rubel', + 'RUB', + 'Russischer Rubel', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Russischer Rubel (1991–1998)', + 'RUR', + 'Russischer Rubel (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Ruanda-Franc', + 'RWF', + 'Ruanda-Franc', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Saudi-Rial', + 'SAR', + 'Saudi-Rial', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Salomonen-Dollar', + 'SBD', + 'Salomonen-Dollar', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Seychellen-Rupie', + 'SCR', + 'Seychellen-Rupie', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Sudanesischer Dinar (1992–2007)', + 'SDD', + 'Sudanesischer Dinar (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Sudanesisches Pfund', + 'SDG', + 'Sudanesisches Pfund', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Sudanesisches Pfund (1957–1998)', + 'SDP', + 'Sudanesisches Pfund (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Schwedische Krone', + 'SEK', + 'Schwedische Krone', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Singapur-Dollar', + 'SGD', + 'Singapur-Dollar', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'St.-Helena-Pfund', + 'SHP', + 'St.-Helena-Pfund', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Slowenischer Tolar', + 'SIT', + 'Slowenischer Tolar', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Slowakische Krone', + 'SKK', + 'Slowakische Krone', + ], + 'SLE' => [ + 'SLE', + 'Sierra-leonischer Leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Sierra-leonischer Leone', + 'SLL', + 'Sierra-leonischer Leone (1964–2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Somalia-Schilling', + 'SOS', + 'Somalia-Schilling', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Suriname-Dollar', + 'SRD', + 'Suriname-Dollar', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Suriname Gulden', + 'SRG', + 'Suriname Gulden', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Südsudanesisches Pfund', + 'SSP', + 'Südsudanesisches Pfund', ], 'STD' => [ - 0 => 'STD', - 1 => 'São-toméischer Dobra (1977–2017)', + 'STD', + 'São-toméischer Dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'São-toméischer Dobra', + 'STN', + 'São-toméischer Dobra', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Sowjetischer Rubel', + 'SUR', + 'Sowjetischer Rubel', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'El Salvador Colon', + 'SVC', + 'El Salvador Colon', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Syrisches Pfund', + 'SYP', + 'Syrisches Pfund', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Swasiländischer Lilangeni', + 'SZL', + 'Swasiländischer Lilangeni', ], 'THB' => [ - 0 => '฿', - 1 => 'Thailändischer Baht', + '฿', + 'Thailändischer Baht', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Tadschikistan Rubel', + 'TJR', + 'Tadschikistan Rubel', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Tadschikistan-Somoni', + 'TJS', + 'Tadschikistan-Somoni', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Turkmenistan-Manat (1993–2009)', + 'TMM', + 'Turkmenistan-Manat (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Turkmenistan-Manat', + 'TMT', + 'Turkmenistan-Manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'Tunesischer Dinar', + 'TND', + 'Tunesischer Dinar', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Tongaischer Paʻanga', + 'TOP', + 'Tongaischer Paʻanga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Timor-Escudo', + 'TPE', + 'Timor-Escudo', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Türkische Lira (1922–2005)', + 'TRL', + 'Türkische Lira (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Türkische Lira', + 'TRY', + 'Türkische Lira', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Trinidad-und-Tobago-Dollar', + 'TTD', + 'Trinidad-und-Tobago-Dollar', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Neuer Taiwan-Dollar', + 'NT$', + 'Neuer Taiwan-Dollar', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Tansania-Schilling', + 'TZS', + 'Tansania-Schilling', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Ukrainische Hrywnja', + 'UAH', + 'Ukrainische Hrywnja', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Ukrainischer Karbovanetz', + 'UAK', + 'Ukrainischer Karbovanetz', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Uganda-Schilling (1966–1987)', + 'UGS', + 'Uganda-Schilling (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Uganda-Schilling', + 'UGX', + 'Uganda-Schilling', ], 'USD' => [ - 0 => '$', - 1 => 'US-Dollar', + '$', + 'US-Dollar', ], 'USN' => [ - 0 => 'USN', - 1 => 'US Dollar (Nächster Tag)', + 'USN', + 'US Dollar (Nächster Tag)', ], 'USS' => [ - 0 => 'USS', - 1 => 'US Dollar (Gleicher Tag)', + 'USS', + 'US Dollar (Gleicher Tag)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Uruguayischer Peso (Indexierte Rechnungseinheiten)', + 'UYI', + 'Uruguayischer Peso (Indexierte Rechnungseinheiten)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Uruguayischer Peso (1975–1993)', + 'UYP', + 'Uruguayischer Peso (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Uruguayischer Peso', + 'UYU', + 'Uruguayischer Peso', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Usbekistan-Sum', + 'UZS', + 'Usbekistan-Sum', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Venezolanischer Bolívar (1871–2008)', + 'VEB', + 'Venezolanischer Bolívar (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Venezolanischer Bolívar (2008–2018)', + 'VEF', + 'Venezolanischer Bolívar (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Venezolanischer Bolívar', + 'VES', + 'Venezolanischer Bolívar', ], 'VND' => [ - 0 => '₫', - 1 => 'Vietnamesischer Dong', + '₫', + 'Vietnamesischer Dong', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'Vietnamesischer Dong(1978–1985)', + 'VNN', + 'Vietnamesischer Dong(1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vanuatu-Vatu', + 'VUV', + 'Vanuatu-Vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Samoanischer Tala', + 'WST', + 'Samoanischer Tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'CFA-Franc (BEAC)', + 'FCFA', + 'CFA-Franc (BEAC)', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Ostkaribischer Dollar', + 'EC$', + 'Ostkaribischer Dollar', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'Europäische Währungseinheit (XEU)', + 'XEU', + 'Europäische Währungseinheit (XEU)', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Französischer Gold-Franc', + 'XFO', + 'Französischer Gold-Franc', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Französischer UIC-Franc', + 'XFU', + 'Französischer UIC-Franc', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'CFA-Franc (BCEAO)', + 'F CFA', + 'CFA-Franc (BCEAO)', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP-Franc', + 'CFPF', + 'CFP-Franc', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'RINET Funds', + 'XRE', + 'RINET Funds', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Jemen-Dinar', + 'YDD', + 'Jemen-Dinar', ], 'YER' => [ - 0 => 'YER', - 1 => 'Jemen-Rial', + 'YER', + 'Jemen-Rial', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Jugoslawischer Dinar (1966–1990)', + 'YUD', + 'Jugoslawischer Dinar (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Jugoslawischer Neuer Dinar (1994–2002)', + 'YUM', + 'Jugoslawischer Neuer Dinar (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Jugoslawischer Dinar (konvertibel)', + 'YUN', + 'Jugoslawischer Dinar (konvertibel)', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'Jugoslawischer reformierter Dinar (1992–1993)', + 'YUR', + 'Jugoslawischer reformierter Dinar (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Südafrikanischer Rand (Finanz)', + 'ZAL', + 'Südafrikanischer Rand (Finanz)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Südafrikanischer Rand', + 'ZAR', + 'Südafrikanischer Rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Kwacha (1968–2012)', + 'ZMK', + 'Kwacha (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Kwacha', + 'ZMW', + 'Kwacha', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Zaire-Neuer Zaïre (1993–1998)', + 'ZRN', + 'Zaire-Neuer Zaïre (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Zaire-Zaïre (1971–1993)', + 'ZRZ', + 'Zaire-Zaïre (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Simbabwe-Dollar (1980–2008)', + 'ZWD', + 'Simbabwe-Dollar (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Simbabwe-Dollar (2009)', + 'ZWL', + 'Simbabwe-Dollar (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Simbabwe-Dollar (2008)', + 'ZWR', + 'Simbabwe-Dollar (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_CH.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_CH.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_CH.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_CH.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,20 +3,20 @@ return [ 'Names' => [ 'BYN' => [ - 0 => 'BYN', - 1 => 'Weissrussischer Rubel', + 'BYN', + 'Weissrussischer Rubel', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Weissrussischer Rubel (2000–2016)', + 'BYR', + 'Weissrussischer Rubel (2000–2016)', ], 'EUR' => [ - 0 => 'EUR', - 1 => 'Euro', + 'EUR', + 'Euro', ], 'STN' => [ - 0 => 'STN', - 1 => 'São-toméischer Dobra (2018)', + 'STN', + 'São-toméischer Dobra (2018)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_LI.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_LI.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_LI.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_LI.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'EUR' => [ - 0 => 'EUR', - 1 => 'Euro', + 'EUR', + 'Euro', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_LU.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_LU.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_LU.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/de_LU.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'LUF' => [ - 0 => 'F', - 1 => 'Luxemburgischer Franc', + 'F', + 'Luxemburgischer Franc', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/dz.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/dz.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/dz.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/dz.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,304 +3,304 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'ཡུ་ནཱའི་ཊེཌ་ ཨ་རབ་ ཨེ་མེ་རེཊས་ཀྱི་དངུལ་ ཌིར་ཧཱམ', + 'AED', + 'ཡུ་ནཱའི་ཊེཌ་ ཨ་རབ་ ཨེ་མེ་རེཊས་ཀྱི་དངུལ་ ཌིར་ཧཱམ', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'ཨཕ་གཱན་གྱི་དངུལ་ ཨཕ་ག་ནི', + 'AFN', + 'ཨཕ་གཱན་གྱི་དངུལ་ ཨཕ་ག་ནི', ], 'AUD' => [ - 0 => 'AU$', - 1 => 'ཨཱོས་ཊྲེ་ལི་ཡ་གི་དངུལ་ ཌོ་ལར', + 'AU$', + 'ཨཱོས་ཊྲེ་ལི་ཡ་གི་དངུལ་ ཌོ་ལར', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'བྷང་ལ་དེཤ་གི་དངུལ་ ཏ་ཀ', + 'BDT', + 'བྷང་ལ་དེཤ་གི་དངུལ་ ཏ་ཀ', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'བར་མུ་ཌ་གི་དངུལ་ ཌོ་ལར', + 'BMD', + 'བར་མུ་ཌ་གི་དངུལ་ ཌོ་ལར', ], 'BRL' => [ - 0 => 'R$', - 1 => 'བྲ་ཛིལ་གྱི་དངུལ་ རེ་ཡལ', + 'R$', + 'བྲ་ཛིལ་གྱི་དངུལ་ རེ་ཡལ', ], 'BTN' => [ - 0 => 'Nu.', - 1 => 'དངུལ་ཀྲམ', + 'Nu.', + 'དངུལ་ཀྲམ', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'ཀེ་ན་ཌ་གི་དངུལ་ ཌོ་ལར', + 'CA$', + 'ཀེ་ན་ཌ་གི་དངུལ་ ཌོ་ལར', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'སུ་ཡིས་ཀྱི་དངུལ་ ཕྲངཀ', + 'CHF', + 'སུ་ཡིས་ཀྱི་དངུལ་ ཕྲངཀ', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'ཅི་ལི་གི་དངུལ་ པེ་སོ', + 'CLP', + 'ཅི་ལི་གི་དངུལ་ པེ་སོ', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'རྒྱ་ནག་གི་དངུལ་ ཡུ་ཝཱན', + 'CN¥', + 'རྒྱ་ནག་གི་དངུལ་ ཡུ་ཝཱན', ], 'COP' => [ - 0 => 'COP', - 1 => 'ཀོ་ལོམ་བྷི་ཡ་གི་དངུལ་ པེ་སོ', + 'COP', + 'ཀོ་ལོམ་བྷི་ཡ་གི་དངུལ་ པེ་སོ', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'ཀིའུ་བྷ་གི་དངུལ་ པེ་སོ', + 'CUP', + 'ཀིའུ་བྷ་གི་དངུལ་ པེ་སོ', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'ཌེན་མཱཀ་གི་དངུལ་ ཀྲོན', + 'DKK', + 'ཌེན་མཱཀ་གི་དངུལ་ ཀྲོན', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'ཨཱལ་ཇི་རི་ཡ་གི་དངུལ་ ཌའི་ནར', + 'DZD', + 'ཨཱལ་ཇི་རི་ཡ་གི་དངུལ་ ཌའི་ནར', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'ཨི་ཇིབཊ་གི་དངུལ་ པ་འུནཌ', + 'EGP', + 'ཨི་ཇིབཊ་གི་དངུལ་ པ་འུནཌ', ], 'EUR' => [ - 0 => '€', - 1 => 'ཡུ་རོ༌དངུལ་', + '€', + 'ཡུ་རོ༌དངུལ་', ], 'GBP' => [ - 0 => '£', - 1 => 'བྲི་ཊིཤ་ པ་འུནཌ་ ཨིས་ཊར་ལིང', + '£', + 'བྲི་ཊིཤ་ པ་འུནཌ་ ཨིས་ཊར་ལིང', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'ཧོང་ཀོང་གི་དངུལ་ ཌོ་ལར', + 'HK$', + 'ཧོང་ཀོང་གི་དངུལ་ ཌོ་ལར', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'ཨིན་ཌོ་ནེ་ཤི་ཡ་གི་དངུལ་ རུ་པི་ཡ', + 'IDR', + 'ཨིན་ཌོ་ནེ་ཤི་ཡ་གི་དངུལ་ རུ་པི་ཡ', ], 'ILS' => [ - 0 => 'ILS', - 1 => 'ཨིས་རེལ་གྱི་དངུལ་གསརཔ་ ཤེ་ཀེལ', + 'ILS', + 'ཨིས་རེལ་གྱི་དངུལ་གསརཔ་ ཤེ་ཀེལ', ], 'INR' => [ - 0 => '₹', - 1 => 'རྒྱ་གར་གྱི་དངུལ་ རུ་པི', + '₹', + 'རྒྱ་གར་གྱི་དངུལ་ རུ་པི', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'ཨི་རཱཀ་གི་དངུལ་ ཌི་ན', + 'IQD', + 'ཨི་རཱཀ་གི་དངུལ་ ཌི་ན', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'ཨི་རཱན་གྱི་དངུལ་ རི་ཨཱལ', + 'IRR', + 'ཨི་རཱན་གྱི་དངུལ་ རི་ཨཱལ', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'ཨཱཡིས་ལེནཌ་གི་དངུལ་ ཀྲོ་ན', + 'ISK', + 'ཨཱཡིས་ལེནཌ་གི་དངུལ་ ཀྲོ་ན', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'ཇཱ་མཻ་ཀ་གི་དངུལ་ ཌོ་ལར', + 'JMD', + 'ཇཱ་མཻ་ཀ་གི་དངུལ་ ཌོ་ལར', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'ཇོར་ཌན་གྱི་དངུལ་ ཌི་ན', + 'JOD', + 'ཇོར་ཌན་གྱི་དངུལ་ ཌི་ན', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'ཇཱ་པཱན་གྱི་དངུལ་ ཡེན', + 'JP¥', + 'ཇཱ་པཱན་གྱི་དངུལ་ ཡེན', ], 'KES' => [ - 0 => 'KES', - 1 => 'ཀེན་ཡ་གི་དངུལ་ ཤི་ལིང', + 'KES', + 'ཀེན་ཡ་གི་དངུལ་ ཤི་ལིང', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'ཀེམ་བྷོ་ཌི་ཡ་གི་དངུལ་ རི་ཨཱལ', + 'KHR', + 'ཀེམ་བྷོ་ཌི་ཡ་གི་དངུལ་ རི་ཨཱལ', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'ནོརཐ་ ཀོ་རི་ཡ་གི་དངུལ་ ཝོན', + 'KPW', + 'ནོརཐ་ ཀོ་རི་ཡ་གི་དངུལ་ ཝོན', ], 'KRW' => [ - 0 => 'KR₩', - 1 => 'སཱའུཐ་ ཀོ་རི་ཡ་གི་དངུལ་ ཝོན', + 'KR₩', + 'སཱའུཐ་ ཀོ་རི་ཡ་གི་དངུལ་ ཝོན', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'ཀུ་ཝེཊ་གི་དངུལ་ ཌི་ན', + 'KWD', + 'ཀུ་ཝེཊ་གི་དངུལ་ ཌི་ན', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'ཀ་ཛགས་ཏཱན་གྱི་དངུལ་ ཏེང་གེ', + 'KZT', + 'ཀ་ཛགས་ཏཱན་གྱི་དངུལ་ ཏེང་གེ', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'ལཱ་ཝོས་ཀྱི་དངུལ་ ཀིཔ', + 'LAK', + 'ལཱ་ཝོས་ཀྱི་དངུལ་ ཀིཔ', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'ལེ་བ་ནོན་གྱི་དངུལ་ པ་འུནཌ', + 'LBP', + 'ལེ་བ་ནོན་གྱི་དངུལ་ པ་འུནཌ', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'ཤྲི་ ལང་ཀ་གི་དངུལ་ རུ་པི', + 'LKR', + 'ཤྲི་ ལང་ཀ་གི་དངུལ་ རུ་པི', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'ལཱའི་བེ་རི་ཡ་གི་དངུལ་ ཌོ་ལར', + 'LRD', + 'ལཱའི་བེ་རི་ཡ་གི་དངུལ་ ཌོ་ལར', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'ལི་བི་ཡ་གི་དངུལ་ ཌི་ན', + 'LYD', + 'ལི་བི་ཡ་གི་དངུལ་ ཌི་ན', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'མོ་རོ་ཀོ་གི་དངུལ་ ཌིར་ཧཱམ', + 'MAD', + 'མོ་རོ་ཀོ་གི་དངུལ་ ཌིར་ཧཱམ', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'མི་ཡཱན་མར་གྱི་དངུལ་ ཅཱཏ', + 'MMK', + 'མི་ཡཱན་མར་གྱི་དངུལ་ ཅཱཏ', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'སོག་པོའི་དངུལ་ ཏུ་གྲིཀ', + 'MNT', + 'སོག་པོའི་དངུལ་ ཏུ་གྲིཀ', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'མཱལ་དིབས་ཀྱི་དངུལ་ རུ་ཕི་ཡ', + 'MVR', + 'མཱལ་དིབས་ཀྱི་དངུལ་ རུ་ཕི་ཡ', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'མེཀ་སི་ཀོ་གི་དངུལ་ པེ་སོ', + 'MX$', + 'མེཀ་སི་ཀོ་གི་དངུལ་ པེ་སོ', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'མ་ལེ་ཤི་ཡ་གི་དངུལ་ རིང་གིཊ', + 'MYR', + 'མ་ལེ་ཤི་ཡ་གི་དངུལ་ རིང་གིཊ', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'ནོར་ཝེ་གི་དངུལ་ ཀྲོ་ན', + 'NOK', + 'ནོར་ཝེ་གི་དངུལ་ ཀྲོ་ན', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'བལ་པོའི་དངུལ་ རུ་པི', + 'NPR', + 'བལ་པོའི་དངུལ་ རུ་པི', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'ནིའུ་ཛི་ལེནཌ་གི་དངུལ་ ཌོ་ལར', + 'NZ$', + 'ནིའུ་ཛི་ལེནཌ་གི་དངུལ་ ཌོ་ལར', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'ཨོ་མཱན་གྱི་དངུལ་ རི་ཨཱལ', + 'OMR', + 'ཨོ་མཱན་གྱི་དངུལ་ རི་ཨཱལ', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'པ་ན་མ་གི་དངུལ་ བཱལ་བོ་ཝ', + 'PAB', + 'པ་ན་མ་གི་དངུལ་ བཱལ་བོ་ཝ', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'པ་རུ་གི་དངུལ་ ནུ་བོ་ སཱོལ', + 'PEN', + 'པ་རུ་གི་དངུལ་ ནུ་བོ་ སཱོལ', ], 'PHP' => [ - 0 => '₱', - 1 => 'ཕི་ལི་པིནས་གྱི་དངུལ་ པེ་སོ', + '₱', + 'ཕི་ལི་པིནས་གྱི་དངུལ་ པེ་སོ', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'པ་ཀིས་ཏཱན་གྱི་དངུལ་ རུ་པི', + 'PKR', + 'པ་ཀིས་ཏཱན་གྱི་དངུལ་ རུ་པི', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'པོ་ལེནཌ་ཀྱི་དངུལ ཛ྄ལོ་ཊི', + 'PLN', + 'པོ་ལེནཌ་ཀྱི་དངུལ ཛ྄ལོ་ཊི', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'ཀ་ཊར་གྱི་དངུལ་ རི་ཨཱལ', + 'QAR', + 'ཀ་ཊར་གྱི་དངུལ་ རི་ཨཱལ', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'ཨུ་རུ་སུ་གི་དངུལ་ རུ་བཱལ', + 'RUB', + 'ཨུ་རུ་སུ་གི་དངུལ་ རུ་བཱལ', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'སཱཝ་དིའི་དངུལ་ རི་ཡཱལ', + 'SAR', + 'སཱཝ་དིའི་དངུལ་ རི་ཡཱལ', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'སེ་ཤཱལས་ཀྱི་དངུལ་ རུ་པི', + 'SCR', + 'སེ་ཤཱལས་ཀྱི་དངུལ་ རུ་པི', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'སུའི་ཌེན་གྱི་དངུལ་ ཀྲོ་ན', + 'SEK', + 'སུའི་ཌེན་གྱི་དངུལ་ ཀྲོ་ན', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'སིང་ག་པོར་གྱི་དངུལ་ ཌོ་ལར', + 'SGD', + 'སིང་ག་པོར་གྱི་དངུལ་ ཌོ་ལར', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'སི་རི་ཡ་གི་དངུལ་ པ་འུནཌ', + 'SYP', + 'སི་རི་ཡ་གི་དངུལ་ པ་འུནཌ', ], 'THB' => [ - 0 => 'TH฿', - 1 => 'ཐཱའི་ལེནཌ་གི་དངུལ་ བཱཏ', + 'TH฿', + 'ཐཱའི་ལེནཌ་གི་དངུལ་ བཱཏ', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'ཏ་ཇི་ཀིས་ཏཱན་གྱི་དངུལ་ སོ་མོ་ནི', + 'TJS', + 'ཏ་ཇི་ཀིས་ཏཱན་གྱི་དངུལ་ སོ་མོ་ནི', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'ཊཱར་ཀི་གི་དངུལ་ ལི་ར', + 'TRY', + 'ཊཱར་ཀི་གི་དངུལ་ ལི་ར', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'ཊཱའི་ཝཱན་གི་དངུལ ཌོ་ལར', + 'NT$', + 'ཊཱའི་ཝཱན་གི་དངུལ ཌོ་ལར', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'ཊཱན་ཛཱ་ནི་ཡ་གི་དངུལ་ ཤི་ལིང', + 'TZS', + 'ཊཱན་ཛཱ་ནི་ཡ་གི་དངུལ་ ཤི་ལིང', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'ཡུ་གྷེན་ཌ་གི་དངུལ་ ཤི་ལིང', + 'UGX', + 'ཡུ་གྷེན་ཌ་གི་དངུལ་ ཤི་ལིང', ], 'USD' => [ - 0 => 'US$', - 1 => 'ཡུ་ཨེས་ ཌོ་ལར', + 'US$', + 'ཡུ་ཨེས་ ཌོ་ལར', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'ཡུ་རུ་གུ་ཝའི་གི་དངུལ་ པེ་སོ', + 'UYU', + 'ཡུ་རུ་གུ་ཝའི་གི་དངུལ་ པེ་སོ', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'ཨུས་བེ་ཀིས་ཏཱན་གྱི་དངུལ་ སོམ', + 'UZS', + 'ཨུས་བེ་ཀིས་ཏཱན་གྱི་དངུལ་ སོམ', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'བེ་ནི་ཛུ་ཝེ་ལ་གི་དངུལ་ བོ་ལི་བར (2008–2018)', + 'VEF', + 'བེ་ནི་ཛུ་ཝེ་ལ་གི་དངུལ་ བོ་ལི་བར (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'བེ་ནི་ཛུ་ཝེ་ལ་གི་དངུལ་ བོ་ལི་བར', + 'VES', + 'བེ་ནི་ཛུ་ཝེ་ལ་གི་དངུལ་ བོ་ལི་བར', ], 'VND' => [ - 0 => '₫', - 1 => 'བེཊ་ནཱམ་གྱི་དངུལ་ ཌོང', + '₫', + 'བེཊ་ནཱམ་གྱི་དངུལ་ ཌོང', ], 'XAF' => [ - 0 => 'XAF', - 1 => 'XAF', + 'XAF', + 'XAF', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'སཱའུཐ་ ཨཕ་རི་ཀ་གི་དངུལ་ རཱནད', + 'ZAR', + 'སཱའུཐ་ ཨཕ་རི་ཀ་གི་དངུལ་ རཱནད', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ee.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ee.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ee.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ee.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1120 +3,1120 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'andorraga peseta', + 'ADP', + 'andorraga peseta', ], 'AED' => [ - 0 => 'AED', - 1 => 'united arab emiratesga dirham', + 'AED', + 'united arab emiratesga dirham', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'afghanistanga afghani (1927–2002)', + 'AFA', + 'afghanistanga afghani (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afghanistanga afghani', + 'AFN', + 'afghanistanga afghani', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'albaniaga lek (1946–1965)', + 'ALK', + 'albaniaga lek (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'albaniaga lek', + 'ALL', + 'albaniaga lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'armeniaga dram', + 'AMD', + 'armeniaga dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'netherlands antilleaga guilder', + 'ANG', + 'netherlands antilleaga guilder', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'angolaga kwanza', + 'AOA', + 'angolaga kwanza', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'angolaga kwanza (1977–1991)', + 'AOK', + 'angolaga kwanza (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'angolaga kwanza (1990–2000)', + 'AON', + 'angolaga kwanza (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'angolaga kwanza xoxotɔ (1995–1999)', + 'AOR', + 'angolaga kwanza xoxotɔ (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'argentinaga austral', + 'ARA', + 'argentinaga austral', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'argentinaga peso ley (1970–1983)', + 'ARL', + 'argentinaga peso ley (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'argentinaga peso (1881–1970)', + 'ARM', + 'argentinaga peso (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'argentinaga peso (1983–1985)', + 'ARP', + 'argentinaga peso (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'argentinaga peso', + 'ARS', + 'argentinaga peso', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'ɔstriaga schilling', + 'ATS', + 'ɔstriaga schilling', ], 'AUD' => [ - 0 => 'AU$', - 1 => 'Australiaga dollar', + 'AU$', + 'Australiaga dollar', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'arubaga lorin', + 'AWG', + 'arubaga lorin', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'azerbaidzanga manat (1993–2006)', + 'AZM', + 'azerbaidzanga manat (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'azerbaidzanga manat', + 'AZN', + 'azerbaidzanga manat', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'bosnia-herzegovinaga dinar (1992–1994)', + 'BAD', + 'bosnia-herzegovinaga dinar (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'bosnia-herzegovinaga convertible mark', + 'BAM', + 'bosnia-herzegovinaga convertible mark', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'bosnia kple herzegovinaga dinar yeyètɔ (1994–1997)', + 'BAN', + 'bosnia kple herzegovinaga dinar yeyètɔ (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'barbadosga dollar', + 'BBD', + 'barbadosga dollar', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'bangladeshga taka', + 'BDT', + 'bangladeshga taka', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'beldziumga franc (convertible)', + 'BEC', + 'beldziumga franc (convertible)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'beldziumga franc', + 'BEF', + 'beldziumga franc', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'beldziumga franc (financial)', + 'BEL', + 'beldziumga franc (financial)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'bɔlgariaga hard lev', + 'BGL', + 'bɔlgariaga hard lev', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'bɔlgariaga socialist lev', + 'BGM', + 'bɔlgariaga socialist lev', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'bulgariaga lev', + 'BGN', + 'bulgariaga lev', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'bulgariaga lev (1879–1952)', + 'BGO', + 'bulgariaga lev (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'bahrainga dinar', + 'BHD', + 'bahrainga dinar', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'burundiga franc', + 'BIF', + 'burundiga franc', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'bermudaga dollar', + 'BMD', + 'bermudaga dollar', ], 'BND' => [ - 0 => 'BND', - 1 => 'bruneiga dollar', + 'BND', + 'bruneiga dollar', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'boliviaga boliviano', + 'BOB', + 'boliviaga boliviano', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'boliviaga boliviano (1863–1963)', + 'BOL', + 'boliviaga boliviano (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'boliviaga peso', + 'BOP', + 'boliviaga peso', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'boliviaga mvdol', + 'BOV', + 'boliviaga mvdol', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'braziliaga cruzeiro xoxotɔ (1967–1986)', + 'BRB', + 'braziliaga cruzeiro xoxotɔ (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'brazilia cruzado (1986–1989)', + 'BRC', + 'brazilia cruzado (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'braziliaga cruzeiro xoxotɔ gbãtɔ (1990–1993)', + 'BRE', + 'braziliaga cruzeiro xoxotɔ gbãtɔ (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'braziliaga real', + 'R$', + 'braziliaga real', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'brazilia cruzado xoxotɔ (1989–1990)', + 'BRN', + 'brazilia cruzado xoxotɔ (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'braziliaga cruzeiro (1993–1994)', + 'BRR', + 'braziliaga cruzeiro (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'braziliaga cruzeiro (1942–1967)', + 'BRZ', + 'braziliaga cruzeiro (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'bahamasga dollar', + 'BSD', + 'bahamasga dollar', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'bhutanga ngultrum', + 'BTN', + 'bhutanga ngultrum', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'burmaga kyat', + 'BUK', + 'burmaga kyat', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'botswanaga pula', + 'BWP', + 'botswanaga pula', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'belarusiaga ruble yeytɔ (1994–1999)', + 'BYB', + 'belarusiaga ruble yeytɔ (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'belarusiaga ruble', + 'BYN', + 'belarusiaga ruble', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'belarusiaga ruble (2000–2016)', + 'BYR', + 'belarusiaga ruble (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'belizega dollar', + 'BZD', + 'belizega dollar', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'canadaga dollar', + 'CA$', + 'canadaga dollar', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'kongoga franc', + 'CDF', + 'kongoga franc', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'WIR euro CHE', + 'CHE', + 'WIR euro CHE', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'switzerlandga franc', + 'CHF', + 'switzerlandga franc', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'WIR euro CHW', + 'CHW', + 'WIR euro CHW', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'tsilega escudo', + 'CLE', + 'tsilega escudo', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'tsilegakɔnta dzidzenu UF', + 'CLF', + 'tsilegakɔnta dzidzenu UF', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'chilega peso', + 'CLP', + 'chilega peso', ], 'CNX' => [ - 0 => 'CNX', - 1 => 'tsainatɔwo ƒe gadzraɖoƒe dollar', + 'CNX', + 'tsainatɔwo ƒe gadzraɖoƒe dollar', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Chinesega yuan', + 'CN¥', + 'Chinesega yuan', ], 'COP' => [ - 0 => 'COP', - 1 => 'colombiaga peso', + 'COP', + 'colombiaga peso', ], 'COU' => [ - 0 => 'COU', - 1 => 'kolombiaga vavãtɔ', + 'COU', + 'kolombiaga vavãtɔ', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'costa ricaga colón', + 'CRC', + 'costa ricaga colón', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'serbiaga dinar (2002–2006)', + 'CSD', + 'serbiaga dinar (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'tsɛkoslovakiaga hard koruna', + 'CSK', + 'tsɛkoslovakiaga hard koruna', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'cubaga convertible peso', + 'CUC', + 'cubaga convertible peso', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'cubaga peso', + 'CUP', + 'cubaga peso', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'kape verdega escudo', + 'CVE', + 'kape verdega escudo', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'saipriɔtga pound', + 'CYP', + 'saipriɔtga pound', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'czechga koruna', + 'CZK', + 'czechga koruna', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'ɣedzeƒe germaniaga mark', + 'DDM', + 'ɣedzeƒe germaniaga mark', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'germaniaga mark', + 'DEM', + 'germaniaga mark', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'dziboutiga franc', + 'DJF', + 'dziboutiga franc', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'denmarkga krone', + 'DKK', + 'denmarkga krone', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'dominicaga peso', + 'DOP', + 'dominicaga peso', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'aldzeriaga dinar', + 'DZD', + 'aldzeriaga dinar', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'ekuadɔga sucre', + 'ECS', + 'ekuadɔga sucre', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'ekuadɔ dzidzenu matrɔmatrɔ', + 'ECV', + 'ekuadɔ dzidzenu matrɔmatrɔ', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'estoniaga kroon', + 'EEK', + 'estoniaga kroon', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'egyptega pound', + 'EGP', + 'egyptega pound', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'eritreaga nakfa', + 'ERN', + 'eritreaga nakfa', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'spaniaga peseta (A)', + 'ESA', + 'spaniaga peseta (A)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'spaniaga peseta (Convertible)', + 'ESB', + 'spaniaga peseta (Convertible)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'spaniaga peseta', + 'ESP', + 'spaniaga peseta', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'ethiopiaga birr', - ], - 'EUR' => [ - 0 => '€', - 1 => 'EUR', + 'ETB', + 'ethiopiaga birr', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'finlandga markka', + 'FIM', + 'finlandga markka', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'fidziga dollar', + 'FJD', + 'fidziga dollar', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'falkland islands pound', + 'FKP', + 'falkland islands pound', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'frentsiga franc', + 'FRF', + 'frentsiga franc', ], 'GBP' => [ - 0 => '£', - 1 => 'britainga pound', + '£', + 'britainga pound', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'dzɔdziaga kupon larit', + 'GEK', + 'dzɔdziaga kupon larit', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'dzɔdziaga lari', + 'GEL', + 'dzɔdziaga lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'ghana siɖi (1979–2007)', + 'GHC', + 'ghana siɖi (1979–2007)', ], 'GHS' => [ - 0 => 'GH₵', - 1 => 'ghana siɖi', + 'GH₵', + 'ghana siɖi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'gilbratarga pound', + 'GIP', + 'gilbratarga pound', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'gambiaga dalasi', + 'GMD', + 'gambiaga dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'giniga franc', + 'GNF', + 'giniga franc', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'giniga syli', + 'GNS', + 'giniga syli', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'ekuatorial giniga ekwele', + 'GQE', + 'ekuatorial giniga ekwele', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'grisiga drachma', + 'GRD', + 'grisiga drachma', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'guatemalaga quetzal', + 'GTQ', + 'guatemalaga quetzal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'pɔtugaltɔwo ƒe giniga escudo', + 'GWE', + 'pɔtugaltɔwo ƒe giniga escudo', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'gini-bisau peso', + 'GWP', + 'gini-bisau peso', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'guyanaga dollar', + 'GYD', + 'guyanaga dollar', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Hong Kongga dollar', + 'HK$', + 'Hong Kongga dollar', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'honduraga lempira', + 'HNL', + 'honduraga lempira', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'kroatiaga dinar', + 'HRD', + 'kroatiaga dinar', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'croatiaga kuna', + 'HRK', + 'croatiaga kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'haitiga gourde', + 'HTG', + 'haitiga gourde', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'hungariaga forint', + 'HUF', + 'hungariaga forint', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Indonesiaga rupiah', + 'IDR', + 'Indonesiaga rupiah', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'ireland pound', + 'IEP', + 'ireland pound', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'israelga pound', + 'ILP', + 'israelga pound', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'israelga sheqel (1980–1985)', + 'ILR', + 'israelga sheqel (1980–1985)', ], 'ILS' => [ - 0 => '₪', - 1 => 'israelga yeyetɔ sheqel', + '₪', + 'israelga yeyetɔ sheqel', ], 'INR' => [ - 0 => '₹', - 1 => 'Indiaga rupee', + '₹', + 'Indiaga rupee', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'irakga dinar', + 'IQD', + 'irakga dinar', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'iranga rial', + 'IRR', + 'iranga rial', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'aiselandga króna (1918–1981)', + 'ISJ', + 'aiselandga króna (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'icelandga króna', + 'ISK', + 'icelandga króna', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'italiaga lira', + 'ITL', + 'italiaga lira', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'jamaicaga dollar', + 'JMD', + 'jamaicaga dollar', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'yɔdanga dinar', + 'JOD', + 'yɔdanga dinar', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Japanesega yen', + 'JP¥', + 'Japanesega yen', ], 'KES' => [ - 0 => 'KES', - 1 => 'kenyaga shilling', + 'KES', + 'kenyaga shilling', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'kirgistanga som', + 'KGS', + 'kirgistanga som', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'kambodiaga riel', + 'KHR', + 'kambodiaga riel', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'komoroga franc', + 'KMF', + 'komoroga franc', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'dziehe koreaga won', + 'KPW', + 'dziehe koreaga won', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'anyiehe koreaga hwan (1953–1962)', + 'KRH', + 'anyiehe koreaga hwan (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'anyiehe koreaga won (1945–1953)', + 'KRO', + 'anyiehe koreaga won (1945–1953)', ], 'KRW' => [ - 0 => '₩', - 1 => 'South Koreaga won', + '₩', + 'South Koreaga won', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'kuwaitga dinar', + 'KWD', + 'kuwaitga dinar', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'cayman islandsga dollar', + 'KYD', + 'cayman islandsga dollar', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'kazakhstanga tenge', + 'KZT', + 'kazakhstanga tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'laosga kip', + 'LAK', + 'laosga kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'lebanonga pound', + 'LBP', + 'lebanonga pound', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'sri lankaga rupee', + 'LKR', + 'sri lankaga rupee', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'liberiaga dollar', + 'LRD', + 'liberiaga dollar', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'lesotoga loti', + 'LSL', + 'lesotoga loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'lithuaniaga litas', + 'LTL', + 'lithuaniaga litas', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'lithuaniaga talonas', + 'LTT', + 'lithuaniaga talonas', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'lazembɔgga convertible franc', + 'LUC', + 'lazembɔgga convertible franc', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'lazembɔgga franc', + 'LUF', + 'lazembɔgga franc', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'lazembɔgga gadzikpɔ franc', + 'LUL', + 'lazembɔgga gadzikpɔ franc', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'latviaga lats', + 'LVL', + 'latviaga lats', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'latviaga ruble', + 'LVR', + 'latviaga ruble', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'libyaga dinar', + 'LYD', + 'libyaga dinar', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'morokoga dirham', + 'MAD', + 'morokoga dirham', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'morokoga franc', + 'MAF', + 'morokoga franc', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'monegaskga franc', + 'MCF', + 'monegaskga franc', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'moldovaga cupon', + 'MDC', + 'moldovaga cupon', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'moldovaga leu', + 'MDL', + 'moldovaga leu', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'malagasega ariary', + 'MGA', + 'malagasega ariary', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'malagasega franc', + 'MGF', + 'malagasega franc', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'marcedoniaga denar', + 'MKD', + 'marcedoniaga denar', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'makedoniaga denar (1992–1993)', + 'MKN', + 'makedoniaga denar (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'maliga franc', + 'MLF', + 'maliga franc', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'myanmaga kyat', + 'MMK', + 'myanmaga kyat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'mongoliaga tugrik', + 'MNT', + 'mongoliaga tugrik', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'makanesega pataca', + 'MOP', + 'makanesega pataca', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'mɔritaniaga ouguiya (1973–2017)', + 'MRO', + 'mɔritaniaga ouguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'mɔritaniaga ouguiya', + 'MRU', + 'mɔritaniaga ouguiya', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'maltaga lira', + 'MTL', + 'maltaga lira', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'maltaga pound', + 'MTP', + 'maltaga pound', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'mɔritiusga rupee', + 'MUR', + 'mɔritiusga rupee', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'maldiviaga rufiyaa', + 'MVR', + 'maldiviaga rufiyaa', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'mexicoga peso', + 'MX$', + 'mexicoga peso', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'malaysiaga ringit', + 'MYR', + 'malaysiaga ringit', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'naidzeriaga naira', + 'NGN', + 'naidzeriaga naira', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'nikaraguaga córdoba (1988–1991)', + 'NIC', + 'nikaraguaga córdoba (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'nicaraguaga córdoba', + 'NIO', + 'nicaraguaga córdoba', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'hollandga guilder', + 'NLG', + 'hollandga guilder', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'norwayga krone', + 'NOK', + 'norwayga krone', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'nepalga rupee', + 'NPR', + 'nepalga rupee', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'new zealanɖga dollar', + 'NZ$', + 'new zealanɖga dollar', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'omanga rial', + 'OMR', + 'omanga rial', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'panamaga balboa', + 'PAB', + 'panamaga balboa', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'peruga inti', + 'PEI', + 'peruga inti', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'peruga sol', + 'PEN', + 'peruga sol', ], 'PES' => [ - 0 => 'PES', - 1 => 'peruga sol (1863–1965)', + 'PES', + 'peruga sol (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'papua new guineaga kina', + 'PGK', + 'papua new guineaga kina', ], 'PHP' => [ - 0 => '₱', - 1 => 'filipiniga peso', + '₱', + 'filipiniga peso', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'pakistaniga rupee', + 'PKR', + 'pakistaniga rupee', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'polandga zloty', + 'PLN', + 'polandga zloty', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'polanɖga zloty (1950–1995)', + 'PLZ', + 'polanɖga zloty (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'pɔtugalga escudo', + 'PTE', + 'pɔtugalga escudo', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'paraguayga guarani', + 'PYG', + 'paraguayga guarani', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'katarga rial', + 'QAR', + 'katarga rial', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'rhodesiaga dollar', + 'RHD', + 'rhodesiaga dollar', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'romaniaga leu (1952–2006)', + 'ROL', + 'romaniaga leu (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'romaniaga leu', + 'RON', + 'romaniaga leu', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'serbiaga dinar', + 'RSD', + 'serbiaga dinar', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'russiaga ruble', + 'RUB', + 'russiaga ruble', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'rɔtsiaga ruble (1991–1998)', + 'RUR', + 'rɔtsiaga ruble (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'rwandaga franc', + 'RWF', + 'rwandaga franc', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Saudi Arabiaga riyal', + 'SAR', + 'Saudi Arabiaga riyal', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'solomon ƒudomekpo dukɔwo ƒe ga dollar', + 'SBD', + 'solomon ƒudomekpo dukɔwo ƒe ga dollar', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'sɛtselsga rupee', + 'SCR', + 'sɛtselsga rupee', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'sudanga dinar (1992–2007)', + 'SDD', + 'sudanga dinar (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'sudanga pound', + 'SDG', + 'sudanga pound', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'sudanga pound (1957–1998)', + 'SDP', + 'sudanga pound (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'swedenga krone', + 'SEK', + 'swedenga krone', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'singapɔga dollar', + 'SGD', + 'singapɔga dollar', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'saint helenaga pound', + 'SHP', + 'saint helenaga pound', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'slovaniaga tolar', + 'SIT', + 'slovaniaga tolar', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'slovakga koruna', + 'SKK', + 'slovakga koruna', + ], + 'SLE' => [ + 'SLE', + 'sierra leonega leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'sierra leonega leone', + 'SLL', + 'sierra leonega leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'somaliaga shilling', + 'SOS', + 'somaliaga shilling', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'surinamga dollar', + 'SRD', + 'surinamga dollar', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'surinamega guilder', + 'SRG', + 'surinamega guilder', ], 'STD' => [ - 0 => 'STD', - 1 => 'são tomé kple príncipega dobra (1977–2017)', + 'STD', + 'são tomé kple príncipega dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'são tomé kple príncipega dobra', + 'STN', + 'são tomé kple príncipega dobra', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'sovietga rouble', + 'SUR', + 'sovietga rouble', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'salvadɔga colón', + 'SVC', + 'salvadɔga colón', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'syriaga pound', + 'SYP', + 'syriaga pound', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'swaziga lilangeni', + 'SZL', + 'swaziga lilangeni', ], 'THB' => [ - 0 => '฿', - 1 => 'Thailandga baht', + '฿', + 'Thailandga baht', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'tajikistanga ruble', + 'TJR', + 'tajikistanga ruble', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'tajikistanga somoni', + 'TJS', + 'tajikistanga somoni', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'turkmenistanga manat (1993–2009)', + 'TMM', + 'turkmenistanga manat (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'turkmenistanga manat', + 'TMT', + 'turkmenistanga manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'tunisiaga dinar', + 'TND', + 'tunisiaga dinar', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'tonagaga pa’anga', + 'TOP', + 'tonagaga pa’anga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'timɔga escudo', + 'TPE', + 'timɔga escudo', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'tɛkiiga lira (1922–2005)', + 'TRL', + 'tɛkiiga lira (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Turkishga lira', + 'TRY', + 'Turkishga lira', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'trinidad & tobagoga dollar', + 'TTD', + 'trinidad & tobagoga dollar', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Taiwanga dollar', + 'NT$', + 'Taiwanga dollar', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Tanzaniatɔwofɛgadudu', + 'TZS', + 'Tanzaniatɔwofɛgadudu', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'ukrainega hryvnia', + 'UAH', + 'ukrainega hryvnia', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'ukrainega karbovanet', + 'UAK', + 'ukrainega karbovanet', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'ugandaga shilling (1966–1987)', + 'UGS', + 'ugandaga shilling (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'ugandaga shilling', + 'UGX', + 'ugandaga shilling', ], 'USD' => [ - 0 => 'US$', - 1 => 'us ga dollar', + 'US$', + 'us ga dollar', ], 'USN' => [ - 0 => 'USN', - 1 => 'us ga dollar (ŋkeke si gbɔna tɔ)', + 'USN', + 'us ga dollar (ŋkeke si gbɔna tɔ)', ], 'USS' => [ - 0 => 'USS', - 1 => 'us ga dollar (ŋkeke ma ke tɔ)', + 'USS', + 'us ga dollar (ŋkeke ma ke tɔ)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'uruguayga peso UYI', + 'UYI', + 'uruguayga peso UYI', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'uruguayga peso (1975–1993)', + 'UYP', + 'uruguayga peso (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'uruguayga peso', + 'UYU', + 'uruguayga peso', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'uzbekistanga som', + 'UZS', + 'uzbekistanga som', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'venezuelaga bolívar (1871–2008)', + 'VEB', + 'venezuelaga bolívar (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'venezuelaga bolívar (2008–2018)', + 'VEF', + 'venezuelaga bolívar (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'venezuelaga bolívar', + 'VES', + 'venezuelaga bolívar', ], 'VND' => [ - 0 => '₫', - 1 => 'vietnamga dong', + '₫', + 'vietnamga dong', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'vietnamga dong (1978–1985)', + 'VNN', + 'vietnamga dong (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vanuatuga vatu', + 'VUV', + 'vanuatuga vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'samaoga tala', + 'WST', + 'samaoga tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'ɣetoɖofe afrikaga CFA franc BEAC', + 'FCFA', + 'ɣetoɖofe afrikaga CFA franc BEAC', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'east caribbeanga dollar', + 'EC$', + 'east caribbeanga dollar', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'europa gaɖuɖu', + 'XEU', + 'europa gaɖuɖu', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'fransemega sika franc', + 'XFO', + 'fransemega sika franc', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'frentsi UIC-franc', + 'XFU', + 'frentsi UIC-franc', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'ɣetoɖofe afrikaga CFA franc BCEAO', + 'F CFA', + 'ɣetoɖofe afrikaga CFA franc BCEAO', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP ga franc', + 'CFPF', + 'CFP ga franc', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'RINET gadodo XRE', + 'XRE', + 'RINET gadodo XRE', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'yemeniga dinar', + 'YDD', + 'yemeniga dinar', ], 'YER' => [ - 0 => 'YER', - 1 => 'yemeniga rial', + 'YER', + 'yemeniga rial', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'yugoslaviaga hard dinar (1966–1990)', + 'YUD', + 'yugoslaviaga hard dinar (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'yugoslaviaga yeyetɔ dinar (1994–2002)', + 'YUM', + 'yugoslaviaga yeyetɔ dinar (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'yugoslaviaga convertible dinar (1990–1992)', + 'YUN', + 'yugoslaviaga convertible dinar (1990–1992)', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'yugoslaviaga dinar (1992–1993)', + 'YUR', + 'yugoslaviaga dinar (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'anyiehe afrikaga rand (gadzikpɔtɔ)', + 'ZAL', + 'anyiehe afrikaga rand (gadzikpɔtɔ)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'South Africaga rand', + 'ZAR', + 'South Africaga rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'zambiaga kwacha (1968–2012)', + 'ZMK', + 'zambiaga kwacha (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'zambiaga kwacha', + 'ZMW', + 'zambiaga kwacha', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'zairega yeyetɔ zaire', + 'ZRN', + 'zairega yeyetɔ zaire', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'zairega zaire (1971–1993)', + 'ZRZ', + 'zairega zaire (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'zimbabwega dollar (1980–2008)', + 'ZWD', + 'zimbabwega dollar (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'zimbabwega dollar (2009)', + 'ZWL', + 'zimbabwega dollar (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'zimbabwega dollar (2008)', + 'ZWR', + 'zimbabwega dollar (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/el.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/el.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/el.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/el.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1060 +3,1064 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Πεσέτα Ανδόρας', + 'ADP', + 'Πεσέτα Ανδόρας', ], 'AED' => [ - 0 => 'AED', - 1 => 'Ντιράμ Ηνωμένων Αραβικών Εμιράτων', + 'AED', + 'Ντιράμ Ηνωμένων Αραβικών Εμιράτων', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Αφγανί Αφγανιστάν (1927–2002)', + 'AFA', + 'Αφγανί Αφγανιστάν (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Αφγάνι Αφγανιστάν', + 'AFN', + 'Αφγάνι Αφγανιστάν', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Λεκ Αλβανίας', + 'ALL', + 'Λεκ Αλβανίας', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Ντραμ Αρμενίας', + 'AMD', + 'Ντραμ Αρμενίας', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Γκίλντα Ολλανδικών Αντιλλών', + 'ANG', + 'Γκίλντα Ολλανδικών Αντιλλών', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Κουάνζα Ανγκόλας', + 'AOA', + 'Κουάνζα Ανγκόλας', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Κουάνζα Ανγκόλας (1977–1990)', + 'AOK', + 'Κουάνζα Ανγκόλας (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Νέα Κουάνζα Ανγκόλας (1990–2000)', + 'AON', + 'Νέα Κουάνζα Ανγκόλας (1990–2000)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Ωστράλ Αργετινής', + 'ARA', + 'Ωστράλ Αργετινής', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Πέσο Αργεντινής (1983–1985)', + 'ARP', + 'Πέσο Αργεντινής (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Πέσο Αργεντινής', + 'ARS', + 'Πέσο Αργεντινής', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Σελίνι Αυστρίας', + 'ATS', + 'Σελίνι Αυστρίας', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Δολάριο Αυστραλίας', + 'A$', + 'Δολάριο Αυστραλίας', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Φλορίνι Αρούμπας', + 'AWG', + 'Φλορίνι Αρούμπας', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Μανάτ Αζερμπαϊτζάν (1993–2006)', + 'AZM', + 'Μανάτ Αζερμπαϊτζάν (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Μανάτ Αζερμπαϊτζάν', + 'AZN', + 'Μανάτ Αζερμπαϊτζάν', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Δηνάριο Βοσνίας-Ερζεγοβίνης', + 'BAD', + 'Δηνάριο Βοσνίας-Ερζεγοβίνης', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Μετατρέψιμο Μάρκο Βοσνίας-Ερζεγοβίνης', + 'BAM', + 'Μετατρέψιμο Μάρκο Βοσνίας-Ερζεγοβίνης', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Δολάριο Μπαρμπέιντος', + 'BBD', + 'Δολάριο Μπαρμπέιντος', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Τάκα Μπαγκλαντές', + 'BDT', + 'Τάκα Μπαγκλαντές', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Φράγκο Βελγίου (μετατρέψιμο)', + 'BEC', + 'Φράγκο Βελγίου (μετατρέψιμο)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Φράγκο Βελγίου', + 'BEF', + 'Φράγκο Βελγίου', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Φράγκο Βελγίου (οικονομικό)', + 'BEL', + 'Φράγκο Βελγίου (οικονομικό)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Μεταλλικό Λεβ Βουλγαρίας', + 'BGL', + 'Μεταλλικό Λεβ Βουλγαρίας', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Λεβ Βουλγαρίας', + 'BGN', + 'Λεβ Βουλγαρίας', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Δηνάριο Μπαχρέιν', + 'BHD', + 'Δηνάριο Μπαχρέιν', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Φράγκο Μπουρούντι', + 'BIF', + 'Φράγκο Μπουρούντι', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Δολάριο Βερμούδων', + 'BMD', + 'Δολάριο Βερμούδων', ], 'BND' => [ - 0 => 'BND', - 1 => 'Δολάριο Μπρουνέι', + 'BND', + 'Δολάριο Μπρουνέι', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Μπολιβιάνο Βολιβίας', + 'BOB', + 'Μπολιβιάνο Βολιβίας', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Πέσο Βολιβίας', + 'BOP', + 'Πέσο Βολιβίας', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Μβδολ Βολιβίας', + 'BOV', + 'Μβδολ Βολιβίας', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Νέο Κρουζιέρο Βραζιλίας (1967–1986)', + 'BRB', + 'Νέο Κρουζιέρο Βραζιλίας (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Κρουζάντο Βραζιλίας', + 'BRC', + 'Κρουζάντο Βραζιλίας', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Κρουζιέρο Βραζιλίας (1990–1993)', + 'BRE', + 'Κρουζιέρο Βραζιλίας (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Ρεάλ Βραζιλίας', + 'R$', + 'Ρεάλ Βραζιλίας', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Νέο Κρουζάντο Βραζιλίας', + 'BRN', + 'Νέο Κρουζάντο Βραζιλίας', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Κρουζιέρο Βραζιλίας', + 'BRR', + 'Κρουζιέρο Βραζιλίας', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Δολάριο Μπαχαμών', + 'BSD', + 'Δολάριο Μπαχαμών', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Νγκούλτρουμ Μπουτάν', + 'BTN', + 'Νγκούλτρουμ Μπουτάν', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Κιατ Βιρμανίας', + 'BUK', + 'Κιατ Βιρμανίας', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Πούλα Μποτσουάνας', + 'BWP', + 'Πούλα Μποτσουάνας', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Νέο Ρούβλι Λευκορωσίας (1994–1999)', + 'BYB', + 'Νέο Ρούβλι Λευκορωσίας (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Ρούβλι Λευκορωσίας', + 'BYN', + 'Ρούβλι Λευκορωσίας', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Ρούβλι Λευκορωσίας (2000–2016)', + 'BYR', + 'Ρούβλι Λευκορωσίας (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Δολάριο Μπελίζ', + 'BZD', + 'Δολάριο Μπελίζ', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Δολάριο Καναδά', + 'CA$', + 'Δολάριο Καναδά', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Φράγκο Κονγκό', + 'CDF', + 'Φράγκο Κονγκό', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'Ευρώ WIR', + 'CHE', + 'Ευρώ WIR', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Φράγκο Ελβετίας', + 'CHF', + 'Φράγκο Ελβετίας', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'Φράγκο WIR', + 'CHW', + 'Φράγκο WIR', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Ουνιδάδες ντε φομέντο Χιλής', + 'CLF', + 'Ουνιδάδες ντε φομέντο Χιλής', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Πέσο Χιλής', + 'CLP', + 'Πέσο Χιλής', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Γουάν Κίνας (υπεράκτιο)', + 'CNH', + 'Γουάν Κίνας (υπεράκτιο)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Γουάν Κίνας', + 'CN¥', + 'Γουάν Κίνας', ], 'COP' => [ - 0 => 'COP', - 1 => 'Πέσο Κολομβίας', + 'COP', + 'Πέσο Κολομβίας', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Κολόν Κόστα Ρίκα', + 'CRC', + 'Κολόν Κόστα Ρίκα', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Παλαιό Δηνάριο Σερβίας', + 'CSD', + 'Παλαιό Δηνάριο Σερβίας', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Σκληρή Κορόνα Τσεχοσλοβακίας', + 'CSK', + 'Σκληρή Κορόνα Τσεχοσλοβακίας', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Μετατρέψιμο πέσο Κούβας', + 'CUC', + 'Μετατρέψιμο πέσο Κούβας', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Πέσο Κούβας', + 'CUP', + 'Πέσο Κούβας', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Εσκούδο Πράσινου Ακρωτηρίου', + 'CVE', + 'Εσκούδο Πράσινου Ακρωτηρίου', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Λίρα Κύπρου', + 'CYP', + 'Λίρα Κύπρου', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Κορόνα Τσεχίας', + 'CZK', + 'Κορόνα Τσεχίας', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Οστμάρκ Ανατολικής Γερμανίας', + 'DDM', + 'Οστμάρκ Ανατολικής Γερμανίας', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Μάρκο Γερμανίας', + 'DEM', + 'Μάρκο Γερμανίας', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Φράγκο Τζιμπουτί', + 'DJF', + 'Φράγκο Τζιμπουτί', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Κορόνα Δανίας', + 'DKK', + 'Κορόνα Δανίας', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Πέσο Δομινικανής Δημοκρατίας', + 'DOP', + 'Πέσο Δομινικανής Δημοκρατίας', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Δηνάριο Αλγερίας', + 'DZD', + 'Δηνάριο Αλγερίας', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Σούκρε Εκουαδόρ', + 'ECS', + 'Σούκρε Εκουαδόρ', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Κορόνα Εσθονίας', + 'EEK', + 'Κορόνα Εσθονίας', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Λίρα Αιγύπτου', + 'EGP', + 'Λίρα Αιγύπτου', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Νάκφα Ερυθραίας', + 'ERN', + 'Νάκφα Ερυθραίας', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'πεσέτα Ισπανίας (λογαριασμός Α)', + 'ESA', + 'πεσέτα Ισπανίας (λογαριασμός Α)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'πεσέτα Ισπανίας (μετατρέψιμος λογαριασμός)', + 'ESB', + 'πεσέτα Ισπανίας (μετατρέψιμος λογαριασμός)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Πεσέτα Ισπανίας', + 'ESP', + 'Πεσέτα Ισπανίας', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Μπιρ Αιθιοπίας', + 'ETB', + 'Μπιρ Αιθιοπίας', ], 'EUR' => [ - 0 => '€', - 1 => 'Ευρώ', + '€', + 'Ευρώ', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Μάρκο Φινλανδίας', + 'FIM', + 'Μάρκο Φινλανδίας', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Δολάριο Φίτζι', + 'FJD', + 'Δολάριο Φίτζι', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Λίρα Νήσων Φόκλαντ', + 'FKP', + 'Λίρα Νήσων Φόκλαντ', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Φράγκο Γαλλίας', + 'FRF', + 'Φράγκο Γαλλίας', ], 'GBP' => [ - 0 => '£', - 1 => 'Λίρα Στερλίνα Βρετανίας', + '£', + 'Λίρα Στερλίνα Βρετανίας', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Κούπον Λάρι Γεωργίας', + 'GEK', + 'Κούπον Λάρι Γεωργίας', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Λάρι Γεωργίας', + 'GEL', + 'Λάρι Γεωργίας', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Σέντι Γκάνας (1979–2007)', + 'GHC', + 'Σέντι Γκάνας (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Σέντι Γκάνας', + 'GHS', + 'Σέντι Γκάνας', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Λίρα Γιβραλτάρ', + 'GIP', + 'Λίρα Γιβραλτάρ', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Νταλάσι Γκάμπιας', + 'GMD', + 'Νταλάσι Γκάμπιας', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Φράγκο Γουινέας', + 'GNF', + 'Φράγκο Γουινέας', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Συλί Γουινέας', + 'GNS', + 'Συλί Γουινέας', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Εκγουέλε Ισημερινής Γουινέας', + 'GQE', + 'Εκγουέλε Ισημερινής Γουινέας', ], 'GRD' => [ - 0 => 'Δρχ', - 1 => 'Δραχμή Ελλάδας', + 'Δρχ', + 'Δραχμή Ελλάδας', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Κουετσάλ Γουατεμάλας', + 'GTQ', + 'Κουετσάλ Γουατεμάλας', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Γκινέα Εσκούδο Πορτογαλίας', + 'GWE', + 'Γκινέα Εσκούδο Πορτογαλίας', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Πέσο Γουινέας-Μπισάου', + 'GWP', + 'Πέσο Γουινέας-Μπισάου', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Δολάριο Γουιάνας', + 'GYD', + 'Δολάριο Γουιάνας', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Δολάριο Χονγκ Κονγκ', + 'HK$', + 'Δολάριο Χονγκ Κονγκ', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Λεμπίρα Ονδούρας', + 'HNL', + 'Λεμπίρα Ονδούρας', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Δηνάριο Κροατίας', + 'HRD', + 'Δηνάριο Κροατίας', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Κούνα Κροατίας', + 'HRK', + 'Κούνα Κροατίας', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Γκουρντ Αϊτής', + 'HTG', + 'Γκουρντ Αϊτής', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Φιορίνι Ουγγαρίας', + 'HUF', + 'Φιορίνι Ουγγαρίας', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Ρουπία Ινδονησίας', + 'IDR', + 'Ρουπία Ινδονησίας', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Λίρα Ιρλανδίας', + 'IEP', + 'Λίρα Ιρλανδίας', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Λίρα Ισραήλ', + 'ILP', + 'Λίρα Ισραήλ', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'παλιό σεκέλ Ισραήλ', + 'ILR', + 'παλιό σεκέλ Ισραήλ', ], 'ILS' => [ - 0 => '₪', - 1 => 'Νέο Σέκελ Ισραήλ', + '₪', + 'Νέο Σέκελ Ισραήλ', ], 'INR' => [ - 0 => '₹', - 1 => 'Ρουπία Ινδίας', + '₹', + 'Ρουπία Ινδίας', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Δηνάριο Ιράκ', + 'IQD', + 'Δηνάριο Ιράκ', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Ριάλ Ιράν', + 'IRR', + 'Ριάλ Ιράν', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'Παλιά κορόνα Ισλανδίας', + 'ISJ', + 'Παλιά κορόνα Ισλανδίας', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Κορόνα Ισλανδίας', + 'ISK', + 'Κορόνα Ισλανδίας', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Λιρέτα Ιταλίας', + 'ITL', + 'Λιρέτα Ιταλίας', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Δολάριο Τζαμάικας', + 'JMD', + 'Δολάριο Τζαμάικας', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Δηνάριο Ιορδανίας', + 'JOD', + 'Δηνάριο Ιορδανίας', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Γιεν Ιαπωνίας', + 'JP¥', + 'Γιεν Ιαπωνίας', ], 'KES' => [ - 0 => 'KES', - 1 => 'Σελίνι Κένυας', + 'KES', + 'Σελίνι Κένυας', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Σομ Κιργιζίας', + 'KGS', + 'Σομ Κιργιζίας', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Ρίελ Καμπότζης', + 'KHR', + 'Ρίελ Καμπότζης', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Φράγκο Κομορών', + 'KMF', + 'Φράγκο Κομορών', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Γουόν Βόρειας Κορέας', + 'KPW', + 'Γουόν Βόρειας Κορέας', ], 'KRW' => [ - 0 => '₩', - 1 => 'Γουόν Νότιας Κορέας', + '₩', + 'Γουόν Νότιας Κορέας', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Δηνάριο Κουβέιτ', + 'KWD', + 'Δηνάριο Κουβέιτ', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Δολάριο Νήσων Κέιμαν', + 'KYD', + 'Δολάριο Νήσων Κέιμαν', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Τένγκε Καζακστάν', + 'KZT', + 'Τένγκε Καζακστάν', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Κιπ Λάος', + 'LAK', + 'Κιπ Λάος', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Λίρα Λιβάνου', + 'LBP', + 'Λίρα Λιβάνου', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Ρουπία Σρι Λάνκα', + 'LKR', + 'Ρουπία Σρι Λάνκα', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Δολάριο Λιβερίας', + 'LRD', + 'Δολάριο Λιβερίας', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Λότι Λεσότο', + 'LSL', + 'Λότι Λεσότο', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Λίτα Λιθουανίας', + 'LTL', + 'Λίτα Λιθουανίας', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Ταλόνας Λιθουανίας', + 'LTT', + 'Ταλόνας Λιθουανίας', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Μετατρέψιμο Φράγκο Λουξεμβούργου', + 'LUC', + 'Μετατρέψιμο Φράγκο Λουξεμβούργου', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Φράγκο Λουξεμβούργου', + 'LUF', + 'Φράγκο Λουξεμβούργου', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Οικονομικό Φράγκο Λουξεμβούργου', + 'LUL', + 'Οικονομικό Φράγκο Λουξεμβούργου', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Λατς Λετονίας', + 'LVL', + 'Λατς Λετονίας', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Ρούβλι Λετονίας', + 'LVR', + 'Ρούβλι Λετονίας', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Δηνάριο Λιβύης', + 'LYD', + 'Δηνάριο Λιβύης', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Ντιράμ Μαρόκου', + 'MAD', + 'Ντιράμ Μαρόκου', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Φράγκο Μαρόκου', + 'MAF', + 'Φράγκο Μαρόκου', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Λέου Μολδαβίας', + 'MDL', + 'Λέου Μολδαβίας', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Αριάρι Μαδαγασκάρης', + 'MGA', + 'Αριάρι Μαδαγασκάρης', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Φράγκο Μαδαγασκάρης', + 'MGF', + 'Φράγκο Μαδαγασκάρης', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Δηνάριο ΠΓΔΜ', + 'MKD', + 'Δηνάριο ΠΓΔΜ', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Φράγκο Μαλί', + 'MLF', + 'Φράγκο Μαλί', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Κιάτ Μιανμάρ', + 'MMK', + 'Κιάτ Μιανμάρ', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Τουγκρίκ Μογγολίας', + 'MNT', + 'Τουγκρίκ Μογγολίας', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Πατάκα Μακάο', + 'MOP', + 'Πατάκα Μακάο', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Ουγκίγια Μαυριτανίας (1973–2017)', + 'MRO', + 'Ουγκίγια Μαυριτανίας (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Ουγκίγια Μαυριτανίας', + 'MRU', + 'Ουγκίγια Μαυριτανίας', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Λιρέτα Μάλτας', + 'MTL', + 'Λιρέτα Μάλτας', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Λίρα Μάλτας', + 'MTP', + 'Λίρα Μάλτας', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Ρουπία Μαυρικίου', + 'MUR', + 'Ρουπία Μαυρικίου', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Ρουφίγια Μαλδίβων', + 'MVR', + 'Ρουφίγια Μαλδίβων', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Κουάτσα Μαλάουι', + 'MWK', + 'Κουάτσα Μαλάουι', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Πέσο Μεξικού', + 'MX$', + 'Πέσο Μεξικού', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Ασημένιο Πέσο Μεξικού (1861–1992)', + 'MXP', + 'Ασημένιο Πέσο Μεξικού (1861–1992)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Ρινγκίτ Μαλαισίας', + 'MYR', + 'Ρινγκίτ Μαλαισίας', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Εσκούδο Μοζαμβίκης', + 'MZE', + 'Εσκούδο Μοζαμβίκης', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Παλαιό Μετικάλ Μοζαμβίκης', + 'MZM', + 'Παλαιό Μετικάλ Μοζαμβίκης', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Μετικάλ Μοζαμβίκης', + 'MZN', + 'Μετικάλ Μοζαμβίκης', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Δολάριο Ναμίμπιας', + 'NAD', + 'Δολάριο Ναμίμπιας', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Νάιρα Νιγηρίας', + 'NGN', + 'Νάιρα Νιγηρίας', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Κόρδοβα Νικαράγουας', + 'NIC', + 'Κόρδοβα Νικαράγουας', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Χρυσή Κόρδοβα Νικαράγουας', + 'NIO', + 'Χρυσή Κόρδοβα Νικαράγουας', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Γκίλντα Ολλανδίας', + 'NLG', + 'Γκίλντα Ολλανδίας', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Κορόνα Νορβηγίας', + 'NOK', + 'Κορόνα Νορβηγίας', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Ρουπία Νεπάλ', + 'NPR', + 'Ρουπία Νεπάλ', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Δολάριο Νέας Ζηλανδίας', + 'NZ$', + 'Δολάριο Νέας Ζηλανδίας', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Ριάλ Ομάν', + 'OMR', + 'Ριάλ Ομάν', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Μπαλμπόα Παναμά', + 'PAB', + 'Μπαλμπόα Παναμά', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Ίντι Περού', + 'PEI', + 'Ίντι Περού', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Σολ Περού', + 'PEN', + 'Σολ Περού', ], 'PES' => [ - 0 => 'PES', - 1 => 'Σολ Περού (1863–1965)', + 'PES', + 'Σολ Περού (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Κίνα Παπούας Νέας Γουινέας', + 'PGK', + 'Κίνα Παπούας Νέας Γουινέας', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Πέσο Φιλιππίνων', + 'PHP', + 'Πέσο Φιλιππίνων', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Ρουπία Πακιστάν', + 'PKR', + 'Ρουπία Πακιστάν', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Ζλότι Πολωνίας', + 'PLN', + 'Ζλότι Πολωνίας', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Ζλότυ Πολωνίας (1950–1995)', + 'PLZ', + 'Ζλότυ Πολωνίας (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Εσκούδο Πορτογαλίας', + 'PTE', + 'Εσκούδο Πορτογαλίας', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Γκουαρανί Παραγουάης', + 'PYG', + 'Γκουαρανί Παραγουάης', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Ριάλ Κατάρ', + 'QAR', + 'Ριάλ Κατάρ', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Δολάριο Ροδεσίας', + 'RHD', + 'Δολάριο Ροδεσίας', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Λέι Ρουμανίας', + 'ROL', + 'Λέι Ρουμανίας', ], 'RON' => [ - 0 => 'RON', - 1 => 'Λέου Ρουμανίας', + 'RON', + 'Λέου Ρουμανίας', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Δηνάριο Σερβίας', + 'RSD', + 'Δηνάριο Σερβίας', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Ρούβλι Ρωσίας', + 'RUB', + 'Ρούβλι Ρωσίας', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Ρούβλι Ρωσίας (1991–1998)', + 'RUR', + 'Ρούβλι Ρωσίας (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Φράγκο Ρουάντας', + 'RWF', + 'Φράγκο Ρουάντας', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Ριάλ Σαουδικής Αραβίας', + 'SAR', + 'Ριάλ Σαουδικής Αραβίας', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Δολάριο Νήσων Σολομώντος', + 'SBD', + 'Δολάριο Νήσων Σολομώντος', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Ρουπία Σεϋχελλών', + 'SCR', + 'Ρουπία Σεϋχελλών', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Δηνάριο Σουδάν', + 'SDD', + 'Δηνάριο Σουδάν', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Λίρα Σουδάν', + 'SDG', + 'Λίρα Σουδάν', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Παλαιά Λίρα Σουδάν', + 'SDP', + 'Παλαιά Λίρα Σουδάν', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Κορόνα Σουηδίας', + 'SEK', + 'Κορόνα Σουηδίας', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Δολάριο Σιγκαπούρης', + 'SGD', + 'Δολάριο Σιγκαπούρης', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Λίρα Αγίας Ελένης', + 'SHP', + 'Λίρα Αγίας Ελένης', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Τόλαρ Σλοβενίας', + 'SIT', + 'Τόλαρ Σλοβενίας', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Κορόνα Σλοβενίας', + 'SKK', + 'Κορόνα Σλοβενίας', + ], + 'SLE' => [ + 'SLE', + 'Λεόνε Σιέρα Λεόνε', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Λεόνε Σιέρα Λεόνε', + 'SLL', + 'Λεόνε Σιέρα Λεόνε (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Σελίνι Σομαλίας', + 'SOS', + 'Σελίνι Σομαλίας', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Δολάριο Σουρινάμ', + 'SRD', + 'Δολάριο Σουρινάμ', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Γκίλντα Σουρινάμ', + 'SRG', + 'Γκίλντα Σουρινάμ', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Λίρα Νότιου Σουδάν', + 'SSP', + 'Λίρα Νότιου Σουδάν', ], 'STD' => [ - 0 => 'STD', - 1 => 'Ντόμπρα Σάο Τομέ και Πρίνσιπε (1977–2017)', + 'STD', + 'Ντόμπρα Σάο Τομέ και Πρίνσιπε (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Ντόμπρα Σάο Τομέ και Πρίνσιπε', + 'STN', + 'Ντόμπρα Σάο Τομέ και Πρίνσιπε', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Σοβιετικό Ρούβλι', + 'SUR', + 'Σοβιετικό Ρούβλι', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Κολόν Ελ Σαλβαδόρ', + 'SVC', + 'Κολόν Ελ Σαλβαδόρ', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Λίρα Συρίας', + 'SYP', + 'Λίρα Συρίας', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Λιλανγκένι Σουαζιλάνδης', + 'SZL', + 'Λιλανγκένι Σουαζιλάνδης', ], 'THB' => [ - 0 => '฿', - 1 => 'Μπατ Ταϊλάνδης', + '฿', + 'Μπατ Ταϊλάνδης', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Ρούβλι Τατζικιστάν', + 'TJR', + 'Ρούβλι Τατζικιστάν', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Σομόνι Τατζικιστάν', + 'TJS', + 'Σομόνι Τατζικιστάν', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Μανάτ Τουρκμενιστάν', + 'TMM', + 'Μανάτ Τουρκμενιστάν', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Μάνατ Τουρκμενιστάν', + 'TMT', + 'Μάνατ Τουρκμενιστάν', ], 'TND' => [ - 0 => 'TND', - 1 => 'Δηνάριο Τυνησίας', + 'TND', + 'Δηνάριο Τυνησίας', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Παάγκα Τόνγκα', + 'TOP', + 'Παάγκα Τόνγκα', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Εσκούδο Τιμόρ', + 'TPE', + 'Εσκούδο Τιμόρ', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Παλιά Λίρα Τουρκίας', + 'TRL', + 'Παλιά Λίρα Τουρκίας', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Λίρα Τουρκίας', + 'TRY', + 'Λίρα Τουρκίας', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Δολάριο Τρινιντάντ και Τομπάγκο', + 'TTD', + 'Δολάριο Τρινιντάντ και Τομπάγκο', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Νέο δολάριο Ταϊβάν', + 'NT$', + 'Νέο δολάριο Ταϊβάν', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Σελίνι Τανζανίας', + 'TZS', + 'Σελίνι Τανζανίας', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Γρίβνα Ουκρανίας', + 'UAH', + 'Γρίβνα Ουκρανίας', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Καρμποβανέτς Ουκρανίας', + 'UAK', + 'Καρμποβανέτς Ουκρανίας', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Σελίνι Ουγκάντας (1966–1987)', + 'UGS', + 'Σελίνι Ουγκάντας (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Σελίνι Ουγκάντας', + 'UGX', + 'Σελίνι Ουγκάντας', ], 'USD' => [ - 0 => '$', - 1 => 'Δολάριο ΗΠΑ', + '$', + 'Δολάριο ΗΠΑ', ], 'USN' => [ - 0 => 'USN', - 1 => 'Δολάριο ΗΠΑ (επόμενη ημέρα)', + 'USN', + 'Δολάριο ΗΠΑ (επόμενη ημέρα)', ], 'USS' => [ - 0 => 'USS', - 1 => 'Δολάριο ΗΠΑ (ίδια ημέρα)', + 'USS', + 'Δολάριο ΗΠΑ (ίδια ημέρα)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Πέσο Ουρουγουάης (1975–1993)', + 'UYP', + 'Πέσο Ουρουγουάης (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Πέσο Ουρουγουάης', + 'UYU', + 'Πέσο Ουρουγουάης', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Σομ Ουζμπεκιστάν', + 'UZS', + 'Σομ Ουζμπεκιστάν', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Μπολιβάρ Βενεζουέλας (1871–2008)', + 'VEB', + 'Μπολιβάρ Βενεζουέλας (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Μπολιβάρ Βενεζουέλας (2008–2018)', + 'VEF', + 'Μπολιβάρ Βενεζουέλας (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Μπολιβάρ Βενεζουέλας', + 'VES', + 'Μπολιβάρ Βενεζουέλας', ], 'VND' => [ - 0 => '₫', - 1 => 'Ντονγκ Βιετνάμ', + '₫', + 'Ντονγκ Βιετνάμ', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Βατού Βανουάτου', + 'VUV', + 'Βατού Βανουάτου', ], 'WST' => [ - 0 => 'WST', - 1 => 'Τάλα Σαμόα', + 'WST', + 'Τάλα Σαμόα', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Φράγκο CFA Κεντρικής Αφρικής', + 'FCFA', + 'Φράγκο CFA Κεντρικής Αφρικής', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Δολάριο Ανατολικής Καραϊβικής', + 'EC$', + 'Δολάριο Ανατολικής Καραϊβικής', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'Ευρωπαϊκή Συναλλαγματική Μονάδα', + 'XEU', + 'Ευρωπαϊκή Συναλλαγματική Μονάδα', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Χρυσό Φράγκο Γαλλίας', + 'XFO', + 'Χρυσό Φράγκο Γαλλίας', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'UIC-Φράγκο Γαλλίας', + 'XFU', + 'UIC-Φράγκο Γαλλίας', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Φράγκο CFA Δυτικής Αφρικής', + 'F CFA', + 'Φράγκο CFA Δυτικής Αφρικής', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'Φράγκο CFP', + 'CFPF', + 'Φράγκο CFP', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Δηνάριο Υεμένης', + 'YDD', + 'Δηνάριο Υεμένης', ], 'YER' => [ - 0 => 'YER', - 1 => 'Ριάλ Υεμένης', + 'YER', + 'Ριάλ Υεμένης', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Μεταλλικό Δηνάριο Γιουγκοσλαβίας', + 'YUD', + 'Μεταλλικό Δηνάριο Γιουγκοσλαβίας', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Νέο Δηνάριο Γιουγκοσλαβίας', + 'YUM', + 'Νέο Δηνάριο Γιουγκοσλαβίας', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Μετατρέψιμο Δηνάριο Γιουγκοσλαβίας', + 'YUN', + 'Μετατρέψιμο Δηνάριο Γιουγκοσλαβίας', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Ραντ Νότιας Αφρικής (οικονομικό)', + 'ZAL', + 'Ραντ Νότιας Αφρικής (οικονομικό)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Ραντ Νότιας Αφρικής', + 'ZAR', + 'Ραντ Νότιας Αφρικής', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Κουάνζα Ζαΐρ (1968–2012)', + 'ZMK', + 'Κουάνζα Ζαΐρ (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Κουάτσα Ζάμπιας', + 'ZMW', + 'Κουάτσα Ζάμπιας', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Νέο Ζαΐρ Ζαΐρ', + 'ZRN', + 'Νέο Ζαΐρ Ζαΐρ', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Ζαΐρ Ζαΐρ', + 'ZRZ', + 'Ζαΐρ Ζαΐρ', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Δολάριο Ζιμπάμπουε', + 'ZWD', + 'Δολάριο Ζιμπάμπουε', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Δολάριο Ζιμπάμπουε (2009)', + 'ZWL', + 'Δολάριο Ζιμπάμπουε (2009)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1172 +3,1180 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Andorran Peseta', + 'ADP', + 'Andorran Peseta', ], 'AED' => [ - 0 => 'AED', - 1 => 'United Arab Emirates Dirham', + 'AED', + 'United Arab Emirates Dirham', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Afghan Afghani (1927–2002)', + 'AFA', + 'Afghan Afghani (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afghan Afghani', + 'AFN', + 'Afghan Afghani', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'Albanian Lek (1946–1965)', + 'ALK', + 'Albanian Lek (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Albanian Lek', + 'ALL', + 'Albanian Lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Armenian Dram', + 'AMD', + 'Armenian Dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Netherlands Antillean Guilder', + 'ANG', + 'Netherlands Antillean Guilder', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Angolan Kwanza', + 'AOA', + 'Angolan Kwanza', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Angolan Kwanza (1977–1991)', + 'AOK', + 'Angolan Kwanza (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Angolan New Kwanza (1990–2000)', + 'AON', + 'Angolan New Kwanza (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Angolan Readjusted Kwanza (1995–1999)', + 'AOR', + 'Angolan Readjusted Kwanza (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Argentine Austral', + 'ARA', + 'Argentine Austral', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'Argentine Peso Ley (1970–1983)', + 'ARL', + 'Argentine Peso Ley (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'Argentine Peso (1881–1970)', + 'ARM', + 'Argentine Peso (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Argentine Peso (1983–1985)', + 'ARP', + 'Argentine Peso (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Argentine Peso', + 'ARS', + 'Argentine Peso', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Austrian Schilling', + 'ATS', + 'Austrian Schilling', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Australian Dollar', + 'A$', + 'Australian Dollar', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Aruban Florin', + 'AWG', + 'Aruban Florin', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Azerbaijani Manat (1993–2006)', + 'AZM', + 'Azerbaijani Manat (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Azerbaijani Manat', + 'AZN', + 'Azerbaijani Manat', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Bosnia-Herzegovina Dinar (1992–1994)', + 'BAD', + 'Bosnia-Herzegovina Dinar (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Bosnia-Herzegovina Convertible Mark', + 'BAM', + 'Bosnia-Herzegovina Convertible Mark', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'Bosnia-Herzegovina New Dinar (1994–1997)', + 'BAN', + 'Bosnia-Herzegovina New Dinar (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Barbadian Dollar', + 'BBD', + 'Barbadian Dollar', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Bangladeshi Taka', + 'BDT', + 'Bangladeshi Taka', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Belgian Franc (convertible)', + 'BEC', + 'Belgian Franc (convertible)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Belgian Franc', + 'BEF', + 'Belgian Franc', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Belgian Franc (financial)', + 'BEL', + 'Belgian Franc (financial)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Bulgarian Hard Lev', + 'BGL', + 'Bulgarian Hard Lev', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'Bulgarian Socialist Lev', + 'BGM', + 'Bulgarian Socialist Lev', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Bulgarian Lev', + 'BGN', + 'Bulgarian Lev', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'Bulgarian Lev (1879–1952)', + 'BGO', + 'Bulgarian Lev (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Bahraini Dinar', + 'BHD', + 'Bahraini Dinar', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Burundian Franc', + 'BIF', + 'Burundian Franc', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermudan Dollar', + 'BMD', + 'Bermudan Dollar', ], 'BND' => [ - 0 => 'BND', - 1 => 'Brunei Dollar', + 'BND', + 'Brunei Dollar', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Bolivian Boliviano', + 'BOB', + 'Bolivian Boliviano', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'Bolivian Boliviano (1863–1963)', + 'BOL', + 'Bolivian Boliviano (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Bolivian Peso', + 'BOP', + 'Bolivian Peso', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Bolivian Mvdol', + 'BOV', + 'Bolivian Mvdol', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Brazilian New Cruzeiro (1967–1986)', + 'BRB', + 'Brazilian New Cruzeiro (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Brazilian Cruzado (1986–1989)', + 'BRC', + 'Brazilian Cruzado (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Brazilian Cruzeiro (1990–1993)', + 'BRE', + 'Brazilian Cruzeiro (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Brazilian Real', + 'R$', + 'Brazilian Real', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Brazilian New Cruzado (1989–1990)', + 'BRN', + 'Brazilian New Cruzado (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Brazilian Cruzeiro (1993–1994)', + 'BRR', + 'Brazilian Cruzeiro (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'Brazilian Cruzeiro (1942–1967)', + 'BRZ', + 'Brazilian Cruzeiro (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Bahamian Dollar', + 'BSD', + 'Bahamian Dollar', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Bhutanese Ngultrum', + 'BTN', + 'Bhutanese Ngultrum', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Burmese Kyat', + 'BUK', + 'Burmese Kyat', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Botswanan Pula', + 'BWP', + 'Botswanan Pula', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Belarusian Ruble (1994–1999)', + 'BYB', + 'Belarusian Ruble (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Belarusian Ruble', + 'BYN', + 'Belarusian Ruble', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Belarusian Ruble (2000–2016)', + 'BYR', + 'Belarusian Ruble (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Belize Dollar', + 'BZD', + 'Belize Dollar', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Canadian Dollar', + 'CA$', + 'Canadian Dollar', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Congolese Franc', + 'CDF', + 'Congolese Franc', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'WIR Euro', + 'CHE', + 'WIR Euro', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Swiss Franc', + 'CHF', + 'Swiss Franc', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'WIR Franc', + 'CHW', + 'WIR Franc', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'Chilean Escudo', + 'CLE', + 'Chilean Escudo', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Chilean Unit of Account (UF)', + 'CLF', + 'Chilean Unit of Account (UF)', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Chilean Peso', + 'CLP', + 'Chilean Peso', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Chinese Yuan (offshore)', + 'CNH', + 'Chinese Yuan (offshore)', ], 'CNX' => [ - 0 => 'CNX', - 1 => 'Chinese People’s Bank Dollar', + 'CNX', + 'Chinese People’s Bank Dollar', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Chinese Yuan', + 'CN¥', + 'Chinese Yuan', ], 'COP' => [ - 0 => 'COP', - 1 => 'Colombian Peso', + 'COP', + 'Colombian Peso', ], 'COU' => [ - 0 => 'COU', - 1 => 'Colombian Real Value Unit', + 'COU', + 'Colombian Real Value Unit', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Costa Rican Colón', + 'CRC', + 'Costa Rican Colón', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Serbian Dinar (2002–2006)', + 'CSD', + 'Serbian Dinar (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Czechoslovak Hard Koruna', + 'CSK', + 'Czechoslovak Hard Koruna', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Cuban Convertible Peso', + 'CUC', + 'Cuban Convertible Peso', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Cuban Peso', + 'CUP', + 'Cuban Peso', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Cape Verdean Escudo', + 'CVE', + 'Cape Verdean Escudo', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Cypriot Pound', + 'CYP', + 'Cypriot Pound', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Czech Koruna', + 'CZK', + 'Czech Koruna', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'East German Mark', + 'DDM', + 'East German Mark', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'German Mark', + 'DEM', + 'German Mark', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Djiboutian Franc', + 'DJF', + 'Djiboutian Franc', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Danish Krone', + 'DKK', + 'Danish Krone', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Dominican Peso', + 'DOP', + 'Dominican Peso', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Algerian Dinar', + 'DZD', + 'Algerian Dinar', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Ecuadorian Sucre', + 'ECS', + 'Ecuadorian Sucre', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Ecuadorian Unit of Constant Value', + 'ECV', + 'Ecuadorian Unit of Constant Value', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Estonian Kroon', + 'EEK', + 'Estonian Kroon', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Egyptian Pound', + 'EGP', + 'Egyptian Pound', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Eritrean Nakfa', + 'ERN', + 'Eritrean Nakfa', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'Spanish Peseta (A account)', + 'ESA', + 'Spanish Peseta (A account)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'Spanish Peseta (convertible account)', + 'ESB', + 'Spanish Peseta (convertible account)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Spanish Peseta', + 'ESP', + 'Spanish Peseta', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Ethiopian Birr', + 'ETB', + 'Ethiopian Birr', ], 'EUR' => [ - 0 => '€', - 1 => 'Euro', + '€', + 'Euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Finnish Markka', + 'FIM', + 'Finnish Markka', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Fijian Dollar', + 'FJD', + 'Fijian Dollar', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Falkland Islands Pound', + 'FKP', + 'Falkland Islands Pound', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'French Franc', + 'FRF', + 'French Franc', ], 'GBP' => [ - 0 => '£', - 1 => 'British Pound', + '£', + 'British Pound', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Georgian Kupon Larit', + 'GEK', + 'Georgian Kupon Larit', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Georgian Lari', + 'GEL', + 'Georgian Lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Ghanaian Cedi (1979–2007)', + 'GHC', + 'Ghanaian Cedi (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Ghanaian Cedi', + 'GHS', + 'Ghanaian Cedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Gibraltar Pound', + 'GIP', + 'Gibraltar Pound', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Gambian Dalasi', + 'GMD', + 'Gambian Dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Guinean Franc', + 'GNF', + 'Guinean Franc', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Guinean Syli', + 'GNS', + 'Guinean Syli', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Equatorial Guinean Ekwele', + 'GQE', + 'Equatorial Guinean Ekwele', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Greek Drachma', + 'GRD', + 'Greek Drachma', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Guatemalan Quetzal', + 'GTQ', + 'Guatemalan Quetzal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Portuguese Guinea Escudo', + 'GWE', + 'Portuguese Guinea Escudo', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Guinea-Bissau Peso', + 'GWP', + 'Guinea-Bissau Peso', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Guyanaese Dollar', + 'GYD', + 'Guyanaese Dollar', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Hong Kong Dollar', + 'HK$', + 'Hong Kong Dollar', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Honduran Lempira', + 'HNL', + 'Honduran Lempira', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Croatian Dinar', + 'HRD', + 'Croatian Dinar', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Croatian Kuna', + 'HRK', + 'Croatian Kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Haitian Gourde', + 'HTG', + 'Haitian Gourde', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Hungarian Forint', + 'HUF', + 'Hungarian Forint', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Indonesian Rupiah', + 'IDR', + 'Indonesian Rupiah', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Irish Pound', + 'IEP', + 'Irish Pound', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Israeli Pound', + 'ILP', + 'Israeli Pound', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'Israeli Shekel (1980–1985)', + 'ILR', + 'Israeli Shekel (1980–1985)', ], 'ILS' => [ - 0 => '₪', - 1 => 'Israeli New Shekel', + '₪', + 'Israeli New Shekel', ], 'INR' => [ - 0 => '₹', - 1 => 'Indian Rupee', + '₹', + 'Indian Rupee', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Iraqi Dinar', + 'IQD', + 'Iraqi Dinar', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Iranian Rial', + 'IRR', + 'Iranian Rial', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'Icelandic Króna (1918–1981)', + 'ISJ', + 'Icelandic Króna (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Icelandic Króna', + 'ISK', + 'Icelandic Króna', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Italian Lira', + 'ITL', + 'Italian Lira', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Jamaican Dollar', + 'JMD', + 'Jamaican Dollar', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Jordanian Dinar', + 'JOD', + 'Jordanian Dinar', ], 'JPY' => [ - 0 => '¥', - 1 => 'Japanese Yen', + '¥', + 'Japanese Yen', ], 'KES' => [ - 0 => 'KES', - 1 => 'Kenyan Shilling', + 'KES', + 'Kenyan Shilling', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Kyrgystani Som', + 'KGS', + 'Kyrgystani Som', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Cambodian Riel', + 'KHR', + 'Cambodian Riel', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Comorian Franc', + 'KMF', + 'Comorian Franc', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'North Korean Won', + 'KPW', + 'North Korean Won', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'South Korean Hwan (1953–1962)', + 'KRH', + 'South Korean Hwan (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'South Korean Won (1945–1953)', + 'KRO', + 'South Korean Won (1945–1953)', ], 'KRW' => [ - 0 => '₩', - 1 => 'South Korean Won', + '₩', + 'South Korean Won', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Kuwaiti Dinar', + 'KWD', + 'Kuwaiti Dinar', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Cayman Islands Dollar', + 'KYD', + 'Cayman Islands Dollar', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Kazakhstani Tenge', + 'KZT', + 'Kazakhstani Tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Laotian Kip', + 'LAK', + 'Laotian Kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Lebanese Pound', + 'LBP', + 'Lebanese Pound', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Sri Lankan Rupee', + 'LKR', + 'Sri Lankan Rupee', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Liberian Dollar', + 'LRD', + 'Liberian Dollar', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Lesotho Loti', + 'LSL', + 'Lesotho Loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Lithuanian Litas', + 'LTL', + 'Lithuanian Litas', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Lithuanian Talonas', + 'LTT', + 'Lithuanian Talonas', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Luxembourgian Convertible Franc', + 'LUC', + 'Luxembourgian Convertible Franc', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Luxembourgian Franc', + 'LUF', + 'Luxembourgian Franc', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Luxembourg Financial Franc', + 'LUL', + 'Luxembourg Financial Franc', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Latvian Lats', + 'LVL', + 'Latvian Lats', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Latvian Ruble', + 'LVR', + 'Latvian Ruble', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Libyan Dinar', + 'LYD', + 'Libyan Dinar', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Moroccan Dirham', + 'MAD', + 'Moroccan Dirham', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Moroccan Franc', + 'MAF', + 'Moroccan Franc', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'Monegasque Franc', + 'MCF', + 'Monegasque Franc', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'Moldovan Cupon', + 'MDC', + 'Moldovan Cupon', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Moldovan Leu', + 'MDL', + 'Moldovan Leu', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Malagasy Ariary', + 'MGA', + 'Malagasy Ariary', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Malagasy Franc', + 'MGF', + 'Malagasy Franc', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Macedonian Denar', + 'MKD', + 'Macedonian Denar', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'Macedonian Denar (1992–1993)', + 'MKN', + 'Macedonian Denar (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Malian Franc', + 'MLF', + 'Malian Franc', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Myanmar Kyat', + 'MMK', + 'Myanmar Kyat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Mongolian Tugrik', + 'MNT', + 'Mongolian Tugrik', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Macanese Pataca', + 'MOP', + 'Macanese Pataca', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Mauritanian Ouguiya (1973–2017)', + 'MRO', + 'Mauritanian Ouguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Mauritanian Ouguiya', + 'MRU', + 'Mauritanian Ouguiya', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Maltese Lira', + 'MTL', + 'Maltese Lira', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Maltese Pound', + 'MTP', + 'Maltese Pound', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Mauritian Rupee', + 'MUR', + 'Mauritian Rupee', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'Maldivian Rupee (1947–1981)', + 'MVP', + 'Maldivian Rupee (1947–1981)', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Maldivian Rufiyaa', + 'MVR', + 'Maldivian Rufiyaa', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Malawian Kwacha', + 'MWK', + 'Malawian Kwacha', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Mexican Peso', + 'MX$', + 'Mexican Peso', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Mexican Silver Peso (1861–1992)', + 'MXP', + 'Mexican Silver Peso (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Mexican Investment Unit', + 'MXV', + 'Mexican Investment Unit', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Malaysian Ringgit', + 'MYR', + 'Malaysian Ringgit', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Mozambican Escudo', + 'MZE', + 'Mozambican Escudo', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Mozambican Metical (1980–2006)', + 'MZM', + 'Mozambican Metical (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Mozambican Metical', + 'MZN', + 'Mozambican Metical', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Namibian Dollar', + 'NAD', + 'Namibian Dollar', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Nigerian Naira', + 'NGN', + 'Nigerian Naira', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Nicaraguan Córdoba (1988–1991)', + 'NIC', + 'Nicaraguan Córdoba (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Nicaraguan Córdoba', + 'NIO', + 'Nicaraguan Córdoba', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Dutch Guilder', + 'NLG', + 'Dutch Guilder', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Norwegian Krone', + 'NOK', + 'Norwegian Krone', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Nepalese Rupee', + 'NPR', + 'Nepalese Rupee', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'New Zealand Dollar', + 'NZ$', + 'New Zealand Dollar', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Omani Rial', + 'OMR', + 'Omani Rial', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Panamanian Balboa', + 'PAB', + 'Panamanian Balboa', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Peruvian Inti', + 'PEI', + 'Peruvian Inti', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Peruvian Sol', + 'PEN', + 'Peruvian Sol', ], 'PES' => [ - 0 => 'PES', - 1 => 'Peruvian Sol (1863–1965)', + 'PES', + 'Peruvian Sol (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Papua New Guinean Kina', + 'PGK', + 'Papua New Guinean Kina', ], 'PHP' => [ - 0 => '₱', - 1 => 'Philippine Peso', + '₱', + 'Philippine Peso', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Pakistani Rupee', + 'PKR', + 'Pakistani Rupee', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Polish Zloty', + 'PLN', + 'Polish Zloty', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Polish Zloty (1950–1995)', + 'PLZ', + 'Polish Zloty (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Portuguese Escudo', + 'PTE', + 'Portuguese Escudo', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Paraguayan Guarani', + 'PYG', + 'Paraguayan Guarani', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Qatari Riyal', + 'QAR', + 'Qatari Riyal', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Rhodesian Dollar', + 'RHD', + 'Rhodesian Dollar', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Romanian Leu (1952–2006)', + 'ROL', + 'Romanian Leu (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'Romanian Leu', + 'RON', + 'Romanian Leu', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Serbian Dinar', + 'RSD', + 'Serbian Dinar', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Russian Ruble', + 'RUB', + 'Russian Ruble', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Russian Ruble (1991–1998)', + 'RUR', + 'Russian Ruble (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Rwandan Franc', + 'RWF', + 'Rwandan Franc', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Saudi Riyal', + 'SAR', + 'Saudi Riyal', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Solomon Islands Dollar', + 'SBD', + 'Solomon Islands Dollar', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Seychellois Rupee', + 'SCR', + 'Seychellois Rupee', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Sudanese Dinar (1992–2007)', + 'SDD', + 'Sudanese Dinar (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Sudanese Pound', + 'SDG', + 'Sudanese Pound', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Sudanese Pound (1957–1998)', + 'SDP', + 'Sudanese Pound (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Swedish Krona', + 'SEK', + 'Swedish Krona', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Singapore Dollar', + 'SGD', + 'Singapore Dollar', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'St. Helena Pound', + 'SHP', + 'St. Helena Pound', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Slovenian Tolar', + 'SIT', + 'Slovenian Tolar', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Slovak Koruna', + 'SKK', + 'Slovak Koruna', ], 'SLE' => [ - 0 => 'SLE', - 1 => 'Sierra Leonean Leone', + 'SLE', + 'Sierra Leonean Leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Sierra Leonean Leone (1964—2022)', + 'SLL', + 'Sierra Leonean Leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Somali Shilling', + 'SOS', + 'Somali Shilling', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Surinamese Dollar', + 'SRD', + 'Surinamese Dollar', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Surinamese Guilder', + 'SRG', + 'Surinamese Guilder', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'South Sudanese Pound', + 'SSP', + 'South Sudanese Pound', ], 'STD' => [ - 0 => 'STD', - 1 => 'São Tomé & Príncipe Dobra (1977–2017)', + 'STD', + 'São Tomé & Príncipe Dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'São Tomé & Príncipe Dobra', + 'STN', + 'São Tomé & Príncipe Dobra', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Soviet Rouble', + 'SUR', + 'Soviet Rouble', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Salvadoran Colón', + 'SVC', + 'Salvadoran Colón', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Syrian Pound', + 'SYP', + 'Syrian Pound', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Swazi Lilangeni', + 'SZL', + 'Swazi Lilangeni', ], 'THB' => [ - 0 => 'THB', - 1 => 'Thai Baht', + 'THB', + 'Thai Baht', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Tajikistani Ruble', + 'TJR', + 'Tajikistani Ruble', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Tajikistani Somoni', + 'TJS', + 'Tajikistani Somoni', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Turkmenistani Manat (1993–2009)', + 'TMM', + 'Turkmenistani Manat (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Turkmenistani Manat', + 'TMT', + 'Turkmenistani Manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'Tunisian Dinar', + 'TND', + 'Tunisian Dinar', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Tongan Paʻanga', + 'TOP', + 'Tongan Paʻanga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Timorese Escudo', + 'TPE', + 'Timorese Escudo', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Turkish Lira (1922–2005)', + 'TRL', + 'Turkish Lira (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Turkish Lira', + 'TRY', + 'Turkish Lira', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Trinidad & Tobago Dollar', + 'TTD', + 'Trinidad & Tobago Dollar', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'New Taiwan Dollar', + 'NT$', + 'New Taiwan Dollar', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Tanzanian Shilling', + 'TZS', + 'Tanzanian Shilling', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Ukrainian Hryvnia', + 'UAH', + 'Ukrainian Hryvnia', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Ukrainian Karbovanets', + 'UAK', + 'Ukrainian Karbovanets', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Ugandan Shilling (1966–1987)', + 'UGS', + 'Ugandan Shilling (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Ugandan Shilling', + 'UGX', + 'Ugandan Shilling', ], 'USD' => [ - 0 => '$', - 1 => 'US Dollar', + '$', + 'US Dollar', ], 'USN' => [ - 0 => 'USN', - 1 => 'US Dollar (Next day)', + 'USN', + 'US Dollar (Next day)', ], 'USS' => [ - 0 => 'USS', - 1 => 'US Dollar (Same day)', + 'USS', + 'US Dollar (Same day)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Uruguayan Peso (Indexed Units)', + 'UYI', + 'Uruguayan Peso (Indexed Units)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Uruguayan Peso (1975–1993)', + 'UYP', + 'Uruguayan Peso (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Uruguayan Peso', + 'UYU', + 'Uruguayan Peso', ], 'UYW' => [ - 0 => 'UYW', - 1 => 'Uruguayan Nominal Wage Index Unit', + 'UYW', + 'Uruguayan Nominal Wage Index Unit', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Uzbekistani Som', + 'UZS', + 'Uzbekistani Som', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Venezuelan Bolívar (1871–2008)', + 'VEB', + 'Venezuelan Bolívar (1871–2008)', ], 'VED' => [ - 0 => 'VED', - 1 => 'Bolívar Soberano', + 'VED', + 'Bolívar Soberano', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Venezuelan Bolívar (2008–2018)', + 'VEF', + 'Venezuelan Bolívar (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Venezuelan Bolívar', + 'VES', + 'Venezuelan Bolívar', ], 'VND' => [ - 0 => '₫', - 1 => 'Vietnamese Dong', + '₫', + 'Vietnamese Dong', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'Vietnamese Dong (1978–1985)', + 'VNN', + 'Vietnamese Dong (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vanuatu Vatu', + 'VUV', + 'Vanuatu Vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Samoan Tala', + 'WST', + 'Samoan Tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Central African CFA Franc', + 'FCFA', + 'Central African CFA Franc', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'East Caribbean Dollar', + 'EC$', + 'East Caribbean Dollar', + ], + 'XCG' => [ + 'Cg.', + 'Caribbean guilder', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'European Currency Unit', + 'XEU', + 'European Currency Unit', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'French Gold Franc', + 'XFO', + 'French Gold Franc', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'French UIC-Franc', + 'XFU', + 'French UIC-Franc', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'West African CFA Franc', + 'F CFA', + 'West African CFA Franc', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP Franc', + 'CFPF', + 'CFP Franc', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'RINET Funds', + 'XRE', + 'RINET Funds', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Yemeni Dinar', + 'YDD', + 'Yemeni Dinar', ], 'YER' => [ - 0 => 'YER', - 1 => 'Yemeni Rial', + 'YER', + 'Yemeni Rial', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Yugoslavian Hard Dinar (1966–1990)', + 'YUD', + 'Yugoslavian Hard Dinar (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Yugoslavian New Dinar (1994–2002)', + 'YUM', + 'Yugoslavian New Dinar (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Yugoslavian Convertible Dinar (1990–1992)', + 'YUN', + 'Yugoslavian Convertible Dinar (1990–1992)', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'Yugoslavian Reformed Dinar (1992–1993)', + 'YUR', + 'Yugoslavian Reformed Dinar (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'South African Rand (financial)', + 'ZAL', + 'South African Rand (financial)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'South African Rand', + 'ZAR', + 'South African Rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Zambian Kwacha (1968–2012)', + 'ZMK', + 'Zambian Kwacha (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Zambian Kwacha', + 'ZMW', + 'Zambian Kwacha', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Zairean New Zaire (1993–1998)', + 'ZRN', + 'Zairean New Zaire (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Zairean Zaire (1971–1993)', + 'ZRZ', + 'Zairean Zaire (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Zimbabwean Dollar (1980–2008)', + 'ZWD', + 'Zimbabwean Dollar (1980–2008)', + ], + 'ZWG' => [ + 'ZWG', + 'Zimbabwean Gold', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Zimbabwean Dollar (2009)', + 'ZWL', + 'Zimbabwean Dollar (2009–2024)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Zimbabwean Dollar (2008)', + 'ZWR', + 'Zimbabwean Dollar (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_001.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_001.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_001.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_001.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,48 +3,48 @@ return [ 'Names' => [ 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermudian Dollar', + 'BMD', + 'Bermudian Dollar', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Belarusian New Rouble (1994–1999)', + 'BYB', + 'Belarusian New Rouble (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Belarusian Rouble', + 'BYN', + 'Belarusian Rouble', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Belarusian Rouble (2000–2016)', + 'BYR', + 'Belarusian Rouble (2000–2016)', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Japanese Yen', + 'JP¥', + 'Japanese Yen', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Latvian Rouble', + 'LVR', + 'Latvian Rouble', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Russian Rouble', + 'RUB', + 'Russian Rouble', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Russian Rouble (1991–1998)', + 'RUR', + 'Russian Rouble (1991–1998)', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'St Helena Pound', + 'SHP', + 'St Helena Pound', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Tajikistani Rouble', + 'TJR', + 'Tajikistani Rouble', ], 'USD' => [ - 0 => 'US$', - 1 => 'US Dollar', + 'US$', + 'US Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_150.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_150.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_150.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_150.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'EUR' => [ - 0 => '€', - 1 => 'Euro', + '€', + 'Euro', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AE.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AE.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AE.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AE.php 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ - [ - 'AED' => [ - 0 => 'AED', - 1 => 'United Arab Emirates Dirham', - ], - ], -]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AG.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AG.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AG.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AG.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'XCD' => [ - 0 => '$', - 1 => 'East Caribbean Dollar', + '$', + 'East Caribbean Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AI.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AI.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AI.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AI.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'XCD' => [ - 0 => '$', - 1 => 'East Caribbean Dollar', + '$', + 'East Caribbean Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AT.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AT.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AT.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AT.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,10 @@ + [ + 'EUR' => [ + '€', + 'Euro', + ], + ], +]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AU.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AU.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AU.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_AU.php 2026-05-20 08:22:01.000000000 +0000 @@ -2,549 +2,125 @@ return [ 'Names' => [ - 'AED' => [ - 0 => 'AED', - 1 => 'United Arab Emirates Dirham', - ], - 'AFN' => [ - 0 => 'AFN', - 1 => 'Afghan Afghani', - ], - 'ALL' => [ - 0 => 'ALL', - 1 => 'Albanian Lek', - ], - 'AMD' => [ - 0 => 'AMD', - 1 => 'Armenian Dram', - ], - 'AOA' => [ - 0 => 'AOA', - 1 => 'Angolan Kwanza', - ], - 'ARS' => [ - 0 => 'ARS', - 1 => 'Argentine Peso', - ], 'AUD' => [ - 0 => '$', - 1 => 'Australian Dollar', - ], - 'AZN' => [ - 0 => 'AZN', - 1 => 'Azerbaijani Manat', + '$', + 'Australian Dollar', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Bosnia-Herzegovina Convertible Marka', + 'BAM', + 'Bosnia-Herzegovina Convertible Marka', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Barbados Dollar', - ], - 'BDT' => [ - 0 => 'BDT', - 1 => 'Bangladeshi Taka', - ], - 'BGN' => [ - 0 => 'BGN', - 1 => 'Bulgarian Lev', - ], - 'BHD' => [ - 0 => 'BHD', - 1 => 'Bahraini Dinar', - ], - 'BIF' => [ - 0 => 'BIF', - 1 => 'Burundian Franc', + 'BBD', + 'Barbados Dollar', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermuda Dollar', - ], - 'BND' => [ - 0 => 'BND', - 1 => 'Brunei Dollar', + 'BMD', + 'Bermuda Dollar', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Bolivian boliviano', + 'BOB', + 'Bolivian boliviano', ], 'BRL' => [ - 0 => 'BRL', - 1 => 'Brazilian Real', - ], - 'BTN' => [ - 0 => 'BTN', - 1 => 'Bhutanese Ngultrum', - ], - 'BWP' => [ - 0 => 'BWP', - 1 => 'Botswanan Pula', + 'BRL', + 'Brazilian Real', ], 'CAD' => [ - 0 => 'CAD', - 1 => 'Canadian Dollar', - ], - 'CDF' => [ - 0 => 'CDF', - 1 => 'Congolese Franc', - ], - 'CHF' => [ - 0 => 'CHF', - 1 => 'Swiss Franc', - ], - 'CLP' => [ - 0 => 'CLP', - 1 => 'Chilean Peso', + 'CAD', + 'Canadian Dollar', ], 'CNY' => [ - 0 => 'CNY', - 1 => 'Chinese Yuan', - ], - 'COP' => [ - 0 => 'COP', - 1 => 'Colombian Peso', - ], - 'CUP' => [ - 0 => 'CUP', - 1 => 'Cuban Peso', - ], - 'CVE' => [ - 0 => 'CVE', - 1 => 'Cape Verdean Escudo', - ], - 'CZK' => [ - 0 => 'CZK', - 1 => 'Czech Koruna', - ], - 'DJF' => [ - 0 => 'DJF', - 1 => 'Djiboutian Franc', - ], - 'DZD' => [ - 0 => 'DZD', - 1 => 'Algerian Dinar', - ], - 'EGP' => [ - 0 => 'EGP', - 1 => 'Egyptian Pound', - ], - 'ERN' => [ - 0 => 'ERN', - 1 => 'Eritrean Nakfa', - ], - 'ETB' => [ - 0 => 'ETB', - 1 => 'Ethiopian Birr', + 'CNY', + 'Chinese Yuan', ], 'EUR' => [ - 0 => 'EUR', - 1 => 'Euro', - ], - 'FJD' => [ - 0 => 'FJD', - 1 => 'Fijian Dollar', - ], - 'FKP' => [ - 0 => 'FKP', - 1 => 'Falkland Islands Pound', + 'EUR', + 'Euro', ], 'GBP' => [ - 0 => 'GBP', - 1 => 'British Pound', - ], - 'GEL' => [ - 0 => 'GEL', - 1 => 'Georgian Lari', - ], - 'GHS' => [ - 0 => 'GHS', - 1 => 'Ghanaian Cedi', - ], - 'GIP' => [ - 0 => 'GIP', - 1 => 'Gibraltar Pound', - ], - 'GMD' => [ - 0 => 'GMD', - 1 => 'Gambian Dalasi', - ], - 'GNF' => [ - 0 => 'GNF', - 1 => 'Guinean Franc', - ], - 'GYD' => [ - 0 => 'GYD', - 1 => 'Guyanaese Dollar', + 'GBP', + 'British Pound', ], 'HKD' => [ - 0 => 'HKD', - 1 => 'Hong Kong Dollar', - ], - 'HRK' => [ - 0 => 'HRK', - 1 => 'Croatian Kuna', - ], - 'HUF' => [ - 0 => 'HUF', - 1 => 'Hungarian Forint', - ], - 'IDR' => [ - 0 => 'IDR', - 1 => 'Indonesian Rupiah', + 'HKD', + 'Hong Kong Dollar', ], 'ILS' => [ - 0 => 'ILS', - 1 => 'Israeli Shekel', + 'ILS', + 'Israeli Shekel', ], 'INR' => [ - 0 => 'INR', - 1 => 'Indian Rupee', - ], - 'IQD' => [ - 0 => 'IQD', - 1 => 'Iraqi Dinar', - ], - 'IRR' => [ - 0 => 'IRR', - 1 => 'Iranian Rial', - ], - 'ISK' => [ - 0 => 'ISK', - 1 => 'Icelandic Króna', - ], - 'JOD' => [ - 0 => 'JOD', - 1 => 'Jordanian Dinar', + 'INR', + 'Indian Rupee', ], 'JPY' => [ - 0 => 'JPY', - 1 => 'Japanese Yen', - ], - 'KES' => [ - 0 => 'KES', - 1 => 'Kenyan Shilling', - ], - 'KGS' => [ - 0 => 'KGS', - 1 => 'Kyrgystani Som', - ], - 'KHR' => [ - 0 => 'KHR', - 1 => 'Cambodian Riel', - ], - 'KMF' => [ - 0 => 'KMF', - 1 => 'Comorian Franc', - ], - 'KPW' => [ - 0 => 'KPW', - 1 => 'North Korean Won', + 'JPY', + 'Japanese Yen', ], 'KRW' => [ - 0 => 'KRW', - 1 => 'South Korean Won', - ], - 'KWD' => [ - 0 => 'KWD', - 1 => 'Kuwaiti Dinar', - ], - 'KZT' => [ - 0 => 'KZT', - 1 => 'Kazakhstani Tenge', - ], - 'LAK' => [ - 0 => 'LAK', - 1 => 'Laotian Kip', - ], - 'LBP' => [ - 0 => 'LBP', - 1 => 'Lebanese Pound', - ], - 'LKR' => [ - 0 => 'LKR', - 1 => 'Sri Lankan Rupee', - ], - 'LRD' => [ - 0 => 'LRD', - 1 => 'Liberian Dollar', - ], - 'LSL' => [ - 0 => 'LSL', - 1 => 'Lesotho Loti', - ], - 'LYD' => [ - 0 => 'LYD', - 1 => 'Libyan Dinar', - ], - 'MAD' => [ - 0 => 'MAD', - 1 => 'Moroccan Dirham', - ], - 'MDL' => [ - 0 => 'MDL', - 1 => 'Moldovan Leu', - ], - 'MGA' => [ - 0 => 'MGA', - 1 => 'Malagasy Ariary', - ], - 'MKD' => [ - 0 => 'MKD', - 1 => 'Macedonian Denar', - ], - 'MMK' => [ - 0 => 'MMK', - 1 => 'Myanmar Kyat', - ], - 'MNT' => [ - 0 => 'MNT', - 1 => 'Mongolian Tugrik', - ], - 'MOP' => [ - 0 => 'MOP', - 1 => 'Macanese Pataca', - ], - 'MRO' => [ - 0 => 'MRO', - 1 => 'Mauritanian Ouguiya (1973–2017)', - ], - 'MUR' => [ - 0 => 'MUR', - 1 => 'Mauritian Rupee', - ], - 'MVR' => [ - 0 => 'MVR', - 1 => 'Maldivian Rufiyaa', - ], - 'MWK' => [ - 0 => 'MWK', - 1 => 'Malawian Kwacha', + 'KRW', + 'South Korean Won', ], 'MXN' => [ - 0 => 'MXN', - 1 => 'Mexican Peso', - ], - 'MYR' => [ - 0 => 'MYR', - 1 => 'Malaysian Ringgit', - ], - 'MZN' => [ - 0 => 'MZN', - 1 => 'Mozambican Metical', - ], - 'NAD' => [ - 0 => 'NAD', - 1 => 'Namibian Dollar', - ], - 'NGN' => [ - 0 => 'NGN', - 1 => 'Nigerian Naira', - ], - 'NOK' => [ - 0 => 'NOK', - 1 => 'Norwegian Krone', - ], - 'NPR' => [ - 0 => 'NPR', - 1 => 'Nepalese Rupee', + 'MXN', + 'Mexican Peso', ], 'NZD' => [ - 0 => 'NZD', - 1 => 'New Zealand Dollar', - ], - 'OMR' => [ - 0 => 'OMR', - 1 => 'Omani Rial', - ], - 'PEN' => [ - 0 => 'PEN', - 1 => 'Peruvian Sol', - ], - 'PGK' => [ - 0 => 'PGK', - 1 => 'Papua New Guinean Kina', + 'NZD', + 'New Zealand Dollar', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Philippine Peso', - ], - 'PLN' => [ - 0 => 'PLN', - 1 => 'Polish Zloty', - ], - 'PYG' => [ - 0 => 'PYG', - 1 => 'Paraguayan Guarani', - ], - 'QAR' => [ - 0 => 'QAR', - 1 => 'Qatari Riyal', - ], - 'RON' => [ - 0 => 'RON', - 1 => 'Romanian Leu', - ], - 'RSD' => [ - 0 => 'RSD', - 1 => 'Serbian Dinar', - ], - 'RUB' => [ - 0 => 'RUB', - 1 => 'Russian Rouble', - ], - 'RWF' => [ - 0 => 'RWF', - 1 => 'Rwandan Franc', - ], - 'SAR' => [ - 0 => 'SAR', - 1 => 'Saudi Riyal', - ], - 'SBD' => [ - 0 => 'SBD', - 1 => 'Solomon Islands Dollar', + 'PHP', + 'Philippine Peso', ], 'SCR' => [ - 0 => 'Rs', - 1 => 'Seychellois Rupee', - ], - 'SDG' => [ - 0 => 'SDG', - 1 => 'Sudanese Pound', - ], - 'SEK' => [ - 0 => 'SEK', - 1 => 'Swedish Krona', - ], - 'SGD' => [ - 0 => 'SGD', - 1 => 'Singapore Dollar', - ], - 'SHP' => [ - 0 => 'SHP', - 1 => 'St Helena Pound', + 'Rs', + 'Seychellois Rupee', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Sierra Leonean Leone (1964–2022)', - ], - 'SOS' => [ - 0 => 'SOS', - 1 => 'Somali Shilling', + 'SLL', + 'Sierra Leonean Leone (1964–2022)', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Suriname Dollar', - ], - 'SSP' => [ - 0 => 'SSP', - 1 => 'South Sudanese Pound', - ], - 'SYP' => [ - 0 => 'SYP', - 1 => 'Syrian Pound', - ], - 'SZL' => [ - 0 => 'SZL', - 1 => 'Swazi Lilangeni', - ], - 'TJS' => [ - 0 => 'TJS', - 1 => 'Tajikistani Somoni', - ], - 'TMT' => [ - 0 => 'TMT', - 1 => 'Turkmenistani Manat', - ], - 'TND' => [ - 0 => 'TND', - 1 => 'Tunisian Dinar', - ], - 'TOP' => [ - 0 => 'TOP', - 1 => 'Tongan Paʻanga', - ], - 'TRY' => [ - 0 => 'TRY', - 1 => 'Turkish Lira', + 'SRD', + 'Suriname Dollar', ], 'TWD' => [ - 0 => 'TWD', - 1 => 'New Taiwan Dollar', - ], - 'TZS' => [ - 0 => 'TZS', - 1 => 'Tanzanian Shilling', - ], - 'UAH' => [ - 0 => 'UAH', - 1 => 'Ukrainian Hryvnia', - ], - 'UGX' => [ - 0 => 'UGX', - 1 => 'Ugandan Shilling', + 'TWD', + 'New Taiwan Dollar', ], 'USD' => [ - 0 => 'USD', - 1 => 'US Dollar', + 'USD', + 'US Dollar', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Peso Uruguayo', - ], - 'UZS' => [ - 0 => 'UZS', - 1 => 'Uzbekistani Som', - ], - 'VEF' => [ - 0 => 'VEF', - 1 => 'Venezuelan Bolívar (2008–2018)', + 'UYU', + 'Peso Uruguayo', ], 'VES' => [ - 0 => 'VES', - 1 => 'Venezuelan bolívar', + 'VES', + 'Venezuelan bolívar', ], 'VND' => [ - 0 => 'VND', - 1 => 'Vietnamese Dong', - ], - 'VUV' => [ - 0 => 'VUV', - 1 => 'Vanuatu Vatu', - ], - 'WST' => [ - 0 => 'WST', - 1 => 'Samoan Tala', + 'VND', + 'Vietnamese Dong', ], 'XAF' => [ - 0 => 'XAF', - 1 => 'Central African CFA Franc', + 'XAF', + 'Central African CFA Franc', ], 'XCD' => [ - 0 => 'XCD', - 1 => 'East Caribbean Dollar', + 'XCD', + 'East Caribbean Dollar', ], 'XOF' => [ - 0 => 'XOF', - 1 => 'West African CFA Franc', + 'XOF', + 'West African CFA Franc', ], 'XPF' => [ - 0 => 'CFP', - 1 => 'CFP Franc', - ], - 'YER' => [ - 0 => 'YER', - 1 => 'Yemeni Rial', - ], - 'ZAR' => [ - 0 => 'ZAR', - 1 => 'South African Rand', - ], - 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Zambian Kwacha', + 'CFP', + 'CFP Franc', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BB.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BB.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BB.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BB.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'BBD' => [ - 0 => '$', - 1 => 'Barbadian Dollar', + '$', + 'Barbadian Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BI.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BI.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BI.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BI.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'BIF' => [ - 0 => 'FBu', - 1 => 'Burundian Franc', + 'FBu', + 'Burundian Franc', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BM.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BM.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BM.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BM.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'BMD' => [ - 0 => '$', - 1 => 'Bermudian Dollar', + '$', + 'Bermudian Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BS.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BS.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BS.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BS.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'BSD' => [ - 0 => '$', - 1 => 'Bahamian Dollar', + '$', + 'Bahamian Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BW.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BW.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BW.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BW.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'BWP' => [ - 0 => 'P', - 1 => 'Botswanan Pula', + 'P', + 'Botswanan Pula', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BZ.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BZ.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BZ.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_BZ.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'BZD' => [ - 0 => '$', - 1 => 'Belize Dollar', + '$', + 'Belize Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CA.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CA.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CA.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CA.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,60 +3,52 @@ return [ 'Names' => [ 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermudian Dollar', + 'BMD', + 'Bermudian Dollar', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Belarusian New Rouble (1994–1999)', - ], - 'BYN' => [ - 0 => 'BYN', - 1 => 'Belarusian Rouble', + 'BYB', + 'Belarusian New Rouble (1994–1999)', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Belarusian Rouble (2000–2016)', + 'BYR', + 'Belarusian Rouble (2000–2016)', ], 'CAD' => [ - 0 => '$', - 1 => 'Canadian Dollar', + '$', + 'Canadian Dollar', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Japanese Yen', + 'JP¥', + 'Japanese Yen', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Latvian Rouble', - ], - 'RUB' => [ - 0 => 'RUB', - 1 => 'Russian Rouble', + 'LVR', + 'Latvian Rouble', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Russian Rouble (1991–1998)', + 'RUR', + 'Russian Rouble (1991–1998)', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Saint Helena Pound', + 'SHP', + 'Saint Helena Pound', ], 'STN' => [ - 0 => 'STN', - 1 => 'São Tomé and Príncipe Dobra', + 'STN', + 'São Tomé and Príncipe Dobra', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Tajikistani Rouble', + 'TJR', + 'Tajikistani Rouble', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Trinidad and Tobago Dollar', + 'TTD', + 'Trinidad and Tobago Dollar', ], 'USD' => [ - 0 => 'US$', - 1 => 'US Dollar', + 'US$', + 'US Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CC.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CC.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CC.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CC.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'AUD' => [ - 0 => '$', - 1 => 'Australian Dollar', + '$', + 'Australian Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CK.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CK.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CK.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CK.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'NZD' => [ - 0 => '$', - 1 => 'New Zealand Dollar', + '$', + 'New Zealand Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CX.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CX.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CX.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_CX.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'AUD' => [ - 0 => '$', - 1 => 'Australian Dollar', + '$', + 'Australian Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_DK.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_DK.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_DK.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_DK.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'DKK' => [ - 0 => 'kr.', - 1 => 'Danish Krone', + 'kr.', + 'Danish Krone', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_DM.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_DM.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_DM.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_DM.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'XCD' => [ - 0 => '$', - 1 => 'East Caribbean Dollar', + '$', + 'East Caribbean Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ER.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ER.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ER.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ER.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'ERN' => [ - 0 => 'Nfk', - 1 => 'Eritrean Nakfa', + 'Nfk', + 'Eritrean Nakfa', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_FJ.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_FJ.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_FJ.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_FJ.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'FJD' => [ - 0 => '$', - 1 => 'Fijian Dollar', + '$', + 'Fijian Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_FK.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_FK.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_FK.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_FK.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'FKP' => [ - 0 => '£', - 1 => 'Falkland Islands Pound', + '£', + 'Falkland Islands Pound', ], 'GBP' => [ - 0 => 'GB£', - 1 => 'British Pound', + 'GB£', + 'British Pound', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GD.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GD.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GD.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GD.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'XCD' => [ - 0 => '$', - 1 => 'East Caribbean Dollar', + '$', + 'East Caribbean Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GG.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GG.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GG.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GG.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GBP' => [ - 0 => '£', - 1 => 'UK Pound', + '£', + 'UK Pound', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GH.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GH.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GH.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GH.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GHS' => [ - 0 => 'GH₵', - 1 => 'Ghanaian Cedi', + 'GH₵', + 'Ghanaian Cedi', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GI.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GI.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GI.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GI.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'GBP' => [ - 0 => 'GB£', - 1 => 'British Pound', + 'GB£', + 'British Pound', ], 'GIP' => [ - 0 => '£', - 1 => 'Gibraltar Pound', + '£', + 'Gibraltar Pound', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GM.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GM.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GM.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GM.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GMD' => [ - 0 => 'D', - 1 => 'Gambian Dalasi', + 'D', + 'Gambian Dalasi', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GY.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GY.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GY.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_GY.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GYD' => [ - 0 => '$', - 1 => 'Guyanaese Dollar', + '$', + 'Guyanaese Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ID.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ID.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ID.php 1970-01-01 00:00:00.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ID.php 2026-05-20 08:22:01.000000000 +0000 @@ -0,0 +1,10 @@ + [ + 'IDR' => [ + 'Rp', + 'Indonesian Rupiah', + ], + ], +]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_IM.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_IM.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_IM.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_IM.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GBP' => [ - 0 => '£', - 1 => 'UK Pound', + '£', + 'UK Pound', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_IN.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_IN.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_IN.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_IN.php 2026-05-20 08:22:01.000000000 +0000 @@ -2,17 +2,21 @@ return [ 'Names' => [ + 'KGS' => [ + 'KGS', + 'Kyrgyzstani Som', + ], 'USD' => [ - 0 => '$', - 1 => 'US Dollar', + '$', + 'US Dollar', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Venezuelan Bolívar', + 'VEF', + 'Venezuelan Bolívar', ], 'VES' => [ - 0 => 'VES', - 1 => 'VES', + 'VES', + 'VEF', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_JE.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_JE.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_JE.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_JE.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GBP' => [ - 0 => '£', - 1 => 'UK Pound', + '£', + 'UK Pound', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_JM.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_JM.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_JM.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_JM.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'JMD' => [ - 0 => '$', - 1 => 'Jamaican Dollar', + '$', + 'Jamaican Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KE.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KE.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KE.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KE.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'KES' => [ - 0 => 'Ksh', - 1 => 'Kenyan Shilling', + 'Ksh', + 'Kenyan Shilling', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KI.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KI.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KI.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KI.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'AUD' => [ - 0 => '$', - 1 => 'Australian Dollar', + '$', + 'Australian Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KN.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KN.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KN.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KN.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'XCD' => [ - 0 => '$', - 1 => 'East Caribbean Dollar', + '$', + 'East Caribbean Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KY.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KY.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KY.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_KY.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'KYD' => [ - 0 => '$', - 1 => 'Cayman Islands Dollar', + '$', + 'Cayman Islands Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LC.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LC.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LC.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LC.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'XCD' => [ - 0 => '$', - 1 => 'East Caribbean Dollar', + '$', + 'East Caribbean Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'LRD' => [ - 0 => '$', - 1 => 'Liberian Dollar', + '$', + 'Liberian Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LS.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LS.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LS.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_LS.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'ZAR' => [ - 0 => 'R', - 1 => 'South African Rand', + 'R', + 'South African Rand', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MG.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MG.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MG.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MG.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'MGA' => [ - 0 => 'Ar', - 1 => 'Malagasy Ariary', + 'Ar', + 'Malagasy Ariary', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MO.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MO.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MO.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MO.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'MOP' => [ - 0 => 'MOP$', - 1 => 'Macanese Pataca', + 'MOP$', + 'Macanese Pataca', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MS.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MS.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MS.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MS.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'XCD' => [ - 0 => '$', - 1 => 'East Caribbean Dollar', + '$', + 'East Caribbean Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MT.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MT.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MT.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MT.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GBP' => [ - 0 => 'GB£', - 1 => 'British Pound', + 'GB£', + 'British Pound', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MU.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MU.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MU.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MU.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'MUR' => [ - 0 => 'Rs', - 1 => 'Mauritian Rupee', + 'Rs', + 'Mauritian Rupee', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MV.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MV.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MV.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MV.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'MVR' => [ - 0 => 'Rf', - 1 => 'Maldivian Rufiyaa', + 'Rf', + 'Maldivian Rufiyaa', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MW.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MW.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MW.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MW.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'MWK' => [ - 0 => 'MK', - 1 => 'Malawian Kwacha', + 'MK', + 'Malawian Kwacha', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MY.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MY.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MY.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_MY.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'MYR' => [ - 0 => 'RM', - 1 => 'Malaysian Ringgit', + 'RM', + 'Malaysian Ringgit', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NA.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NA.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NA.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NA.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'NAD' => [ - 0 => '$', - 1 => 'Namibian Dollar', + '$', + 'Namibian Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NF.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NF.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NF.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NF.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'AUD' => [ - 0 => '$', - 1 => 'Australian Dollar', + '$', + 'Australian Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NG.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NG.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NG.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NG.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'NGN' => [ - 0 => '₦', - 1 => 'Nigerian Naira', + '₦', + 'Nigerian Naira', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NH.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NH.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NH.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NH.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'VUV' => [ - 0 => 'VT', - 1 => 'Vanuatu Vatu', + 'VT', + 'Vanuatu Vatu', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'AUD' => [ - 0 => '$', - 1 => 'Australian Dollar', + '$', + 'Australian Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NU.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NU.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NU.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NU.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'NZD' => [ - 0 => '$', - 1 => 'New Zealand Dollar', + '$', + 'New Zealand Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NZ.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NZ.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NZ.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_NZ.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'NZD' => [ - 0 => '$', - 1 => 'New Zealand Dollar', + '$', + 'New Zealand Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PG.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PG.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PG.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PG.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'PGK' => [ - 0 => 'K', - 1 => 'Papua New Guinean Kina', + 'K', + 'Papua New Guinean Kina', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PH.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PH.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PH.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PH.php 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ - [ - 'PHP' => [ - 0 => '₱', - 1 => 'Philippine Peso', - ], - ], -]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PK.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PK.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PK.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PK.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'PKR' => [ - 0 => 'Rs', - 1 => 'Pakistani Rupee', + 'Rs', + 'Pakistani Rupee', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PN.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PN.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PN.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_PN.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'NZD' => [ - 0 => '$', - 1 => 'New Zealand Dollar', + '$', + 'New Zealand Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_RW.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_RW.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_RW.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_RW.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'RWF' => [ - 0 => 'RF', - 1 => 'Rwandan Franc', + 'RF', + 'Rwandan Franc', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SB.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SB.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SB.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SB.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'SBD' => [ - 0 => '$', - 1 => 'Solomon Islands Dollar', + '$', + 'Solomon Islands Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SC.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SC.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SC.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SC.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'SCR' => [ - 0 => 'SR', - 1 => 'Seychellois Rupee', + 'SR', + 'Seychellois Rupee', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SE.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SE.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SE.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SE.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'SEK' => [ - 0 => 'kr', - 1 => 'Swedish Krona', + 'kr', + 'Swedish Krona', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SG.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SG.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SG.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SG.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'SGD' => [ - 0 => '$', - 1 => 'Singapore Dollar', + '$', + 'Singapore Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SH.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SH.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SH.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SH.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'GBP' => [ - 0 => 'GB£', - 1 => 'British Pound', + 'GB£', + 'British Pound', ], 'SHP' => [ - 0 => '£', - 1 => 'St Helena Pound', + '£', + 'St Helena Pound', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SL.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SL.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SL.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SL.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'SLE' => [ - 0 => 'Le', - 1 => 'Sierra Leonean Leone', + 'Le', + 'Sierra Leonean Leone', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SS.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SS.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SS.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SS.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'GBP' => [ - 0 => 'GB£', - 1 => 'British Pound', + 'GB£', + 'British Pound', ], 'SSP' => [ - 0 => '£', - 1 => 'South Sudanese Pound', + '£', + 'South Sudanese Pound', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SX.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SX.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SX.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SX.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'ANG' => [ - 0 => 'NAf.', - 1 => 'Netherlands Antillean Guilder', + 'NAf.', + 'Netherlands Antillean Guilder', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SZ.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SZ.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SZ.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_SZ.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'SZL' => [ - 0 => 'E', - 1 => 'Swazi Lilangeni', + 'E', + 'Swazi Lilangeni', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TK.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TK.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TK.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TK.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'NZD' => [ - 0 => '$', - 1 => 'New Zealand Dollar', + '$', + 'New Zealand Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TO.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TO.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TO.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TO.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'TOP' => [ - 0 => 'T$', - 1 => 'Tongan Paʻanga', + 'T$', + 'Tongan Paʻanga', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TT.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TT.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TT.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TT.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'TTD' => [ - 0 => '$', - 1 => 'Trinidad & Tobago Dollar', + '$', + 'Trinidad & Tobago Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TV.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TV.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TV.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TV.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'AUD' => [ - 0 => '$', - 1 => 'Australian Dollar', + '$', + 'Australian Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TZ.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TZ.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TZ.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_TZ.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'TZS' => [ - 0 => 'TSh', - 1 => 'Tanzanian Shilling', + 'TSh', + 'Tanzanian Shilling', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_UG.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_UG.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_UG.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_UG.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'UGX' => [ - 0 => 'USh', - 1 => 'Ugandan Shilling', + 'USh', + 'Ugandan Shilling', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_VC.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_VC.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_VC.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_VC.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'XCD' => [ - 0 => '$', - 1 => 'East Caribbean Dollar', + '$', + 'East Caribbean Dollar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_VU.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_VU.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_VU.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_VU.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'VUV' => [ - 0 => 'VT', - 1 => 'Vanuatu Vatu', + 'VT', + 'Vanuatu Vatu', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_WS.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_WS.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_WS.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_WS.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'WST' => [ - 0 => 'WS$', - 1 => 'Samoan Tala', + 'WS$', + 'Samoan Tala', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ZA.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ZA.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ZA.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ZA.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'ZAR' => [ - 0 => 'R', - 1 => 'South African Rand', + 'R', + 'South African Rand', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ZM.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ZM.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ZM.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/en_ZM.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'ZMW' => [ - 0 => 'K', - 1 => 'Zambian Kwacha', + 'K', + 'Zambian Kwacha', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1080 +3,1088 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'peseta andorrana', + 'ADP', + 'peseta andorrana', ], 'AED' => [ - 0 => 'AED', - 1 => 'dírham de los Emiratos Árabes Unidos', + 'AED', + 'dírham de los Emiratos Árabes Unidos', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'afgani (1927–2002)', + 'AFA', + 'afgani (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afgani', + 'AFN', + 'afgani afgano', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'lek', + 'ALL', + 'lek albanés', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'dram', + 'AMD', + 'dram armenio', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'florín antillano', + 'ANG', + 'florín antillano', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'kuanza', + 'AOA', + 'kuanza angoleño', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'kwanza angoleño (1977–1990)', + 'AOK', + 'kwanza angoleño (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'nuevo kwanza angoleño (1990–2000)', + 'AON', + 'nuevo kwanza angoleño (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'kwanza reajustado angoleño (1995–1999)', + 'AOR', + 'kwanza reajustado angoleño (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'austral argentino', + 'ARA', + 'austral argentino', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'peso argentino (1983–1985)', + 'ARP', + 'peso argentino (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'peso argentino', + 'ARS', + 'peso argentino', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'chelín austriaco', + 'ATS', + 'chelín austriaco', ], 'AUD' => [ - 0 => 'AUD', - 1 => 'dólar australiano', + 'AUD', + 'dólar australiano', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'florín arubeño', + 'AWG', + 'florín arubeño', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'manat azerí (1993–2006)', + 'AZM', + 'manat azerí (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'manat azerbaiyano', + 'AZN', + 'manat azerbaiyano', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'dinar bosnio', + 'BAD', + 'dinar bosnio', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'marco convertible de Bosnia y Herzegovina', + 'BAM', + 'marco convertible de Bosnia y Herzegovina', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'dólar barbadense', + 'BBD', + 'dólar barbadense', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'taka', + 'BDT', + 'taka bangladesí', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'franco belga (convertible)', + 'BEC', + 'franco belga (convertible)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'franco belga', + 'BEF', + 'franco belga', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'franco belga (financiero)', + 'BEL', + 'franco belga (financiero)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'lev fuerte búlgaro', + 'BGL', + 'lev fuerte búlgaro', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'leva búlgara', + 'BGN', + 'leva búlgara', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'dinar bareiní', + 'BHD', + 'dinar bareiní', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'franco burundés', + 'BIF', + 'franco burundés', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'dólar bermudeño', + 'BMD', + 'dólar bermudeño', ], 'BND' => [ - 0 => 'BND', - 1 => 'dólar bruneano', + 'BND', + 'dólar bruneano', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'boliviano', + 'BOB', + 'boliviano', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'peso boliviano', + 'BOP', + 'peso boliviano', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'MVDOL boliviano', + 'BOV', + 'MVDOL boliviano', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'nuevo cruceiro brasileño (1967–1986)', + 'BRB', + 'nuevo cruceiro brasileño (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'cruzado brasileño', + 'BRC', + 'cruzado brasileño', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'cruceiro brasileño (1990–1993)', + 'BRE', + 'cruceiro brasileño (1990–1993)', ], 'BRL' => [ - 0 => 'BRL', - 1 => 'real brasileño', + 'BRL', + 'real brasileño', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'nuevo cruzado brasileño', + 'BRN', + 'nuevo cruzado brasileño', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'cruceiro brasileño', + 'BRR', + 'cruceiro brasileño', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'dólar bahameño', + 'BSD', + 'dólar bahameño', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'gultrum', + 'BTN', + 'gultrum butanés', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'kyat birmano', + 'BUK', + 'kyat birmano', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'pula', + 'BWP', + 'pula botsuano', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'nuevo rublo bielorruso (1994–1999)', + 'BYB', + 'nuevo rublo bielorruso (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'rublo bielorruso', + 'BYN', + 'rublo bielorruso', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'rublo bielorruso (2000–2016)', + 'BYR', + 'rublo bielorruso (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'dólar beliceño', + 'BZD', + 'dólar beliceño', ], 'CAD' => [ - 0 => 'CAD', - 1 => 'dólar canadiense', + 'CAD', + 'dólar canadiense', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'franco congoleño', + 'CDF', + 'franco congoleño', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'euro WIR', + 'CHE', + 'euro WIR', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'franco suizo', + 'CHF', + 'franco suizo', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'franco WIR', + 'CHW', + 'franco WIR', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'unidad de fomento chilena', + 'CLF', + 'unidad de fomento chilena', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'peso chileno', + 'CLP', + 'peso chileno', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'yuan chino (extracontinental)', + 'CNH', + 'yuan chino (extracontinental)', ], 'CNY' => [ - 0 => 'CNY', - 1 => 'yuan', + 'CNY', + 'yuan renminbi', ], 'COP' => [ - 0 => 'COP', - 1 => 'peso colombiano', + 'COP', + 'peso colombiano', ], 'COU' => [ - 0 => 'COU', - 1 => 'unidad de valor real colombiana', + 'COU', + 'unidad de valor real colombiana', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'colón costarricense', + 'CRC', + 'colón costarricense', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'antiguo dinar serbio', + 'CSD', + 'antiguo dinar serbio', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'corona fuerte checoslovaca', + 'CSK', + 'corona fuerte checoslovaca', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'peso cubano convertible', + 'CUC', + 'peso cubano convertible', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'peso cubano', + 'CUP', + 'peso cubano', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'escudo de Cabo Verde', + 'CVE', + 'escudo de Cabo Verde', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'libra chipriota', + 'CYP', + 'libra chipriota', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'corona checa', + 'CZK', + 'corona checa', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'ostmark de Alemania del Este', + 'DDM', + 'ostmark de Alemania del Este', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'marco alemán', + 'DEM', + 'marco alemán', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'franco yibutiano', + 'DJF', + 'franco yibutiano', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'corona danesa', + 'DKK', + 'corona danesa', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'peso dominicano', + 'DOP', + 'peso dominicano', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'dinar argelino', + 'DZD', + 'dinar argelino', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'sucre ecuatoriano', + 'ECS', + 'sucre ecuatoriano', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'unidad de valor constante (UVC) ecuatoriana', + 'ECV', + 'unidad de valor constante (UVC) ecuatoriana', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'corona estonia', + 'EEK', + 'corona estonia', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'libra egipcia', + 'EGP', + 'libra egipcia', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'nakfa', + 'ERN', + 'nakfa eritreo', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'peseta española (cuenta A)', + 'ESA', + 'peseta española (cuenta A)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'peseta española (cuenta convertible)', + 'ESB', + 'peseta española (cuenta convertible)', ], 'ESP' => [ - 0 => '₧', - 1 => 'peseta española', + '₧', + 'peseta española', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'bir', + 'ETB', + 'bir etíope', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'marco finlandés', + 'FIM', + 'marco finlandés', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'dólar fiyiano', + 'FJD', + 'dólar fiyiano', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'libra malvinense', + 'FKP', + 'libra malvinense', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'franco francés', + 'FRF', + 'franco francés', ], 'GBP' => [ - 0 => 'GBP', - 1 => 'libra esterlina', + 'GBP', + 'libra esterlina', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'kupon larit georgiano', + 'GEK', + 'kupon larit georgiano', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'lari', + 'GEL', + 'lari georgiano', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'cedi ghanés (1979–2007)', + 'GHC', + 'cedi ghanés (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'cedi', + 'GHS', + 'cedi ghanés', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'libra gibraltareña', + 'GIP', + 'libra gibraltareña', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'dalasi', + 'GMD', + 'dalasi gambiano', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'franco guineano', + 'GNF', + 'franco guineano', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'syli guineano', + 'GNS', + 'syli guineano', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'ekuele de Guinea Ecuatorial', + 'GQE', + 'ekuele de Guinea Ecuatorial', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'dracma griego', + 'GRD', + 'dracma griego', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'quetzal guatemalteco', + 'GTQ', + 'quetzal guatemalteco', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'escudo de Guinea Portuguesa', + 'GWE', + 'escudo de Guinea Portuguesa', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'peso de Guinea-Bissáu', + 'GWP', + 'peso de Guinea-Bissáu', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'dólar guyanés', + 'GYD', + 'dólar guyanés', ], 'HKD' => [ - 0 => 'HKD', - 1 => 'dólar hongkonés', + 'HKD', + 'dólar hongkonés', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'lempira hondureño', + 'HNL', + 'lempira hondureño', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'dinar croata', + 'HRD', + 'dinar croata', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'kuna', + 'HRK', + 'kuna croata', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'gurde haitiano', + 'HTG', + 'gurde haitiano', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'forinto húngaro', + 'HUF', + 'forinto húngaro', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'rupia indonesia', + 'IDR', + 'rupia indonesia', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'libra irlandesa', + 'IEP', + 'libra irlandesa', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'libra israelí', + 'ILP', + 'libra israelí', ], 'ILS' => [ - 0 => 'ILS', - 1 => 'nuevo séquel israelí', + 'ILS', + 'nuevo séquel israelí', ], 'INR' => [ - 0 => 'INR', - 1 => 'rupia india', + 'INR', + 'rupia india', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'dinar iraquí', + 'IQD', + 'dinar iraquí', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'rial iraní', + 'IRR', + 'rial iraní', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'corona islandesa', + 'ISK', + 'corona islandesa', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'lira italiana', + 'ITL', + 'lira italiana', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'dólar jamaicano', + 'JMD', + 'dólar jamaicano', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'dinar jordano', + 'JOD', + 'dinar jordano', ], 'JPY' => [ - 0 => 'JPY', - 1 => 'yen', + 'JPY', + 'yen japonés', ], 'KES' => [ - 0 => 'KES', - 1 => 'chelín keniano', + 'KES', + 'chelín keniano', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'som', + 'KGS', + 'som kirguís', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'riel', + 'KHR', + 'riel camboyano', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'franco comorense', + 'KMF', + 'franco comorense', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'won norcoreano', + 'KPW', + 'won norcoreano', ], 'KRW' => [ - 0 => 'KRW', - 1 => 'won surcoreano', + 'KRW', + 'won surcoreano', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'dinar kuwaití', + 'KWD', + 'dinar kuwaití', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'dólar de las Islas Caimán', + 'KYD', + 'dólar de las Islas Caimán', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'tengue kazajo', + 'KZT', + 'tengue kazajo', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'kip', + 'LAK', + 'kip laosiano', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'libra libanesa', + 'LBP', + 'libra libanesa', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'rupia esrilanquesa', + 'LKR', + 'rupia esrilanquesa', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'dólar liberiano', + 'LRD', + 'dólar liberiano', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'loti lesotense', + 'LSL', + 'loti lesotense', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'litas lituano', + 'LTL', + 'litas lituano', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'talonas lituano', + 'LTT', + 'talonas lituano', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'franco convertible luxemburgués', + 'LUC', + 'franco convertible luxemburgués', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'franco luxemburgués', + 'LUF', + 'franco luxemburgués', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'franco financiero luxemburgués', + 'LUL', + 'franco financiero luxemburgués', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'lats letón', + 'LVL', + 'lats letón', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'rublo letón', + 'LVR', + 'rublo letón', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'dinar libio', + 'LYD', + 'dinar libio', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'dírham marroquí', + 'MAD', + 'dírham marroquí', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'franco marroquí', + 'MAF', + 'franco marroquí', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'leu moldavo', + 'MDL', + 'leu moldavo', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'ariari', + 'MGA', + 'ariari malgache', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'franco malgache', + 'MGF', + 'franco malgache', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'dinar macedonio', + 'MKD', + 'dinar macedonio', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'franco malí', + 'MLF', + 'franco malí', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'kiat', + 'MMK', + 'kiat de Myanmar', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'tugrik', + 'MNT', + 'tugrik mongol', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'pataca de Macao', + 'MOP', + 'pataca macaense', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'uguiya (1973–2017)', + 'MRO', + 'uguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'uguiya', + 'MRU', + 'uguiya mauritano', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'lira maltesa', + 'MTL', + 'lira maltesa', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'libra maltesa', + 'MTP', + 'libra maltesa', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'rupia mauriciana', + 'MUR', + 'rupia mauriciana', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'rufiya', + 'MVR', + 'rufiya maldiva', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'kuacha malauí', + 'MWK', + 'kuacha malauí', ], 'MXN' => [ - 0 => 'MXN', - 1 => 'peso mexicano', + 'MXN', + 'peso mexicano', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'peso de plata mexicano (1861–1992)', + 'MXP', + 'peso de plata mexicano (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'unidad de inversión (UDI) mexicana', + 'MXV', + 'unidad de inversión (UDI) mexicana', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'ringit', + 'MYR', + 'ringit malasio', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'escudo mozambiqueño', + 'MZE', + 'escudo mozambiqueño', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'antiguo metical mozambiqueño', + 'MZM', + 'antiguo metical mozambiqueño', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'metical', + 'MZN', + 'metical mozambiqueño', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'dólar namibio', + 'NAD', + 'dólar namibio', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'naira', + 'NGN', + 'naira nigeriano', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'córdoba nicaragüense (1988–1991)', + 'NIC', + 'córdoba nicaragüense (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'córdoba oro', + 'NIO', + 'córdoba oro', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'florín neerlandés', + 'NLG', + 'florín neerlandés', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'corona noruega', + 'NOK', + 'corona noruega', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'rupia nepalí', + 'NPR', + 'rupia nepalí', ], 'NZD' => [ - 0 => 'NZD', - 1 => 'dólar neozelandés', + 'NZD', + 'dólar neozelandés', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'rial omaní', + 'OMR', + 'rial omaní', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'balboa panameño', + 'PAB', + 'balboa panameño', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'inti peruano', + 'PEI', + 'inti peruano', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'sol peruano', + 'PEN', + 'sol peruano', ], 'PES' => [ - 0 => 'PES', - 1 => 'sol peruano (1863–1965)', + 'PES', + 'sol peruano (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'kina', + 'PGK', + 'kina papú', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'peso filipino', + 'PHP', + 'peso filipino', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'rupia pakistaní', + 'PKR', + 'rupia pakistaní', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'esloti', + 'PLN', + 'esloti polaco', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'zloty polaco (1950–1995)', + 'PLZ', + 'zloty polaco (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'escudo portugués', + 'PTE', + 'escudo portugués', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'guaraní paraguayo', + 'PYG', + 'guaraní paraguayo', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'rial catarí', + 'QAR', + 'rial catarí', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'dólar rodesiano', + 'RHD', + 'dólar rodesiano', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'antiguo leu rumano', + 'ROL', + 'antiguo leu rumano', ], 'RON' => [ - 0 => 'RON', - 1 => 'leu rumano', + 'RON', + 'leu rumano', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'dinar serbio', + 'RSD', + 'dinar serbio', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'rublo ruso', + 'RUB', + 'rublo ruso', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'rublo ruso (1991–1998)', + 'RUR', + 'rublo ruso (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'franco ruandés', + 'RWF', + 'franco ruandés', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'rial saudí', + 'SAR', + 'rial saudí', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'dólar salomonense', + 'SBD', + 'dólar salomonense', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'rupia seychellense', + 'SCR', + 'rupia seychellense', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'dinar sudanés', + 'SDD', + 'dinar sudanés', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'libra sudanesa', + 'SDG', + 'libra sudanesa', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'libra sudanesa antigua', + 'SDP', + 'libra sudanesa antigua', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'corona sueca', + 'SEK', + 'corona sueca', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'dólar singapurense', + 'SGD', + 'dólar singapurense', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'libra de Santa Elena', + 'SHP', + 'libra de Santa Elena', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'tólar esloveno', + 'SIT', + 'tólar esloveno', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'corona eslovaca', + 'SKK', + 'corona eslovaca', + ], + 'SLE' => [ + 'SLE', + 'leona sierraleonesa', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'leona', + 'SLL', + 'leona sierraleonesa (1964–2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'chelín somalí', + 'SOS', + 'chelín somalí', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'dólar surinamés', + 'SRD', + 'dólar surinamés', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'florín surinamés', + 'SRG', + 'florín surinamés', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'libra sursudanesa', + 'SSP', + 'libra sursudanesa', ], 'STD' => [ - 0 => 'STD', - 1 => 'dobra (1977–2017)', + 'STD', + 'dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'dobra', + 'STN', + 'dobra santotomense', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'rublo soviético', + 'SUR', + 'rublo soviético', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'colón salvadoreño', + 'SVC', + 'colón salvadoreño', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'libra siria', + 'SYP', + 'libra siria', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'lilangeni', + 'SZL', + 'lilangeni esuatiní', ], 'THB' => [ - 0 => '฿', - 1 => 'bat', + '฿', + 'bat tailandés', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'rublo tayiko', + 'TJR', + 'rublo tayiko', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'somoni tayiko', + 'TJS', + 'somoni tayiko', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'manat turcomano (1993–2009)', + 'TMM', + 'manat turcomano (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'manat turcomano', + 'TMT', + 'manat turcomano', ], 'TND' => [ - 0 => 'TND', - 1 => 'dinar tunecino', + 'TND', + 'dinar tunecino', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'paanga', + 'TOP', + 'paanga tongano', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'escudo timorense', + 'TPE', + 'escudo timorense', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'lira turca (1922–2005)', + 'TRL', + 'lira turca (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'lira turca', + 'TRY', + 'lira turca', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'dólar de Trinidad y Tobago', + 'TTD', + 'dólar de Trinidad y Tobago', ], 'TWD' => [ - 0 => 'TWD', - 1 => 'nuevo dólar taiwanés', + 'TWD', + 'nuevo dólar taiwanés', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'chelín tanzano', + 'TZS', + 'chelín tanzano', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'grivna', + 'UAH', + 'grivna ucraniana', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'karbovanet ucraniano', + 'UAK', + 'karbovanet ucraniano', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'chelín ugandés (1966–1987)', + 'UGS', + 'chelín ugandés (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'chelín ugandés', + 'UGX', + 'chelín ugandés', ], 'USD' => [ - 0 => 'US$', - 1 => 'dólar estadounidense', + 'US$', + 'dólar estadounidense', ], 'USN' => [ - 0 => 'USN', - 1 => 'dólar estadounidense (día siguiente)', + 'USN', + 'dólar estadounidense (día siguiente)', ], 'USS' => [ - 0 => 'USS', - 1 => 'dólar estadounidense (mismo día)', + 'USS', + 'dólar estadounidense (mismo día)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'peso uruguayo en unidades indexadas', + 'UYI', + 'peso uruguayo en unidades indexadas', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'peso uruguayo (1975–1993)', + 'UYP', + 'peso uruguayo (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'peso uruguayo', + 'UYU', + 'peso uruguayo', ], 'UYW' => [ - 0 => 'UYW', - 1 => 'unidad previsional uruguayo', + 'UYW', + 'unidad previsional uruguayo', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'sum', + 'UZS', + 'sum uzbeko', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'bolívar venezolano (1871–2008)', + 'VEB', + 'bolívar venezolano (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'bolívar venezolano (2008–2018)', + 'VEF', + 'bolívar venezolano (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'bolívar venezolano', + 'VES', + 'bolívar venezolano', ], 'VND' => [ - 0 => '₫', - 1 => 'dong', + '₫', + 'dong vietnamita', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vatu', + 'VUV', + 'vatu vanuatense', ], 'WST' => [ - 0 => 'WST', - 1 => 'tala', + 'WST', + 'tala samoano', ], 'XAF' => [ - 0 => 'XAF', - 1 => 'franco CFA de África Central', + 'XAF', + 'franco CFA de África Central', ], 'XCD' => [ - 0 => 'XCD', - 1 => 'dólar del Caribe Oriental', + 'XCD', + 'dólar del Caribe Oriental', + ], + 'XCG' => [ + 'Cg.', + 'florín caribeño', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'unidad de moneda europea', + 'XEU', + 'unidad de moneda europea', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'franco oro francés', + 'XFO', + 'franco oro francés', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'franco UIC francés', + 'XFU', + 'franco UIC francés', ], 'XOF' => [ - 0 => 'XOF', - 1 => 'franco CFA de África Occidental', + 'XOF', + 'franco CFA de África Occidental', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'franco CFP', + 'CFPF', + 'franco CFP', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'fondos RINET', + 'XRE', + 'fondos RINET', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'dinar yemení', + 'YDD', + 'dinar yemení', ], 'YER' => [ - 0 => 'YER', - 1 => 'rial yemení', + 'YER', + 'rial yemení', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'dinar fuerte yugoslavo', + 'YUD', + 'dinar fuerte yugoslavo', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'super dinar yugoslavo', + 'YUM', + 'super dinar yugoslavo', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'dinar convertible yugoslavo', + 'YUN', + 'dinar convertible yugoslavo', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'rand sudafricano (financiero)', + 'ZAL', + 'rand sudafricano (financiero)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'rand', + 'ZAR', + 'rand sudafricano', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'kwacha zambiano (1968–2012)', + 'ZMK', + 'kwacha zambiano (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'kuacha zambiano', + 'ZMW', + 'kuacha zambiano', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'nuevo zaire zaireño', + 'ZRN', + 'nuevo zaire zaireño', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'zaire zaireño', + 'ZRZ', + 'zaire zaireño', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'dólar de Zimbabue', + 'ZWD', + 'dólar de Zimbabue', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'dólar zimbabuense', + 'ZWL', + 'dólar zimbabuense', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_419.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_419.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_419.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_419.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,48 +3,56 @@ return [ 'Names' => [ 'ANG' => [ - 0 => 'ANG', - 1 => 'florín de las Antillas Neerlandesas', + 'ANG', + 'florín de las Antillas Neerlandesas', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'dólar de Bermudas', + 'BMD', + 'dólar de Bermudas', ], 'EUR' => [ - 0 => 'EUR', - 1 => 'euro', + 'EUR', + 'euro', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'gourde haitiano', + 'HTG', + 'gourde haitiano', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'tenge kazajo', + 'KZT', + 'tenge kazajo', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'kwacha malauí', + 'MWK', + 'kwacha malauí', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'córdoba nicaragüense', + 'NIO', + 'córdoba nicaragüense', + ], + 'SLE' => [ + 'SLE', + 'leone', + ], + 'SLL' => [ + 'SLL', + 'leones (1964—2022)', ], 'THB' => [ - 0 => 'THB', - 1 => 'baht tailandes', + 'THB', + 'baht tailandes', ], 'USD' => [ - 0 => 'USD', - 1 => 'dólar estadounidense', + 'USD', + 'dólar estadounidense', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'som uzbeko', + 'UZS', + 'som uzbeko', ], 'VND' => [ - 0 => 'VND', - 1 => 'dong', + 'VND', + 'dong vietnamita', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_AR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_AR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_AR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_AR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'ARS' => [ - 0 => '$', - 1 => 'peso argentino', + '$', + 'peso argentino', ], 'USD' => [ - 0 => 'US$', - 1 => 'dólar estadounidense', + 'US$', + 'dólar estadounidense', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BO.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BO.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BO.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BO.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'BOB' => [ - 0 => 'Bs', - 1 => 'boliviano', + 'Bs', + 'boliviano', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'BRL' => [ - 0 => 'R$', - 1 => 'real brasileño', + 'R$', + 'real brasileño', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BZ.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BZ.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BZ.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_BZ.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'BZD' => [ - 0 => '$', - 1 => 'dólar beliceño', + '$', + 'dólar beliceño', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CL.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CL.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CL.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CL.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'CLP' => [ - 0 => '$', - 1 => 'Peso chileno', + '$', + 'Peso chileno', ], 'USD' => [ - 0 => 'US$', - 1 => 'dólar estadounidense', + 'US$', + 'dólar estadounidense', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CO.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CO.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CO.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CO.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'COP' => [ - 0 => '$', - 1 => 'peso colombiano', + '$', + 'peso colombiano', ], 'USD' => [ - 0 => 'US$', - 1 => 'dólar estadounidense', + 'US$', + 'dólar estadounidense', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'CRC' => [ - 0 => '₡', - 1 => 'colón costarricense', + '₡', + 'colón costarricense', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CU.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CU.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CU.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_CU.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'CUP' => [ - 0 => '$', - 1 => 'peso cubano', + '$', + 'peso cubano', ], 'USD' => [ - 0 => 'US$', - 1 => 'dólar estadounidense', + 'US$', + 'dólar estadounidense', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_DO.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_DO.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_DO.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_DO.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'DOP' => [ - 0 => 'RD$', - 1 => 'peso dominicano', + 'RD$', + 'peso dominicano', ], 'USD' => [ - 0 => 'US$', - 1 => 'dólar estadounidense', + 'US$', + 'dólar estadounidense', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_EC.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_EC.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_EC.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_EC.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'USD' => [ - 0 => '$', - 1 => 'dólar estadounidense', + '$', + 'dólar estadounidense', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_GQ.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_GQ.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_GQ.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_GQ.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'XAF' => [ - 0 => 'FCFA', - 1 => 'franco CFA de África Central', + 'FCFA', + 'franco CFA de África Central', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_GT.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_GT.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_GT.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_GT.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GTQ' => [ - 0 => 'Q', - 1 => 'quetzal', + 'Q', + 'quetzal', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_HN.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_HN.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_HN.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_HN.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'HNL' => [ - 0 => 'L', - 1 => 'lempira hondureño', + 'L', + 'lempira hondureño', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_MX.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_MX.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_MX.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_MX.php 2026-05-20 08:22:01.000000000 +0000 @@ -2,57 +2,33 @@ return [ 'Names' => [ - 'BDT' => [ - 0 => 'BDT', - 1 => 'taka bangladesí', - ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ngultrum butanés', - ], - 'KGS' => [ - 0 => 'KGS', - 1 => 'som kirguís', - ], - 'KHR' => [ - 0 => 'KHR', - 1 => 'riel camboyano', - ], - 'LAK' => [ - 0 => 'LAK', - 1 => 'kip laosiano', + 'BTN', + 'ngultrum butanés', ], 'MRO' => [ - 0 => 'MRU', - 1 => 'uguiya (1973–2017)', + 'MRU', + 'uguiya (1973–2017)', ], 'MRU' => [ - 0 => 'UM', - 1 => 'uguiya', + 'UM', + 'uguiya mauritano', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'rupia de Maldivas', + 'MVR', + 'rupia de Maldivas', ], 'MXN' => [ - 0 => '$', - 1 => 'peso mexicano', - ], - 'STN' => [ - 0 => 'STN', - 1 => 'dobra santotomense', + '$', + 'peso mexicano', ], 'THB' => [ - 0 => 'THB', - 1 => 'baht tailandés', - ], - 'VND' => [ - 0 => 'VND', - 1 => 'dong vietnamita', + 'THB', + 'baht tailandés', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'kwacha zambiano', + 'ZMW', + 'kwacha zambiano', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_NI.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_NI.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_NI.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_NI.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'NIO' => [ - 0 => 'C$', - 1 => 'córdoba nicaragüense', + 'C$', + 'córdoba nicaragüense', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PA.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PA.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PA.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PA.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'PAB' => [ - 0 => 'B/.', - 1 => 'balboa panameño', + 'B/.', + 'balboa panameño', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PE.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PE.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PE.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PE.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'PEN' => [ - 0 => 'S/', - 1 => 'sol peruano', + 'S/', + 'sol peruano', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PH.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PH.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PH.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PH.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'PHP' => [ - 0 => '₱', - 1 => 'peso filipino', + '₱', + 'peso filipino', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'USD' => [ - 0 => '$', - 1 => 'dólar estadounidense', + '$', + 'dólar estadounidense', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PY.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PY.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PY.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_PY.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'PYG' => [ - 0 => 'Gs.', - 1 => 'guaraní paraguayo', + 'Gs.', + 'guaraní paraguayo', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_SV.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_SV.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_SV.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_SV.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'USD' => [ - 0 => '$', - 1 => 'dólar estadounidense', + '$', + 'dólar estadounidense', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_US.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_US.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_US.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_US.php 2026-05-20 08:22:01.000000000 +0000 @@ -2,49 +2,37 @@ return [ 'Names' => [ - 'BDT' => [ - 0 => 'BDT', - 1 => 'taka bangladesí', - ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ngultrum butanés', + 'BTN', + 'ngultrum butanés', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'birr', + 'ETB', + 'birr', ], 'JPY' => [ - 0 => '¥', - 1 => 'yen', - ], - 'LAK' => [ - 0 => 'LAK', - 1 => 'kip laosiano', + '¥', + 'yen japonés', ], 'THB' => [ - 0 => 'THB', - 1 => 'bat', + 'THB', + 'bat', ], 'USD' => [ - 0 => '$', - 1 => 'dólar estadounidense', + '$', + 'dólar estadounidense', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'sum', - ], - 'VND' => [ - 0 => 'VND', - 1 => 'dong vietnamita', + 'UZS', + 'sum', ], 'XAF' => [ - 0 => 'XAF', - 1 => 'franco CFA de África central', + 'XAF', + 'franco CFA de África central', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'kwacha zambiano', + 'ZMW', + 'kwacha zambiano', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_UY.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_UY.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_UY.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_UY.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,16 +3,16 @@ return [ 'Names' => [ 'USD' => [ - 0 => 'US$', - 1 => 'dólar estadounidense', + 'US$', + 'dólar estadounidense', ], 'UYU' => [ - 0 => '$', - 1 => 'peso uruguayo', + '$', + 'peso uruguayo', ], 'UYW' => [ - 0 => 'UP', - 1 => 'unidad previsional uruguayo', + 'UP', + 'unidad previsional uruguayo', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_VE.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_VE.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_VE.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/es_VE.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'VEF' => [ - 0 => 'Bs.', - 1 => 'bolívar venezolano (2008–2018)', + 'Bs.', + 'bolívar venezolano (2008–2018)', ], 'VES' => [ - 0 => 'Bs.S', - 1 => 'bolívar soberano', + 'Bs.S', + 'bolívar soberano', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/et.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/et.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/et.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/et.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1056 +3,1072 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Andorra peseeta', + 'ADP', + 'Andorra peseeta', ], 'AED' => [ - 0 => 'AED', - 1 => 'Araabia Ühendemiraatide dirhem', + 'AED', + 'Araabia Ühendemiraatide dirhem', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Afganistani afgaani (1927–2002)', + 'AFA', + 'Afganistani afgaani (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afganistani afgaani', + 'AFN', + 'Afganistani afgaani', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'Albaania lekk (1946–1965)', + 'ALK', + 'Albaania lekk (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Albaania lekk', + 'ALL', + 'Albaania lekk', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Armeenia dramm', + 'AMD', + 'Armeenia dramm', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Hollandi Antillide kulden', + 'ANG', + 'Hollandi Antillide kulden', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Angola kvanza', + 'AOA', + 'Angola kvanza', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Angola kvanza (1977–1990)', + 'AOK', + 'Angola kvanza (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Angola kvanza (1990–2000)', + 'AON', + 'Angola kvanza (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Angola reformitud kvanza, 1995–1999', + 'AOR', + 'Angola reformitud kvanza, 1995–1999', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Argentina austral', + 'ARA', + 'Argentina austral', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'Argentina peeso (1881–1970)', + 'ARM', + 'Argentina peeso (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Argentina peeso (1983–1985)', + 'ARP', + 'Argentina peeso (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Argentina peeso', + 'ARS', + 'Argentina peeso', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Austria šilling', + 'ATS', + 'Austria šilling', ], 'AUD' => [ - 0 => 'AU$', - 1 => 'Austraalia dollar', + 'AU$', + 'Austraalia dollar', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Aruba kulden', + 'AWG', + 'Aruba kulden', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Aserbaidžaani manat (1993–2006)', + 'AZM', + 'Aserbaidžaani manat (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Aserbaidžaani manat', + 'AZN', + 'Aserbaidžaani manat', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Bosnia ja Hertsegoviina dinaar (1992–1994)', + 'BAD', + 'Bosnia ja Hertsegoviina dinaar (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Bosnia ja Hertsegoviina konverteeritav mark', + 'BAM', + 'Bosnia ja Hertsegoviina konverteeritav mark', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'Bosnia ja Hertsegoviina uus dinaar (1994–1997)', + 'BAN', + 'Bosnia ja Hertsegoviina uus dinaar (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Barbadose dollar', + 'BBD', + 'Barbadose dollar', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Bangladeshi taka', + 'BDT', + 'Bangladeshi taka', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Belgia konverteeritav frank', + 'BEC', + 'Belgia konverteeritav frank', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Belgia frank', + 'BEF', + 'Belgia frank', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Belgia arveldusfrank', + 'BEL', + 'Belgia arveldusfrank', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Bulgaaria püsiv leev', + 'BGL', + 'Bulgaaria püsiv leev', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Bulgaaria leev', + 'BGN', + 'Bulgaaria leev', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'Bulgaaria leev (1879–1952)', + 'BGO', + 'Bulgaaria leev (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Bahreini dinaar', + 'BHD', + 'Bahreini dinaar', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Burundi frank', + 'BIF', + 'Burundi frank', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermuda dollar', + 'BMD', + 'Bermuda dollar', ], 'BND' => [ - 0 => 'BND', - 1 => 'Brunei dollar', + 'BND', + 'Brunei dollar', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Boliivia boliviaano', + 'BOB', + 'Boliivia boliviaano', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'Boliivia boliviaano (1863–1963)', + 'BOL', + 'Boliivia boliviaano (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Boliivia peeso', + 'BOP', + 'Boliivia peeso', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Brasiilia uus kruseiro (1967–1986)', + 'BRB', + 'Brasiilia uus kruseiro (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Brasiilia krusado', + 'BRC', + 'Brasiilia krusado', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Brasiilia kruseiro (1990–1993)', + 'BRE', + 'Brasiilia kruseiro (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Brasiilia reaal', + 'R$', + 'Brasiilia reaal', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Brasiilia kruseiro (1993–1994)', + 'BRR', + 'Brasiilia kruseiro (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'Brasiilia kruseiro (1942–1967)', + 'BRZ', + 'Brasiilia kruseiro (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Bahama dollar', + 'BSD', + 'Bahama dollar', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Bhutani ngultrum', + 'BTN', + 'Bhutani ngultrum', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Birma kjatt', + 'BUK', + 'Birma kjatt', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Botswana pula', + 'BWP', + 'Botswana pula', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Valgevene uus rubla (1994–1999)', + 'BYB', + 'Valgevene uus rubla (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Valgevene rubla', + 'BYN', + 'Valgevene rubla', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Valgevene rubla (2000–2016)', + 'BYR', + 'Valgevene rubla (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Belize’i dollar', + 'BZD', + 'Belize’i dollar', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Kanada dollar', + 'CA$', + 'Kanada dollar', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Kongo frank', + 'CDF', + 'Kongo frank', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Šveitsi frank', + 'CHF', + 'Šveitsi frank', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'Tšiili eskuudo', + 'CLE', + 'Tšiili eskuudo', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Tšiili peeso', + 'CLP', + 'Tšiili peeso', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Hiina jüaan (välismaine turg)', + 'CNH', + 'Hiina jüaan (välismaine turg)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Hiina jüaan', + 'CN¥', + 'Hiina jüaan', ], 'COP' => [ - 0 => 'COP', - 1 => 'Colombia peeso', + 'COP', + 'Colombia peeso', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Costa Rica koloon', + 'CRC', + 'Costa Rica koloon', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Serbia dinaar (2002–2006)', + 'CSD', + 'Serbia dinaar (2002–2006)', + ], + 'CSK' => [ + 'CSK', + 'Tšehhoslovakkia kõva kroon', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Kuuba konverteeritav peeso', + 'CUC', + 'Kuuba konverteeritav peeso', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Kuuba peeso', + 'CUP', + 'Kuuba peeso', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Cabo Verde eskuudo', + 'CVE', + 'Cabo Verde eskuudo', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Küprose nael', + 'CYP', + 'Küprose nael', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Tšehhi kroon', + 'CZK', + 'Tšehhi kroon', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Ida-Saksa mark', + 'DDM', + 'Ida-Saksa mark', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Saksa mark', + 'DEM', + 'Saksa mark', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Djibouti frank', + 'DJF', + 'Djibouti frank', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Taani kroon', + 'DKK', + 'Taani kroon', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Dominikaani peeso', + 'DOP', + 'Dominikaani peeso', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Alžeeria dinaar', + 'DZD', + 'Alžeeria dinaar', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Ecuadori sukre', + 'ECS', + 'Ecuadori sukre', ], 'EEK' => [ - 0 => 'kr', - 1 => 'Eesti kroon', + 'kr', + 'Eesti kroon', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Egiptuse nael', + 'EGP', + 'Egiptuse nael', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Eritrea nakfa', + 'ERN', + 'Eritrea nakfa', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Hispaania peseeta', + 'ESP', + 'Hispaania peseeta', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Etioopia birr', + 'ETB', + 'Etioopia birr', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Soome mark', + 'FIM', + 'Soome mark', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Fidži dollar', + 'FJD', + 'Fidži dollar', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Falklandi saarte nael', + 'FKP', + 'Falklandi saarte nael', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Prantsuse frank', + 'FRF', + 'Prantsuse frank', ], 'GBP' => [ - 0 => '£', - 1 => 'Suurbritannia naelsterling', + '£', + 'Suurbritannia naelsterling', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Gruusia lari', + 'GEL', + 'Gruusia lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Ghana sedi (1979–2007)', + 'GHC', + 'Ghana sedi (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Ghana sedi', + 'GHS', + 'Ghana sedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Gibraltari nael', + 'GIP', + 'Gibraltari nael', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Gambia dalasi', + 'GMD', + 'Gambia dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Guinea frank', + 'GNF', + 'Guinea frank', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Guinea syli', + 'GNS', + 'Guinea syli', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Kreeka drahm', + 'GRD', + 'Kreeka drahm', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Guatemala ketsaal', + 'GTQ', + 'Guatemala ketsaal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Portugali Guinea eskuudo', + 'GWE', + 'Portugali Guinea eskuudo', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Guinea-Bissau peeso', + 'GWP', + 'Guinea-Bissau peeso', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Guyana dollar', + 'GYD', + 'Guyana dollar', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Hongkongi dollar', + 'HK$', + 'Hongkongi dollar', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Hondurase lempiira', + 'HNL', + 'Hondurase lempiira', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Horvaatia dinaar', + 'HRD', + 'Horvaatia dinaar', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Horvaatia kuna', + 'HRK', + 'Horvaatia kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Haiti gurd', + 'HTG', + 'Haiti gurd', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Ungari forint', + 'HUF', + 'Ungari forint', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Indoneesia ruupia', + 'IDR', + 'Indoneesia ruupia', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Iiri nael', + 'IEP', + 'Iiri nael', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Iisraeli nael', + 'ILP', + 'Iisraeli nael', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'Iisraeli seekel (1980–1985)', + 'ILR', + 'Iisraeli seekel (1980–1985)', ], 'ILS' => [ - 0 => '₪', - 1 => 'Iisraeli uus seekel', + '₪', + 'Iisraeli uus seekel', ], 'INR' => [ - 0 => '₹', - 1 => 'India ruupia', + '₹', + 'India ruupia', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Iraagi dinaar', + 'IQD', + 'Iraagi dinaar', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Iraani riaal', + 'IRR', + 'Iraani riaal', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'Islandi kroon (1918–1981)', + 'ISJ', + 'Islandi kroon (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Islandi kroon', + 'ISK', + 'Islandi kroon', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Itaalia liir', + 'ITL', + 'Itaalia liir', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Jamaica dollar', + 'JMD', + 'Jamaica dollar', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Jordaania dinaar', + 'JOD', + 'Jordaania dinaar', ], 'JPY' => [ - 0 => '¥', - 1 => 'Jaapani jeen', + '¥', + 'Jaapani jeen', ], 'KES' => [ - 0 => 'KES', - 1 => 'Keenia šilling', + 'KES', + 'Keenia šilling', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Kõrgõzstani somm', + 'KGS', + 'Kõrgõzstani somm', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Kambodža riaal', + 'KHR', + 'Kambodža riaal', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Komoori frank', + 'KMF', + 'Komoori frank', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Põhja-Korea vonn', + 'KPW', + 'Põhja-Korea vonn', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'Lõuna-Korea vonn (1945–1953)', + 'KRO', + 'Lõuna-Korea vonn (1945–1953)', ], 'KRW' => [ - 0 => '₩', - 1 => 'Lõuna-Korea vonn', + '₩', + 'Lõuna-Korea vonn', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Kuveidi dinaar', + 'KWD', + 'Kuveidi dinaar', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Kaimanisaarte dollar', + 'KYD', + 'Kaimanisaarte dollar', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Kasahstani tenge', + 'KZT', + 'Kasahstani tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Laose kiip', + 'LAK', + 'Laose kiip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Liibanoni nael', + 'LBP', + 'Liibanoni nael', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Sri Lanka ruupia', + 'LKR', + 'Sri Lanka ruupia', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Libeeria dollar', + 'LRD', + 'Libeeria dollar', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Lesotho loti', + 'LSL', + 'Lesotho loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Leedu litt', + 'LTL', + 'Leedu litt', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Luksemburgi konverteeritav frank', + 'LUC', + 'Luksemburgi konverteeritav frank', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Luksemburgi frank', + 'LUF', + 'Luksemburgi frank', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Läti latt', + 'LVL', + 'Läti latt', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Läti rubla', + 'LVR', + 'Läti rubla', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Liibüa dinaar', + 'LYD', + 'Liibüa dinaar', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Maroko dirhem', + 'MAD', + 'Maroko dirhem', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Maroko frank', + 'MAF', + 'Maroko frank', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'Monaco frank', + 'MCF', + 'Monaco frank', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Moldova leu', + 'MDL', + 'Moldova leu', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Madagaskari ariari', + 'MGA', + 'Madagaskari ariari', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Madagaskari frank', + 'MGF', + 'Madagaskari frank', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Makedoonia dinaar', + 'MKD', + 'Makedoonia dinaar', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'Makedoonia dinaar (1992–1993)', + 'MKN', + 'Makedoonia dinaar (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Mali frank', + 'MLF', + 'Mali frank', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Myanmari kjatt', + 'MMK', + 'Myanmari kjatt', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Mongoolia tugrik', + 'MNT', + 'Mongoolia tugrik', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Macau pataaka', + 'MOP', + 'Macau pataaka', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Mauritaania ugia (1973–2017)', + 'MRO', + 'Mauritaania ugia (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Mauritaania ugia', + 'MRU', + 'Mauritaania ugia', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Malta liir', + 'MTL', + 'Malta liir', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Malta nael', + 'MTP', + 'Malta nael', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Mauritiuse ruupia', + 'MUR', + 'Mauritiuse ruupia', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'Maldiivi ruupia (1947–1981)', + 'MVP', + 'Maldiivi ruupia (1947–1981)', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Maldiivi ruupia', + 'MVR', + 'Maldiivi ruupia', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Malawi kvatša', + 'MWK', + 'Malawi kvatša', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Mehhiko peeso', + 'MX$', + 'Mehhiko peeso', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Mehhiko peeso (1861–1992)', + 'MXP', + 'Mehhiko peeso (1861–1992)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Malaisia ringgit', + 'MYR', + 'Malaisia ringgit', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Mosambiigi eskuudo', + 'MZE', + 'Mosambiigi eskuudo', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Mosambiigi metikal (1980–2006)', + 'MZM', + 'Mosambiigi metikal (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Mosambiigi metikal', + 'MZN', + 'Mosambiigi metikal', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Namiibia dollar', + 'NAD', + 'Namiibia dollar', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Nigeeria naira', + 'NGN', + 'Nigeeria naira', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Nicaragua kordoba (1988–1991)', + 'NIC', + 'Nicaragua kordoba (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Nicaragua kordoba', + 'NIO', + 'Nicaragua kordoba', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Hollandi kulden', + 'NLG', + 'Hollandi kulden', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Norra kroon', + 'NOK', + 'Norra kroon', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Nepali ruupia', + 'NPR', + 'Nepali ruupia', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Uus-Meremaa dollar', + 'NZ$', + 'Uus-Meremaa dollar', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Omaani riaal', + 'OMR', + 'Omaani riaal', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Panama balboa', + 'PAB', + 'Panama balboa', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Peruu inti', + 'PEI', + 'Peruu inti', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Peruu soll', + 'PEN', + 'Peruu soll', ], 'PES' => [ - 0 => 'PES', - 1 => 'Peruu soll (1863–1965)', + 'PES', + 'Peruu soll (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Paapua Uus-Guinea kina', + 'PGK', + 'Paapua Uus-Guinea kina', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Filipiini peeso', + 'PHP', + 'Filipiini peeso', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Pakistani ruupia', + 'PKR', + 'Pakistani ruupia', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Poola zlott', + 'PLN', + 'Poola zlott', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Poola zlott (1950–1995)', + 'PLZ', + 'Poola zlott (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Portugali eskuudo', + 'PTE', + 'Portugali eskuudo', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Paraguay guaranii', + 'PYG', + 'Paraguay guaranii', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Katari riaal', + 'QAR', + 'Katari riaal', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Rodeesia dollar', + 'RHD', + 'Rodeesia dollar', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Rumeenia leu (1952–2006)', + 'ROL', + 'Rumeenia leu (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'Rumeenia leu', + 'RON', + 'Rumeenia leu', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Serbia dinaar', + 'RSD', + 'Serbia dinaar', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Venemaa rubla', + 'RUB', + 'Venemaa rubla', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Venemaa rubla (1991–1998)', + 'RUR', + 'Venemaa rubla (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Rwanda frank', + 'RWF', + 'Rwanda frank', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Saudi Araabia riaal', + 'SAR', + 'Saudi Araabia riaal', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Saalomoni Saarte dollar', + 'SBD', + 'Saalomoni Saarte dollar', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Seišelli ruupia', + 'SCR', + 'Seišelli ruupia', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Sudaani dinaar (1992–2007)', + 'SDD', + 'Sudaani dinaar (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Sudaani nael', + 'SDG', + 'Sudaani nael', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Sudaani nael (1957–1998)', + 'SDP', + 'Sudaani nael (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Rootsi kroon', + 'SEK', + 'Rootsi kroon', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Singapuri dollar', + 'SGD', + 'Singapuri dollar', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Saint Helena nael', + 'SHP', + 'Saint Helena nael', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Sloveenia tolar', + 'SIT', + 'Sloveenia tolar', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Slovaki kroon', + 'SKK', + 'Slovaki kroon', + ], + 'SLE' => [ + 'SLE', + 'Sierra Leone leoone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Sierra Leone leoone', + 'SLL', + 'Sierra Leone leoone (1964–2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Somaalia šilling', + 'SOS', + 'Somaalia šilling', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Suriname dollar', + 'SRD', + 'Suriname dollar', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Suriname kulden', + 'SRG', + 'Suriname kulden', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Lõuna-Sudaani nael', + 'SSP', + 'Lõuna-Sudaani nael', ], 'STD' => [ - 0 => 'STD', - 1 => 'São Tomé ja Príncipe dobra (1977–2017)', + 'STD', + 'São Tomé ja Príncipe dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'São Tomé ja Príncipe dobra', + 'STN', + 'São Tomé ja Príncipe dobra', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'NSVL-i rubla', + 'SUR', + 'NSVL-i rubla', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'El Salvadori koloon', + 'SVC', + 'El Salvadori koloon', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Süüria nael', + 'SYP', + 'Süüria nael', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Svaasimaa lilangeni', + 'SZL', + 'Svaasimaa lilangeni', ], 'THB' => [ - 0 => '฿', - 1 => 'Tai baat', + '฿', + 'Tai baat', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Tadžikistani rubla', + 'TJR', + 'Tadžikistani rubla', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Tadžikistani somoni', + 'TJS', + 'Tadžikistani somoni', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Türkmenistani manat (1993–2009)', + 'TMM', + 'Türkmenistani manat (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Türkmenistani manat', + 'TMT', + 'Türkmenistani manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'Tuneesia dinaar', + 'TND', + 'Tuneesia dinaar', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Tonga pa’anga', + 'TOP', + 'Tonga pa’anga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Timori eskuudo', + 'TPE', + 'Timori eskuudo', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Türgi liir (1922–2005)', + 'TRL', + 'Türgi liir (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Türgi liir', + 'TRY', + 'Türgi liir', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Trinidadi ja Tobago dollar', + 'TTD', + 'Trinidadi ja Tobago dollar', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'uus Taiwani dollar', + 'NT$', + 'uus Taiwani dollar', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Tansaania šilling', + 'TZS', + 'Tansaania šilling', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Ukraina grivna', + 'UAH', + 'Ukraina grivna', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Ukraina karbovanets', + 'UAK', + 'Ukraina karbovanets', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Uganda šilling (1966–1987)', + 'UGS', + 'Uganda šilling (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Uganda šilling', + 'UGX', + 'Uganda šilling', ], 'USD' => [ - 0 => '$', - 1 => 'USA dollar', + '$', + 'USA dollar', ], 'USN' => [ - 0 => 'USN', - 1 => 'USA järgmise päeva dollar', + 'USN', + 'USA järgmise päeva dollar', ], 'USS' => [ - 0 => 'USS', - 1 => 'USA sama päeva dollar', + 'USS', + 'USA sama päeva dollar', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Uruguay peeso (1975–1993)', + 'UYP', + 'Uruguay peeso (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Uruguay peeso', + 'UYU', + 'Uruguay peeso', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Usbekistani somm', + 'UZS', + 'Usbekistani somm', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Venezuela boliivar (1871–2008)', + 'VEB', + 'Venezuela boliivar (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Venezuela boliivar (2008–2018)', + 'VEF', + 'Venezuela boliivar (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Venezuela boliivar', + 'VES', + 'Venezuela boliivar', ], 'VND' => [ - 0 => '₫', - 1 => 'Vietnami dong', + '₫', + 'Vietnami dong', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'Vietnami dong (1978–1985)', + 'VNN', + 'Vietnami dong (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vanuatu vatu', + 'VUV', + 'Vanuatu vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Samoa taala', + 'WST', + 'Samoa taala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Kesk-Aafrika CFA frank', + 'FCFA', + 'Kesk-Aafrika CFA frank', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Ida-Kariibi dollar', + 'EC$', + 'Ida-Kariibi dollar', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'eküü', + 'XEU', + 'eküü', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Prantsuse kuldfrank', + 'XFO', + 'Prantsuse kuldfrank', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Prantsuse UIC-frank', + 'XFU', + 'Prantsuse UIC-frank', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Lääne-Aafrika CFA frank', + 'F CFA', + 'Lääne-Aafrika CFA frank', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP frank', + 'CFPF', + 'CFP frank', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Jeemeni dinaar', + 'YDD', + 'Jeemeni dinaar', ], 'YER' => [ - 0 => 'YER', - 1 => 'Jeemeni riaal', + 'YER', + 'Jeemeni riaal', + ], + 'YUD' => [ + 'YUD', + 'Jugoslaavia kõva dinaar (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Jugoslaavia uus dinaar (1994–2002)', + 'YUM', + 'Jugoslaavia uus dinaar (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Jugoslaavia konverteeritav dinaar (1990–1992)', + 'YUN', + 'Jugoslaavia konverteeritav dinaar (1990–1992)', + ], + 'YUR' => [ + 'YUR', + 'Jugoslaavia reformitud dinaar (1992–1993)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Lõuna-Aafrika rand', + 'ZAR', + 'Lõuna-Aafrika rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Sambia kvatša (1968–2012)', + 'ZMK', + 'Sambia kvatša (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Sambia kvatša', + 'ZMW', + 'Sambia kvatša', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Sairi zaire', + 'ZRZ', + 'Sairi zaire', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Zimbabwe dollar (1980–2008)', + 'ZWD', + 'Zimbabwe dollar (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Zimbabwe dollar (2009)', + 'ZWL', + 'Zimbabwe dollar (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Zimbabwe dollar (2008)', + 'ZWR', + 'Zimbabwe dollar (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/eu.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/eu.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/eu.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/eu.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1172 +3,1172 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'pezeta andorratarra', + 'ADP', + 'pezeta andorratarra', ], 'AED' => [ - 0 => 'AED', - 1 => 'Arabiar Emirerri Batuetako dirhama', + 'AED', + 'Arabiar Emirerri Batuetako dirhama', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'afghani afgandarra (1927–2002)', + 'AFA', + 'afghani afgandarra (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afgani afganiarra', + 'AFN', + 'afgani afganiarra', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'lek albaniarra (1946–1965)', + 'ALK', + 'lek albaniarra (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'lek albaniarra', + 'ALL', + 'lek albaniarra', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'dram armeniarra', + 'AMD', + 'dram armeniarra', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'florin antillarra', + 'ANG', + 'florin antillarra', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'kwanza angolarra', + 'AOA', + 'kwanza angolarra', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'kwanza angolarra (1977–1991)', + 'AOK', + 'kwanza angolarra (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'kwanza angolar berria (1990–2000)', + 'AON', + 'kwanza angolar berria (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'kwanza angolar birdoitua (1995–1999)', + 'AOR', + 'kwanza angolar birdoitua (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'austral argentinarra', + 'ARA', + 'austral argentinarra', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'peso ley argentinarra (1970–1983)', + 'ARL', + 'peso ley argentinarra (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'peso argentinarra (1981–1970)', + 'ARM', + 'peso argentinarra (1981–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'peso argentinarra (1983–1985)', + 'ARP', + 'peso argentinarra (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'peso argentinarra', + 'ARS', + 'peso argentinarra', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'txelin austriarra', + 'ATS', + 'txelin austriarra', ], 'AUD' => [ - 0 => 'A$', - 1 => 'dolar australiarra', + 'A$', + 'dolar australiarra', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'florin arubarra', + 'AWG', + 'florin arubarra', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'manat azerbaijandarra (1993–2006)', + 'AZM', + 'manat azerbaijandarra (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'manat azerbaijandarra', + 'AZN', + 'manat azerbaijandarra', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'dinar bosnia-herzegovinarra (1992–1994)', + 'BAD', + 'dinar bosnia-herzegovinarra (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'marko bihurgarri bosniarra', + 'BAM', + 'marko bihurgarri bosniarra', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'dinar bosnia-herzegovinar berria (1994–1997)', + 'BAN', + 'dinar bosnia-herzegovinar berria (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'dolar barbadostarra', + 'BBD', + 'dolar barbadostarra', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'taka bangladeshtarra', + 'BDT', + 'taka bangladeshtarra', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'franko belgikarra (bihurgarria)', + 'BEC', + 'franko belgikarra (bihurgarria)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'franko belgikarra', + 'BEF', + 'franko belgikarra', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'franko belgikarra (finantzarioa)', + 'BEL', + 'franko belgikarra (finantzarioa)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Lev bulgariar indartsua', + 'BGL', + 'Lev bulgariar indartsua', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'Lev bulgariar sozialista', + 'BGM', + 'Lev bulgariar sozialista', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'lev bulgariarra', + 'BGN', + 'lev bulgariarra', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'Lev bulgariarra (1879–1952)', + 'BGO', + 'Lev bulgariarra (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'dinar bahraindarra', + 'BHD', + 'dinar bahraindarra', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'franko burundiarra', + 'BIF', + 'franko burundiarra', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'dolar bermudarra', + 'BMD', + 'dolar bermudarra', ], 'BND' => [ - 0 => 'BND', - 1 => 'dolar bruneitarra', + 'BND', + 'dolar bruneitarra', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'boliviano boliviarra', + 'BOB', + 'boliviano boliviarra', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'boliviano boliviarra (1863–1963)', + 'BOL', + 'boliviano boliviarra (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'peso boliviarra', + 'BOP', + 'peso boliviarra', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'mvdol boliviarra', + 'BOV', + 'mvdol boliviarra', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'cruzeiro brasildar berria (1967–1986)', + 'BRB', + 'cruzeiro brasildar berria (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'cruzado brasildarra (1986–1989)', + 'BRC', + 'cruzado brasildarra (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'cruzeiro brasildarra (1990–1993)', + 'BRE', + 'cruzeiro brasildarra (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'erreal brasildarra', + 'R$', + 'erreal brasildarra', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'cruzado brasildar berria (1989–1990)', + 'BRN', + 'cruzado brasildar berria (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'cruzeiro brasildar berria (1993–1994)', + 'BRR', + 'cruzeiro brasildar berria (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'cruzeiro brasildarra (1942–1967)', + 'BRZ', + 'cruzeiro brasildarra (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'dolar bahamarra', + 'BSD', + 'dolar bahamarra', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ngultrum bhutandarra', + 'BTN', + 'ngultrum bhutandarra', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'kyat birmaniarra', + 'BUK', + 'kyat birmaniarra', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'pula botswanarra', + 'BWP', + 'pula botswanarra', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'errublo bielorrusiarra (1994–1999)', + 'BYB', + 'errublo bielorrusiarra (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'errublo bielorrusiarra', + 'BYN', + 'errublo bielorrusiarra', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Bielorrusiako errubloa (2000–2016)', + 'BYR', + 'Bielorrusiako errubloa (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'dolar belizetarra', + 'BZD', + 'dolar belizetarra', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'dolar kanadarra', + 'CA$', + 'dolar kanadarra', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'franko kongoarra', + 'CDF', + 'franko kongoarra', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'WIR euroa', + 'CHE', + 'WIR euroa', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'franko suitzarra', + 'CHF', + 'franko suitzarra', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'WIR frankoa', + 'CHW', + 'WIR frankoa', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'ezkutu txiletarra', + 'CLE', + 'ezkutu txiletarra', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'kontu-unitate txiletarra (UF)', + 'CLF', + 'kontu-unitate txiletarra (UF)', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'peso txiletarra', + 'CLP', + 'peso txiletarra', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'yuan txinatarra (itsasoz haraindikoa)', + 'CNH', + 'yuan txinatarra (itsasoz haraindikoa)', ], 'CNX' => [ - 0 => 'CNX', - 1 => 'Txinako Herri Bankuaren dolarra', + 'CNX', + 'Txinako Herri Bankuaren dolarra', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'yuan txinatarra', + 'CN¥', + 'yuan txinatarra', ], 'COP' => [ - 0 => 'COP', - 1 => 'peso kolonbiarra', + 'COP', + 'peso kolonbiarra', ], 'COU' => [ - 0 => 'COU', - 1 => 'erreal kolonbiarraren balio-unitatea', + 'COU', + 'erreal kolonbiarraren balio-unitatea', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'colon costarricarra', + 'CRC', + 'colon costarricarra', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'dinar serbiarra (2002–2006)', + 'CSD', + 'dinar serbiarra (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Txekoslovakiako koroa indartsua', + 'CSK', + 'Txekoslovakiako koroa indartsua', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'peso bihurgarri kubatarra', + 'CUC', + 'peso bihurgarri kubatarra', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'peso kubatarra', + 'CUP', + 'peso kubatarra', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'ezkutu caboverdetarra', + 'CVE', + 'ezkutu caboverdetarra', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'libera zipretarra', + 'CYP', + 'libera zipretarra', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'koroa txekiarra', + 'CZK', + 'koroa txekiarra', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Ekialdeko Alemaniako markoa', + 'DDM', + 'Ekialdeko Alemaniako markoa', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'marko alemana', + 'DEM', + 'marko alemana', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'franko djibutiarra', + 'DJF', + 'franko djibutiarra', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'koroa danimarkarra', + 'DKK', + 'koroa danimarkarra', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'peso dominikarra', + 'DOP', + 'peso dominikarra', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'dinar aljeriarra', + 'DZD', + 'dinar aljeriarra', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'sukre ekuadortarra', + 'ECS', + 'sukre ekuadortarra', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'balio-unitate konstante ekuadortarra', + 'ECV', + 'balio-unitate konstante ekuadortarra', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'kroon estoniarra', + 'EEK', + 'kroon estoniarra', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'libera egiptoarra', + 'EGP', + 'libera egiptoarra', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'nakfa eritrearra', + 'ERN', + 'nakfa eritrearra', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'pezeta espainiarra (A kontua)', + 'ESA', + 'pezeta espainiarra (A kontua)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'pezeta espainiarra (kontu bihurgarria)', + 'ESB', + 'pezeta espainiarra (kontu bihurgarria)', ], 'ESP' => [ - 0 => '₧', - 1 => 'pezeta espainiarra', + '₧', + 'pezeta espainiarra', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'birr etiopiarra', + 'ETB', + 'birr etiopiarra', ], 'EUR' => [ - 0 => '€', - 1 => 'euroa', + '€', + 'euroa', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'markka finlandiarra', + 'FIM', + 'markka finlandiarra', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'dolar fijiarra', + 'FJD', + 'dolar fijiarra', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'libera falklandarra', + 'FKP', + 'libera falklandarra', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'libera frantsesa', + 'FRF', + 'libera frantsesa', ], 'GBP' => [ - 0 => '£', - 1 => 'libera esterlina', + '£', + 'libera esterlina', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'kupon larit georgiarra', + 'GEK', + 'kupon larit georgiarra', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'lari georgiarra', + 'GEL', + 'lari georgiarra', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'cedi ghanatarra (1979–2007)', + 'GHC', + 'cedi ghanatarra (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'cedi ghanatarra', + 'GHS', + 'cedi ghanatarra', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'libera gibraltartarra', + 'GIP', + 'libera gibraltartarra', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'dalasi gambiarra', + 'GMD', + 'dalasi gambiarra', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'franko ginearra', + 'GNF', + 'franko ginearra', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'syli ginearra', + 'GNS', + 'syli ginearra', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'ekwele ekuatoreginearra', + 'GQE', + 'ekwele ekuatoreginearra', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'drakma greziarra', + 'GRD', + 'drakma greziarra', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'ketzal guatemalarra', + 'GTQ', + 'ketzal guatemalarra', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Gineako ezkutu portugesa', + 'GWE', + 'Gineako ezkutu portugesa', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'peso gineabissautarra', + 'GWP', + 'peso gineabissautarra', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'dolar guyanarra', + 'GYD', + 'dolar guyanarra', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'dolar hongkongtarra', + 'HK$', + 'dolar hongkongtarra', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'lempira hodurastarra', + 'HNL', + 'lempira hodurastarra', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'dinar kroaziarra', + 'HRD', + 'dinar kroaziarra', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'kuna kroaziarra', + 'HRK', + 'kuna kroaziarra', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'gourde haitiarra', + 'HTG', + 'gourde haitiarra', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'forint hungariarra', + 'HUF', + 'forint hungariarra', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'errupia indonesiarra', + 'IDR', + 'errupia indonesiarra', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'libera irlandarra', + 'IEP', + 'libera irlandarra', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'libera israeldarra', + 'ILP', + 'libera israeldarra', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'shekel israeldarra (1980–1985)', + 'ILR', + 'shekel israeldarra (1980–1985)', ], 'ILS' => [ - 0 => '₪', - 1 => 'shekel israeldar berria', + '₪', + 'shekel israeldar berria', ], 'INR' => [ - 0 => '₹', - 1 => 'errupia indiarra', + '₹', + 'errupia indiarra', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'dinar irakiarra', + 'IQD', + 'dinar irakiarra', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'rial irandarra', + 'IRR', + 'rial irandarra', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'koroa islandiarra (1918–1981)', + 'ISJ', + 'koroa islandiarra (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'koroa islandiarra', + 'ISK', + 'koroa islandiarra', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'lira italiarra', + 'ITL', + 'lira italiarra', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'dolar jamaikarra', + 'JMD', + 'dolar jamaikarra', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'dinar jordaniarra', + 'JOD', + 'dinar jordaniarra', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'yen japoniarra', + 'JP¥', + 'yen japoniarra', ], 'KES' => [ - 0 => 'KES', - 1 => 'txelin kenyarra', + 'KES', + 'txelin kenyarra', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'som kirgizistandarra', + 'KGS', + 'som kirgizistandarra', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'riel kanbodiarra', + 'KHR', + 'riel kanbodiarra', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'franko komoretarra', + 'KMF', + 'franko komoretarra', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'won iparkorearra', + 'KPW', + 'won iparkorearra', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'hwan hegokorearra (1953–1962)', + 'KRH', + 'hwan hegokorearra (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'won hegokorearra (1945–1953)', + 'KRO', + 'won hegokorearra (1945–1953)', ], 'KRW' => [ - 0 => '₩', - 1 => 'won hegokorearra', + '₩', + 'won hegokorearra', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'dinar kuwaitarra', + 'KWD', + 'dinar kuwaitarra', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'dolar kaimandarra', + 'KYD', + 'dolar kaimandarra', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'tenge kazakhstandarra', + 'KZT', + 'tenge kazakhstandarra', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'kip laostarra', + 'LAK', + 'kip laostarra', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'libera libanoarra', + 'LBP', + 'libera libanoarra', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'errupia srilankarra', + 'LKR', + 'errupia srilankarra', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'dolar liberiarra', + 'LRD', + 'dolar liberiarra', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'loti lesothoarra', + 'LSL', + 'loti lesothoarra', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Lituaniako litasa', + 'LTL', + 'Lituaniako litasa', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Lituaniako talonasa', + 'LTT', + 'Lituaniako talonasa', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Luxenburgoko franko bihurgarria', + 'LUC', + 'Luxenburgoko franko bihurgarria', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Luxenburgoko frankoa', + 'LUF', + 'Luxenburgoko frankoa', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Luxenburgoko finantza-frankoa', + 'LUL', + 'Luxenburgoko finantza-frankoa', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Letoniako latsa', + 'LVL', + 'Letoniako latsa', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Letoniako errubloa', + 'LVR', + 'Letoniako errubloa', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'dinar libiarra', + 'LYD', + 'dinar libiarra', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'dirham marokoarra', + 'MAD', + 'dirham marokoarra', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'franko marokoarra', + 'MAF', + 'franko marokoarra', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'Monakoko frankoa', + 'MCF', + 'Monakoko frankoa', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'kupoi moldaviarra', + 'MDC', + 'kupoi moldaviarra', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'leu moldaviarra', + 'MDL', + 'leu moldaviarra', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'ariary madagaskartarra', + 'MGA', + 'ariary madagaskartarra', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'franko malagasiarra', + 'MGF', + 'franko malagasiarra', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'dinar mazedoniarra', + 'MKD', + 'dinar mazedoniarra', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'dinar mazedoniarra (1992–1993)', + 'MKN', + 'dinar mazedoniarra (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'franko maliarra', + 'MLF', + 'franko maliarra', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'kyat myanmartarra', + 'MMK', + 'kyat myanmartarra', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'tugrik mongoliarra', + 'MNT', + 'tugrik mongoliarra', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'pataca macauarra', + 'MOP', + 'pataca macauarra', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Mauritaniako ouguiya (1973–2017)', + 'MRO', + 'Mauritaniako ouguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'uguiya mauritaniarra', + 'MRU', + 'uguiya mauritaniarra', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'lira maltarra', + 'MTL', + 'lira maltarra', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'libera maltar', + 'MTP', + 'libera maltar', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'errupia mauriziarra', + 'MUR', + 'errupia mauriziarra', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'errupia maldivarra (1947–1981)', + 'MVP', + 'errupia maldivarra (1947–1981)', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'rufiyaa maldivarra', + 'MVR', + 'rufiyaa maldivarra', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'kwacha malawiarra', + 'MWK', + 'kwacha malawiarra', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'peso mexikarra', + 'MX$', + 'peso mexikarra', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Zilar-peso amerikarra (1861–1992)', + 'MXP', + 'Zilar-peso amerikarra (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Inbertsio-unitate mexikarra', + 'MXV', + 'Inbertsio-unitate mexikarra', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'ringgit malaysiarra', + 'MYR', + 'ringgit malaysiarra', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'ezkutu mozambiketarra', + 'MZE', + 'ezkutu mozambiketarra', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'metikal mozambiketarra', + 'MZM', + 'metikal mozambiketarra', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'metical mozambiketarra', + 'MZN', + 'metical mozambiketarra', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'dolar namibiarra', + 'NAD', + 'dolar namibiarra', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'naira nigeriarra', + 'NGN', + 'naira nigeriarra', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'kordoba nikaraguar (1988–1991)', + 'NIC', + 'kordoba nikaraguar (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'cordoba nikaraguarra', + 'NIO', + 'cordoba nikaraguarra', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'gilder herbeheretarra', + 'NLG', + 'gilder herbeheretarra', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'koroa norvegiarra', + 'NOK', + 'koroa norvegiarra', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'errupia nepaldarra', + 'NPR', + 'errupia nepaldarra', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'dolar zeelandaberritarra', + 'NZ$', + 'dolar zeelandaberritarra', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'rial omandarra', + 'OMR', + 'rial omandarra', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'balboa panamarra', + 'PAB', + 'balboa panamarra', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'inti perutarra', + 'PEI', + 'inti perutarra', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'sol perutarra', + 'PEN', + 'sol perutarra', ], 'PES' => [ - 0 => 'PES', - 1 => 'sol perutarra (1863–1965)', + 'PES', + 'sol perutarra (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'kina gineaberriarra', + 'PGK', + 'kina gineaberriarra', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'peso filipinarra', + 'PHP', + 'peso filipinarra', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'errupia pakistandarra', + 'PKR', + 'errupia pakistandarra', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'zloty poloniarra', + 'PLN', + 'zloty poloniarra', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'zloty poloniarra (1950–1995)', + 'PLZ', + 'zloty poloniarra (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'ezkutu portugesa', + 'PTE', + 'ezkutu portugesa', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'guarani paraguaitarra', + 'PYG', + 'guarani paraguaitarra', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'riyal qatartarra', + 'QAR', + 'riyal qatartarra', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'dolar rhodesiarra', + 'RHD', + 'dolar rhodesiarra', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'leu errumaniarra (1952–2006)', + 'ROL', + 'leu errumaniarra (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'leu errumaniarra', + 'RON', + 'leu errumaniarra', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'dinar serbiarra', + 'RSD', + 'dinar serbiarra', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'errublo errusiarra', + 'RUB', + 'errublo errusiarra', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'errublo errusiarra (1991–1998)', + 'RUR', + 'errublo errusiarra (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'franko ruandarra', + 'RWF', + 'franko ruandarra', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'riyal saudiarabiarra', + 'SAR', + 'riyal saudiarabiarra', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'dolar salomondarra', + 'SBD', + 'dolar salomondarra', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'errupia seychelletarra', + 'SCR', + 'errupia seychelletarra', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'dinar sudandarra (1992–2007)', + 'SDD', + 'dinar sudandarra (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'libera sudandarra', + 'SDG', + 'libera sudandarra', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'libera sudandarra (1957–1998)', + 'SDP', + 'libera sudandarra (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'koroa suediarra', + 'SEK', + 'koroa suediarra', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'dolar singapurtarra', + 'SGD', + 'dolar singapurtarra', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Santa Helenako libera', + 'SHP', + 'Santa Helenako libera', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'tolar esloveniarra', + 'SIT', + 'tolar esloveniarra', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'koroa eslovakiarra', + 'SKK', + 'koroa eslovakiarra', ], 'SLE' => [ - 0 => 'SLE', - 1 => 'leone sierraleonar berria', + 'SLE', + 'leone sierraleonar berria', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'leone sierraleonarra', + 'SLL', + 'leone sierraleonarra', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'txelin somaliarra', + 'SOS', + 'txelin somaliarra', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'dolar surinamdarra', + 'SRD', + 'dolar surinamdarra', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'gilder surinamdarra', + 'SRG', + 'gilder surinamdarra', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'libera hegosudandarra', + 'SSP', + 'libera hegosudandarra', ], 'STD' => [ - 0 => 'STD', - 1 => 'Sao Tomeko eta Principeko dobra (1977–2017)', + 'STD', + 'Sao Tomeko eta Principeko dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'dobra saotometarra', + 'STN', + 'dobra saotometarra', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'errublo sovietarra', + 'SUR', + 'errublo sovietarra', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'kolon salvadortarra', + 'SVC', + 'kolon salvadortarra', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'libera siriarra', + 'SYP', + 'libera siriarra', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'lilangeni swazilandiarra', + 'SZL', + 'lilangeni swazilandiarra', ], 'THB' => [ - 0 => '฿', - 1 => 'baht thailandiarra', + '฿', + 'baht thailandiarra', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'errublo tajikistandarra', + 'TJR', + 'errublo tajikistandarra', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'somoni tajikistandarra', + 'TJS', + 'somoni tajikistandarra', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'manat turkmenistandarra (1993–2009)', + 'TMM', + 'manat turkmenistandarra (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'manat turkmenistandarra', + 'TMT', + 'manat turkmenistandarra', ], 'TND' => [ - 0 => 'TND', - 1 => 'dinar tunisiarra', + 'TND', + 'dinar tunisiarra', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'paʻanga tongatarra', + 'TOP', + 'paʻanga tongatarra', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'ezkutu timortarra', + 'TPE', + 'ezkutu timortarra', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'lira turkiarra (1922–2005)', + 'TRL', + 'lira turkiarra (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'lira turkiarra', + 'TRY', + 'lira turkiarra', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'dolar trinitatearra', + 'TTD', + 'dolar trinitatearra', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'dolar taiwandar berria', + 'NT$', + 'dolar taiwandar berria', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'txelin tanzaniarra', + 'TZS', + 'txelin tanzaniarra', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'hryvnia ukrainarra', + 'UAH', + 'hryvnia ukrainarra', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'karbovanets ukrainarra', + 'UAK', + 'karbovanets ukrainarra', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'txelin ugandarra (1966–1987)', + 'UGS', + 'txelin ugandarra (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'txelin ugandarra', + 'UGX', + 'txelin ugandarra', ], 'USD' => [ - 0 => 'US$', - 1 => 'dolar estatubatuarra', + 'US$', + 'dolar estatubatuarra', ], 'USN' => [ - 0 => 'USN', - 1 => 'dolar estatubatuar (Hurrengo eguna)', + 'USN', + 'dolar estatubatuar (Hurrengo eguna)', ], 'USS' => [ - 0 => 'USS', - 1 => 'dolar estatubatuar (Egun berean)', + 'USS', + 'dolar estatubatuar (Egun berean)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'peso uruguaitarra (unitate indexatuak)', + 'UYI', + 'peso uruguaitarra (unitate indexatuak)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'peso uruguaitarra (1975–1993)', + 'UYP', + 'peso uruguaitarra (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'peso uruguaitarra', + 'UYU', + 'peso uruguaitarra', ], 'UYW' => [ - 0 => 'UYW', - 1 => 'soldata nominalaren indize-unitate uruguaitarra', + 'UYW', + 'soldata nominalaren indize-unitate uruguaitarra', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'sum uzbekistandarra', + 'UZS', + 'sum uzbekistandarra', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Venezuelako bolivarra (1871–2008)', + 'VEB', + 'Venezuelako bolivarra (1871–2008)', ], 'VED' => [ - 0 => 'VED', - 1 => 'bolivar subiraua', + 'VED', + 'bolivar subiraua', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Venezuelako bolivarra (2008–2018)', + 'VEF', + 'Venezuelako bolivarra (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'bolivar venezuelarra', + 'VES', + 'bolivar venezuelarra', ], 'VND' => [ - 0 => '₫', - 1 => 'dong vietnamdarra', + '₫', + 'dong vietnamdarra', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'dong vietnamdar (1978–1985)', + 'VNN', + 'dong vietnamdar (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vatu vanuatuarra', + 'VUV', + 'vatu vanuatuarra', ], 'WST' => [ - 0 => 'WST', - 1 => 'tala samoarra', + 'WST', + 'tala samoarra', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Afrika erdialdeko CFA frankoa', + 'FCFA', + 'Afrika erdialdeko CFA frankoa', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'dolar ekikaribearra', + 'EC$', + 'dolar ekikaribearra', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'Europako dibisa-unitatea', + 'XEU', + 'Europako dibisa-unitatea', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'urrezko libera frantsesa', + 'XFO', + 'urrezko libera frantsesa', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'UIC libera frantsesa', + 'XFU', + 'UIC libera frantsesa', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Afrika mendebaldeko CFA frankoa', + 'F CFA', + 'Afrika mendebaldeko CFA frankoa', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP frankoa', + 'CFPF', + 'CFP frankoa', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'RINET funtsak', + 'XRE', + 'RINET funtsak', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'dinar yemendarra', + 'YDD', + 'dinar yemendarra', ], 'YER' => [ - 0 => 'YER', - 1 => 'rial yemendarra', + 'YER', + 'rial yemendarra', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'dinar yugoslaviar indartsua (1966–1990)', + 'YUD', + 'dinar yugoslaviar indartsua (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'dinar yugoslaviar berria (1994–2002)', + 'YUM', + 'dinar yugoslaviar berria (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'dinar yugoslaviar bihurgarria (1990–1992)', + 'YUN', + 'dinar yugoslaviar bihurgarria (1990–1992)', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'dinar yugoslaviar erreformatua (1992–1993)', + 'YUR', + 'dinar yugoslaviar erreformatua (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'rand hegoafrikarra (finantzarioa)', + 'ZAL', + 'rand hegoafrikarra (finantzarioa)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'rand hegoafrikarra', + 'ZAR', + 'rand hegoafrikarra', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Zambiako kwacha (1968–2012)', + 'ZMK', + 'Zambiako kwacha (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'kwacha zambiarra', + 'ZMW', + 'kwacha zambiarra', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'zaire berri zairetarra (1993–1998)', + 'ZRN', + 'zaire berri zairetarra (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'zaire zairetarra (1971–1993)', + 'ZRZ', + 'zaire zairetarra (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'dolar zimbabwetarra (1980–2008)', + 'ZWD', + 'dolar zimbabwetarra (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'dolar zimbabwetarra (2009)', + 'ZWL', + 'dolar zimbabwetarra (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'dolar zimbabwetarra (2008)', + 'ZWR', + 'dolar zimbabwetarra (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fa.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fa.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fa.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fa.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,916 +3,920 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'پزتای آندورا', + 'ADP', + 'پزتای آندورا', ], 'AED' => [ - 0 => 'AED', - 1 => 'درهم امارات متحدهٔ عربی', + 'AED', + 'درهم امارات متحدهٔ عربی', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'افغانی افغانستان (۱۹۲۷ تا ۲۰۰۲)', + 'AFA', + 'افغانی افغانستان (۱۹۲۷ تا ۲۰۰۲)', ], 'AFN' => [ - 0 => '؋', - 1 => 'افغانی افغانستان', + '؋', + 'افغانی افغانستان', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'لک آلبانی (۱۹۴۶ تا ۱۹۶۵)', + 'ALK', + 'لک آلبانی (۱۹۴۶ تا ۱۹۶۵)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'لک آلبانی', + 'ALL', + 'لک آلبانی', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'درام ارمنستان', + 'AMD', + 'درام ارمنستان', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'گیلدر آنتیل هلند', + 'ANG', + 'گیلدر آنتیل هلند', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'کوانزای آنگولا', + 'AOA', + 'کوانزای آنگولا', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'پزوی آرژانتین (۱۸۸۱ تا ۱۹۷۰)', + 'ARM', + 'پزوی آرژانتین (۱۸۸۱ تا ۱۹۷۰)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'پزوی آرژانتین (۱۹۸۳ تا ۱۹۸۵)‏', + 'ARP', + 'پزوی آرژانتین (۱۹۸۳ تا ۱۹۸۵)‏', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'پزوی آرژانتین', + 'ARS', + 'پزوی آرژانتین', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'شیلینگ اتریش', + 'ATS', + 'شیلینگ اتریش', ], 'AUD' => [ - 0 => 'A$', - 1 => 'دلار استرالیا', + 'A$', + 'دلار استرالیا', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'فلورین آروبا', + 'AWG', + 'فلورین آروبا', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'منات جمهوری آذربایجان (۱۹۹۳ تا ۲۰۰۶)', + 'AZM', + 'منات جمهوری آذربایجان (۱۹۹۳ تا ۲۰۰۶)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'منات جمهوری آذربایجان', + 'AZN', + 'منات جمهوری آذربایجان', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'دینار بوسنی و هرزگوین (۱۹۹۲ تا ۱۹۹۴)', + 'BAD', + 'دینار بوسنی و هرزگوین (۱۹۹۲ تا ۱۹۹۴)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'مارک تبدیل‌پذیر بوسنی و هرزگوین', + 'BAM', + 'مارک تبدیل‌پذیر بوسنی و هرزگوین', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'دلار باربادوس', + 'BBD', + 'دلار باربادوس', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'تاکای بنگلادش', + 'BDT', + 'تاکای بنگلادش', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'فرانک بلژیک', + 'BEF', + 'فرانک بلژیک', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'فرانک بلژیک (مالی)', + 'BEL', + 'فرانک بلژیک (مالی)', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'لف بلغارستان', + 'BGN', + 'لو بلغارستان', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'دینار بحرین', + 'BHD', + 'دینار بحرین', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'فرانک بوروندی', + 'BIF', + 'فرانک بوروندی', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'دلار برمودا', + 'BMD', + 'دلار برمودا', ], 'BND' => [ - 0 => 'BND', - 1 => 'دلار برونئی', + 'BND', + 'دلار برونئی', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'بولیویانوی بولیوی', + 'BOB', + 'بولیویانوی بولیوی', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'پزوی بولیوی', + 'BOP', + 'پزوی بولیوی', ], 'BRL' => [ - 0 => 'R$', - 1 => 'رئال برزیل', + 'R$', + 'رئال برزیل', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'دلار باهاما', + 'BSD', + 'دلار باهاما', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'انگولتروم بوتان', + 'BTN', + 'انگولتروم بوتان', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'پولای بوتسوانا', + 'BWP', + 'پولای بوتسوانا', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'روبل جدید بلاروس (۱۹۹۴ تا ۱۹۹۹)', + 'BYB', + 'روبل جدید بلاروس (۱۹۹۴ تا ۱۹۹۹)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'روبل بلاروس', + 'BYN', + 'روبل بلاروس', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'روبل بلاروسی (۲۰۱۶–۲۰۰۰)', + 'BYR', + 'روبل بلاروسی (۲۰۱۶–۲۰۰۰)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'دلار بلیز', + 'BZD', + 'دلار بلیز', ], 'CAD' => [ - 0 => '$CA', - 1 => 'دلار کانادا', + '$CA', + 'دلار کانادا', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'فرانک کنگو', + 'CDF', + 'فرانک کنگو', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'فرانک سوئیس', + 'CHF', + 'فرانک سوئیس', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'پزوی شیلی', + 'CLP', + 'پزوی شیلی', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'یوآن چین (برون‌مرزی)', + 'CNH', + 'یوآن چین (برون‌مرزی)', ], 'CNY' => [ - 0 => '¥CN', - 1 => 'یوآن چین', + '¥CN', + 'یوآن چین', ], 'COP' => [ - 0 => 'COP', - 1 => 'پزوی کلمبیا', + 'COP', + 'پزوی کلمبیا', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'کولون کاستاریکا', + 'CRC', + 'کولون کاستاریکا', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'دینار صربستان (۲۰۰۲ تا ۲۰۰۶)', + 'CSD', + 'دینار صربستان (۲۰۰۲ تا ۲۰۰۶)', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'پزوی تبدیل‌پذیر کوبا', + 'CUC', + 'پزوی تبدیل‌پذیر کوبا', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'پزوی کوبا', + 'CUP', + 'پزوی کوبا', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'اسکودوی کیپ‌ورد', + 'CVE', + 'اسکودوی کیپ‌ورد', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'پوند قبرس', + 'CYP', + 'پوند قبرس', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'کورونای جمهوری چک', + 'CZK', + 'کورونای جمهوری چک', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'مارک آلمان شرقی', + 'DDM', + 'مارک آلمان شرقی', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'مارک آلمان', + 'DEM', + 'مارک آلمان', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'فرانک جیبوتی', + 'DJF', + 'فرانک جیبوتی', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'کرون دانمارک', + 'DKK', + 'کرون دانمارک', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'پزوی جمهوری دومینیکن', + 'DOP', + 'پزوی جمهوری دومینیکن', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'دینار الجزایر', + 'DZD', + 'دینار الجزایر', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'کرون استونی', + 'EEK', + 'کرون استونی', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'پوند مصر', + 'EGP', + 'پوند مصر', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'ناکفای اریتره', + 'ERN', + 'ناکفای اریتره', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'پزتای اسپانیا', + 'ESP', + 'پزتای اسپانیا', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'بیر اتیوپی', + 'ETB', + 'بیر اتیوپی', ], 'EUR' => [ - 0 => '€', - 1 => 'یورو', + '€', + 'یورو', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'دلار فیجی', + 'FJD', + 'دلار فیجی', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'پوند جزایر فالکلند', + 'FKP', + 'پوند جزایر فالکلند', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'فرانک فرانسه', + 'FRF', + 'فرانک فرانسه', ], 'GBP' => [ - 0 => '£', - 1 => 'پوند بریتانیا', + '£', + 'پوند بریتانیا', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'لاری گرجستان', + 'GEL', + 'لاری گرجستان', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'سدی غنا', + 'GHS', + 'سدی غنا', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'پوند جبل‌الطارق', + 'GIP', + 'پوند جبل‌الطارق', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'دالاسی گامبیا', + 'GMD', + 'دالاسی گامبیا', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'فرانک گینه', + 'GNF', + 'فرانک گینه', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'دراخمای یونان', + 'GRD', + 'دراخمای یونان', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'کتزال گواتمالا', + 'GTQ', + 'کتزال گواتمالا', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'پزوی گینهٔ بیسائو', + 'GWP', + 'پزوی گینهٔ بیسائو', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'دلار گویانا', + 'GYD', + 'دلار گویانا', ], 'HKD' => [ - 0 => '$HK', - 1 => 'دلار هنگ‌کنگ', + '$HK', + 'دلار هنگ‌کنگ', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'لمپیرای هندوراس', + 'HNL', + 'لمپیرای هندوراس', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'دینار کرواسی', + 'HRD', + 'دینار کرواسی', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'کونای کرواسی', + 'HRK', + 'کونای کرواسی', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'گورد هائیتی', + 'HTG', + 'گورد هائیتی', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'فورینت مجارستان', + 'HUF', + 'فورینت مجارستان', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'روپیهٔ اندونزی', + 'IDR', + 'روپیهٔ اندونزی', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'پوند ایرلند', + 'IEP', + 'پوند ایرلند', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'پوند اسرائیل', + 'ILP', + 'پوند اسرائیل', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'شقل اسرائیل (۱۹۸۰ تا ۱۹۸۵)', + 'ILR', + 'شقل اسرائیل (۱۹۸۰ تا ۱۹۸۵)', ], 'ILS' => [ - 0 => '₪', - 1 => 'شقل جدید اسرائیل', + '₪', + 'شِکِل جدید اسرائیل', ], 'INR' => [ - 0 => '₹', - 1 => 'روپیهٔ هند', + '₹', + 'روپیهٔ هند', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'دینار عراق', + 'IQD', + 'دینار عراق', ], 'IRR' => [ - 0 => 'ریال', - 1 => 'ریال ایران', + 'ریال', + 'ریال ایران', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'کرونای ایسلند (۱۹۱۸ تا ۱۹۸۱)', + 'ISJ', + 'کرونای ایسلند (۱۹۱۸ تا ۱۹۸۱)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'کرونای ایسلند', + 'ISK', + 'کرونای ایسلند', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'لیرهٔ ایتالیا', + 'ITL', + 'لیرهٔ ایتالیا', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'دلار جامائیکا', + 'JMD', + 'دلار جامائیکا', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'دینار اردن', + 'JOD', + 'دینار اردن', ], 'JPY' => [ - 0 => '¥', - 1 => 'ین ژاپن', + '¥', + 'ین ژاپن', ], 'KES' => [ - 0 => 'KES', - 1 => 'شیلینگ کنیا', + 'KES', + 'شیلینگ کنیا', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'سوم قرقیزستان', + 'KGS', + 'سوم قرقیزستان', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'ری‌یل کامبوج', + 'KHR', + 'ری‌یل کامبوج', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'فرانک کومورو', + 'KMF', + 'فرانک کومورو', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'وون کرهٔ شمالی', + 'KPW', + 'وون کرهٔ شمالی', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'وون کرهٔ جنوبی (۱۹۴۵ تا ۱۹۵۳)', + 'KRO', + 'وون کرهٔ جنوبی (۱۹۴۵ تا ۱۹۵۳)', ], 'KRW' => [ - 0 => '₩', - 1 => 'وون کرهٔ جنوبی', + '₩', + 'وون کرهٔ جنوبی', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'دینار کویت', + 'KWD', + 'دینار کویت', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'دلار جزایر کِیمن', + 'KYD', + 'دلار جزایر کِیمن', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'تنگهٔ قزاقستان', + 'KZT', + 'تنگهٔ قزاقستان', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'کیپ لائوس', + 'LAK', + 'کیپ لائوس', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'لیرهٔ لبنان', + 'LBP', + 'لیرهٔ لبنان', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'روپیهٔ سری‌لانکا', + 'LKR', + 'روپیهٔ سری‌لانکا', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'دلار لیبریا', + 'LRD', + 'دلار لیبریا', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'لوتی لسوتو', + 'LSL', + 'لوتی لسوتو', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'لیتاس لیتوانی', + 'LTL', + 'لیتاس لیتوانی', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'تالوناس لیتوانی', + 'LTT', + 'تالوناس لیتوانی', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'فرانک لوکزامبورگ', + 'LUF', + 'فرانک لوکزامبورگ', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'فرانک مالی لوگزامبورگ', + 'LUL', + 'فرانک مالی لوگزامبورگ', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'لاتس لتونی', + 'LVL', + 'لاتس لتونی', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'روبل لتونی', + 'LVR', + 'روبل لتونی', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'دینار لیبی', + 'LYD', + 'دینار لیبی', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'درهم مراکش', + 'MAD', + 'درهم مراکش', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'فرانک مراکش', + 'MAF', + 'فرانک مراکش', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'فرانک موناکو', + 'MCF', + 'فرانک موناکو', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'لئوی مولداوی', + 'MDL', + 'لئوی مولداوی', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'آریاری مالاگاسی', + 'MGA', + 'آریاری مالاگاسی', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'فرانک ماداگاسکار', + 'MGF', + 'فرانک ماداگاسکار', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'دینار مقدونیه', + 'MKD', + 'دینار مقدونیه', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'دینار مقدونیه (۱۹۹۲ تا ۱۹۹۳)', + 'MKN', + 'دینار مقدونیه (۱۹۹۲ تا ۱۹۹۳)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'فرانک مالی', + 'MLF', + 'فرانک مالی', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'کیات میانمار', + 'MMK', + 'کیات میانمار', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'توگریک مغولستان', + 'MNT', + 'توگریک مغولستان', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'پاتاکای ماکائو', + 'MOP', + 'پاتاکای ماکائو', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'اوگوئیای موریتانی (۱۹۷۳ تا ۲۰۱۷)', + 'MRO', + 'اوگوئیای موریتانی (۱۹۷۳ تا ۲۰۱۷)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'اوگوئیای موریتانی', + 'MRU', + 'اوگوئیای موریتانی', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'لیرهٔ مالت', + 'MTL', + 'لیرهٔ مالت', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'پوند مالت', + 'MTP', + 'پوند مالت', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'روپیهٔ موریس', + 'MUR', + 'روپیهٔ موریس', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'روپیهٔ مالدیو (۱۹۴۷ تا ۱۹۸۱)', + 'MVP', + 'روپیهٔ مالدیو (۱۹۴۷ تا ۱۹۸۱)', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'روپیهٔ مالدیو', + 'MVR', + 'روپیهٔ مالدیو', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'کواچای مالاوی', + 'MWK', + 'کواچای مالاوی', ], 'MXN' => [ - 0 => '$MX', - 1 => 'پزوی مکزیک', + '$MX', + 'پزوی مکزیک', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'پزوی نقرهٔ مکزیک (۱۸۶۱ تا ۱۹۹۲)', + 'MXP', + 'پزوی نقرهٔ مکزیک (۱۸۶۱ تا ۱۹۹۲)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'رینگیت مالزی', + 'MYR', + 'رینگیت مالزی', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'اسکودوی موزامبیک', + 'MZE', + 'اسکودوی موزامبیک', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'متیکال موزامبیک', + 'MZN', + 'متیکال موزامبیک', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'دلار نامیبیا', + 'NAD', + 'دلار نامیبیا', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'نایرای نیجریه', + 'NGN', + 'نایرای نیجریه', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'کوردوبای نیکاراگوئه', + 'NIO', + 'کوردوبای نیکاراگوئه', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'گیلدر هلند', + 'NLG', + 'گیلدر هلند', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'کرون نروژ', + 'NOK', + 'کرون نروژ', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'روپیهٔ نپال', + 'NPR', + 'روپیهٔ نپال', ], 'NZD' => [ - 0 => '$NZ', - 1 => 'دلار زلاند نو', + '$NZ', + 'دلار زلاند نو', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'ریال عمان', + 'OMR', + 'ریال عمان', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'بالبوای پاناما', + 'PAB', + 'بالبوای پاناما', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'اینتی پرو', + 'PEI', + 'اینتی پرو', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'سول پرو', + 'PEN', + 'سول پرو', ], 'PES' => [ - 0 => 'PES', - 1 => 'سول پرو (۱۸۶۳ تا ۱۹۶۵)', + 'PES', + 'سول پرو (۱۸۶۳ تا ۱۹۶۵)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'کینای پاپوا گینهٔ نو', + 'PGK', + 'کینای پاپوا گینهٔ نو', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'پزوی فیلیپین', + 'PHP', + 'پزوی فیلیپین', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'روپیهٔ پاکستان', + 'PKR', + 'روپیهٔ پاکستان', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'زواتی لهستان', + 'PLN', + 'زلوتی لهستان', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'اسکودوی پرتغال', + 'PTE', + 'اسکودوی پرتغال', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'گوارانی پاراگوئه', + 'PYG', + 'گوارانی پاراگوئه', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'ریال قطر', + 'QAR', + 'ریال قطر', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'دلار رودزیا', + 'RHD', + 'دلار رودزیا', ], 'RON' => [ - 0 => 'RON', - 1 => 'لئوی رومانی', + 'RON', + 'لئوی رومانی', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'دینار صربستان', + 'RSD', + 'دینار صربستان', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'روبل روسیه', + 'RUB', + 'روبل روسیه', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'روبل روسیه (۱۹۹۱ تا ۱۹۹۸)', + 'RUR', + 'روبل روسیه (۱۹۹۱ تا ۱۹۹۸)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'فرانک رواندا', + 'RWF', + 'فرانک رواندا', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'ریال سعودی', + 'SAR', + 'ریال سعودی', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'دلار جزایر سلیمان', + 'SBD', + 'دلار جزایر سلیمان', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'روپیهٔ سیشل', + 'SCR', + 'روپیهٔ سیشل', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'دینار سودان (۱۹۹۲ تا ۲۰۰۷)', + 'SDD', + 'دینار سودان (۱۹۹۲ تا ۲۰۰۷)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'پوند سودان', + 'SDG', + 'پوند سودان', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'کرون سوئد', + 'SEK', + 'کرون سوئد', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'دلار سنگاپور', + 'SGD', + 'دلار سنگاپور', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'پوند سنت هلن', + 'SHP', + 'پوند سنت هلن', + ], + 'SLE' => [ + 'SLE', + 'لئون سیرالئون', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'لئون سیرالئون', + 'SLL', + 'لئون سیرالئون - 1964-2022', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'شیلینگ سومالی', + 'SOS', + 'شیلینگ سومالی', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'دلار سورینام', + 'SRD', + 'دلار سورینام', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'گیلدر سورینام', + 'SRG', + 'گیلدر سورینام', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'پوند سودان جنوبی', + 'SSP', + 'پوند سودان جنوبی', ], 'STD' => [ - 0 => 'STD', - 1 => 'دوبرای سائوتومه و پرنسیپ (۱۹۷۷ تا ۲۰۱۷)', + 'STD', + 'دوبرای سائوتومه و پرنسیپ (۱۹۷۷ تا ۲۰۱۷)', ], 'STN' => [ - 0 => 'STN', - 1 => 'دوبرای سائوتومه و پرنسیپ', + 'STN', + 'دوبرای سائوتومه و پرنسیپ', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'روبل شوروی', + 'SUR', + 'روبل شوروی', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'لیرهٔ سوریه', + 'SYP', + 'لیرهٔ سوریه', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'لیلانگنی سوازیلند', + 'SZL', + 'لیلانگنی سوازیلند', ], 'THB' => [ - 0 => '฿', - 1 => 'بات تایلند', + '฿', + 'بات تایلند', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'روبل تاجیکستان', + 'TJR', + 'روبل تاجیکستان', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'سامانی تاجیکستان', + 'TJS', + 'سامانی تاجیکستان', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'منات ترکمنستان (۱۹۹۳ تا ۲۰۰۹)', + 'TMM', + 'منات ترکمنستان (۱۹۹۳ تا ۲۰۰۹)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'منات ترکمنستان', + 'TMT', + 'منات ترکمنستان', ], 'TND' => [ - 0 => 'TND', - 1 => 'دینار تونس', + 'TND', + 'دینار تونس', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'پاآنگای تونگا', + 'TOP', + 'پاآنگای تونگا', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'اسکودوی تیمور', + 'TPE', + 'اسکودوی تیمور', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'لیرهٔ ترکیه (۱۹۲۲ تا ۲۰۰۵)', + 'TRL', + 'لیرهٔ ترکیه (۱۹۲۲ تا ۲۰۰۵)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'لیرهٔ ترکیه', + 'TRY', + 'لیرهٔ ترکیه', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'دلار ترینیداد و توباگو', + 'TTD', + 'دلار ترینیداد و توباگو', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'دلار جدید تایوان', + 'NT$', + 'دلار جدید تایوان', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'شیلینگ تانزانیا', + 'TZS', + 'شیلینگ تانزانیا', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'هریونیای اوکراین', + 'UAH', + 'هریونیای اوکراین', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'شیلینگ اوگاندا (۱۹۶۶ تا ۱۹۸۷)', + 'UGS', + 'شیلینگ اوگاندا (۱۹۶۶ تا ۱۹۸۷)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'شیلینگ اوگاندا', + 'UGX', + 'شیلینگ اوگاندا', ], 'USD' => [ - 0 => '$', - 1 => 'دلار آمریکا', + '$', + 'دلار آمریکا', ], 'USN' => [ - 0 => 'USN', - 1 => 'دلار امریکا (روز بعد)', + 'USN', + 'دلار امریکا (روز بعد)', ], 'USS' => [ - 0 => 'USS', - 1 => 'دلار امریکا (همان روز)', + 'USS', + 'دلار امریکا (همان روز)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'پزوی اوروگوئه (۱۹۷۵ تا ۱۹۹۳)', + 'UYP', + 'پزوی اوروگوئه (۱۹۷۵ تا ۱۹۹۳)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'پزوی اوروگوئه', + 'UYU', + 'پزوی اوروگوئه', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'سوم ازبکستان', + 'UZS', + 'سوم ازبکستان', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'بولیوار ونزوئلا (۱۸۷۱ تا ۲۰۰۸)', + 'VEB', + 'بولیوار ونزوئلا (۱۸۷۱ تا ۲۰۰۸)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'بولیوار ونزوئلا (۲۰۰۸ تا ۲۰۱۸)', + 'VEF', + 'بولیوار ونزوئلا (۲۰۰۸ تا ۲۰۱۸)', ], 'VES' => [ - 0 => 'VES', - 1 => 'بولیوار ونزوئلا', + 'VES', + 'بولیوار ونزوئلا', ], 'VND' => [ - 0 => '₫', - 1 => 'دانگ ویتنام', + '₫', + 'دانگ ویتنام', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'واتوی وانوواتو', + 'VUV', + 'واتوی وانوواتو', ], 'WST' => [ - 0 => 'WST', - 1 => 'تالای ساموا', + 'WST', + 'تالای ساموا', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'فرانک CFA مرکز افریقا', + 'FCFA', + 'فرانک CFA مرکز افریقا', ], 'XCD' => [ - 0 => '$EC', - 1 => 'دلار شرق کارائیب', + '$EC', + 'دلار شرق کارائیب', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'فرانک طلای فرانسه', + 'XFO', + 'فرانک طلای فرانسه', ], 'XOF' => [ - 0 => 'فرانک CFA', - 1 => 'فرانک CFA غرب افریقا', + 'فرانک CFA', + 'فرانک CFA غرب افریقا', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'فرانک اقیانوسیه', + 'CFPF', + 'فرانک اقیانوسیه', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'دینار یمن', + 'YDD', + 'دینار یمن', ], 'YER' => [ - 0 => 'YER', - 1 => 'ریال یمن', + 'YER', + 'ریال یمن', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'راند افریقای جنوبی', + 'ZAR', + 'راند افریقای جنوبی', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'کواچای زامبیا (۱۹۶۸ تا ۲۰۱۲)', + 'ZMK', + 'کواچای زامبیا (۱۹۶۸ تا ۲۰۱۲)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'کواچای زامبیا', + 'ZMW', + 'کواچای زامبیا', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'دلار زیمبابوه (۱۹۸۰ تا ۲۰۰۸)', + 'ZWD', + 'دلار زیمبابوه (۱۹۸۰ تا ۲۰۰۸)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'دلار زیمبابوه (۲۰۰۹)', + 'ZWL', + 'دلار زیمبابوه (۲۰۰۹)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'دلار زیمبابوه (۲۰۰۸)', + 'ZWR', + 'دلار زیمبابوه (۲۰۰۸)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fa_AF.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fa_AF.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fa_AF.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fa_AF.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,64 +3,64 @@ return [ 'Names' => [ 'AUD' => [ - 0 => 'A$', - 1 => 'دالر آسترالیا', + 'A$', + 'دالر آسترالیا', ], 'BND' => [ - 0 => 'BND', - 1 => 'دالر برونی', + 'BND', + 'دالر برونی', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'روبل روسیهٔ سفید', + 'BYN', + 'روبل روسیهٔ سفید', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'روبل روسیهٔ سفید (۲۰۰۰–۲۰۱۶)', + 'BYR', + 'روبل روسیهٔ سفید (۲۰۰۰–۲۰۱۶)', ], 'CAD' => [ - 0 => '$CA', - 1 => 'دالر کانادا', + '$CA', + 'دالر کانادا', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'فرانک سویس', + 'CHF', + 'فرانک سویس', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'کرون دنمارک', + 'DKK', + 'کرون دنمارک', ], 'JPY' => [ - 0 => '¥', - 1 => 'ین جاپان', + '¥', + 'ین جاپان', ], 'MXN' => [ - 0 => '$MX', - 1 => 'پزوی مکسیکو', + '$MX', + 'پزوی مکسیکو', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'گیلدر هالند', + 'NLG', + 'گیلدر هالند', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'کرون ناروی', + 'NOK', + 'کرون ناروی', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'کرون سویدن', + 'SEK', + 'کرون سویدن', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'دالر سینگاپور', + 'SGD', + 'دالر سینگاپور', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'سامانی تاجکستان', + 'TJS', + 'سامانی تاجکستان', ], 'USD' => [ - 0 => '$', - 1 => 'دالر امریکا', + '$', + 'دالر امریکا', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,232 +3,236 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'Dirham Emiraati Araab Dentuɗi', + 'AED', + 'Dirham Emiraati Araab Dentuɗi', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Kwansaa Anngolaa', + 'AOA', + 'Kwansaa Anngolaa', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Dolaar Ostaraalii', + 'A$', + 'Dolaar Ostaraalii', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Dinaar Bahrayn', + 'BHD', + 'Dinaar Bahrayn', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Mbuuɗu Burunndi', + 'BIF', + 'Mbuuɗu Burunndi', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Pulaa Botwanaa', + 'BWP', + 'Pulaa Botwanaa', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Dolaar Kandaaa', + 'CA$', + 'Dolaar Kandaaa', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Faraa Konngo', + 'CDF', + 'Faraa Konngo', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Faraa Suwiis', + 'CHF', + 'Faraa Suwiis', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Yuam Siin', + 'CN¥', + 'Yuam Siin', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Eskudoo Kap Weer', + 'CVE', + 'Eskudoo Kap Weer', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Faraa Jibutii', + 'DJF', + 'Faraa Jibutii', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Dinaar Alaseri', + 'DZD', + 'Dinaar Alaseri', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Liibar Ejipt', + 'EGP', + 'Liibar Ejipt', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Nafka Eriteree', + 'ERN', + 'Nafka Eriteree', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Biir Ecoppi', + 'ETB', + 'Biir Ecoppi', ], 'EUR' => [ - 0 => '€', - 1 => 'Oroo', + '€', + 'Oroo', ], 'GBP' => [ - 0 => '£', - 1 => 'Liibar Sterling', + '£', + 'Liibar Sterling', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Sedi Ganaa', + 'GHC', + 'Sedi Ganaa', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Dalasi Gammbi', + 'GMD', + 'Dalasi Gammbi', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Faraa Gine', + 'GNS', + 'Faraa Gine', ], 'INR' => [ - 0 => '₹', - 1 => 'Rupii Enndo', + '₹', + 'Rupii Enndo', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Yen Sapoo', + 'JP¥', + 'Yen Sapoo', ], 'KES' => [ - 0 => 'KES', - 1 => 'Siling Keñaa', + 'KES', + 'Siling Keñaa', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Faraa Komoor', + 'KMF', + 'Faraa Komoor', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Dolaar Liberiyaa', + 'LRD', + 'Dolaar Liberiyaa', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Loti Lesotoo', + 'LSL', + 'Loti Lesotoo', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Dinaar Libi', + 'LYD', + 'Dinaar Libi', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Diraham Maruk', + 'MAD', + 'Diraham Maruk', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Ariyari Madagaskaar', + 'MGA', + 'Ariyari Madagaskaar', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Ugiyya Muritani (1973–2017)', + 'MRO', + 'Ugiyya Muritani (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Ugiyya Muritani', + 'MRU', + 'Ugiyya Muritani', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Rupii Moriis', + 'MUR', + 'Rupii Moriis', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Kuwacca Malaawi', + 'MWK', + 'Kuwacca Malaawi', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Metikal Mosammbik', + 'MZM', + 'Metikal Mosammbik', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Dolaar Namibii', + 'NAD', + 'Dolaar Namibii', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Nayraa Nijeriyaa', + 'NGN', + 'Nayraa Nijeriyaa', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Faraa Ruwanndaa', + 'RWF', + 'Faraa Ruwanndaa', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Riyaal Arabi Sawdit', + 'SAR', + 'Riyaal Arabi Sawdit', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Rupii Seysel', + 'SCR', + 'Rupii Seysel', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Liibar Sudaan', + 'SDG', + 'Liibar Sudaan', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Liibar Sent Helen', + 'SHP', + 'Liibar Sent Helen', + ], + 'SLE' => [ + 'SLE', + 'Lewoon Seraa Liyon', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Lewoon Seraa Liyon', + 'SLL', + 'Lewoon Seraa Liyon (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Siling Soomali', + 'SOS', + 'Siling Soomali', ], 'STD' => [ - 0 => 'STD', - 1 => 'Dobra Sawo Tome e Prensipe (1977–2017)', + 'STD', + 'Dobra Sawo Tome e Prensipe (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Dobra Sawo Tome e Prensipe', + 'STN', + 'Dobra Sawo Tome e Prensipe', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Lilangeni Swaasilannda', + 'SZL', + 'Lilangeni Swaasilannda', ], 'TND' => [ - 0 => 'TND', - 1 => 'Dinaar Tunisii', + 'TND', + 'Dinaar Tunisii', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Siling Tansanii', + 'TZS', + 'Siling Tansanii', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Siling Uganndaa', + 'UGX', + 'Siling Uganndaa', ], 'USD' => [ - 0 => 'US$', - 1 => 'Dolaar Dowlaaji Dentuɗi', + 'US$', + 'Dolaar Dowlaaji Dentuɗi', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Mbuuɗi Seefaa BEAC', + 'FCFA', + 'Mbuuɗi Seefaa BEAC', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Mbuuɗu Seefaa BCEAO', + 'F CFA', + 'Mbuuɗu Seefaa BCEAO', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Rannda Afrik Bŋ Worgo', + 'ZAR', + 'Rannda Afrik Bŋ Worgo', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Kuwacca Sammbi (1968–2012)', + 'ZMK', + 'Kuwacca Sammbi (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Kuwacca Sammbi', + 'ZMW', + 'Kuwacca Sammbi', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Dolaar Simbaabuwe', + 'ZWD', + 'Dolaar Simbaabuwe', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,768 +3,772 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => '𞤁𞤭𞤪𞤸𞤢𞤥𞤵 𞤋𞤥𞤢𞥄𞤪𞤢𞤼𞤭𞤲𞤳𞤮', + 'AED', + '𞤁𞤭𞤪𞤸𞤢𞤥𞤵 𞤋𞤥𞤢𞥄𞤪𞤢𞤼𞤭𞤲𞤳𞤮', ], 'AFA' => [ - 0 => '𞤀𞤊𞤀', - 1 => '𞤀𞤬𞤺𞤢𞥄𞤲 𞤀𞤬𞤺𞤢𞥄𞤲𞤭 (𞥑𞥙𞥒𞥗-𞥒𞥐𞥐𞥒)', + '𞤀𞤊𞤀', + '𞤀𞤬𞤺𞤢𞥄𞤲 𞤀𞤬𞤺𞤢𞥄𞤲𞤭 (𞥑𞥙𞥒𞥗-𞥒𞥐𞥐𞥒)', ], 'AFN' => [ - 0 => 'AFN', - 1 => '𞤀𞤬𞤿𞤢𞤲𞤭 𞤀𞤬𞤿𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'AFN', + '𞤀𞤬𞤿𞤢𞤲𞤭 𞤀𞤬𞤿𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'ALL' => [ - 0 => 'ALL', - 1 => '𞤂𞤫𞤳 𞤀𞤤𞤦𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'ALL', + '𞤂𞤫𞤳 𞤀𞤤𞤦𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'AMD' => [ - 0 => 'AMD', - 1 => '𞤁𞤢𞤪𞤢𞤥𞤵 𞤀𞤪𞤥𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'AMD', + '𞤁𞤢𞤪𞤢𞤥𞤵 𞤀𞤪𞤥𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'ANG' => [ - 0 => 'ANG', - 1 => '𞤊𞤵𞤤𞤮𞤪𞤭𞤲 𞤀𞤲𞤼𞤭𞤴𞤢𞤲𞤳𞤮', + 'ANG', + '𞤊𞤵𞤤𞤮𞤪𞤭𞤲 𞤀𞤲𞤼𞤭𞤴𞤢𞤲𞤳𞤮', ], 'AOA' => [ - 0 => 'AOA', - 1 => '𞤑𞤵𞤱𞤢𞤲𞥁𞤢 𞤀𞤲𞤺𞤮𞤤𞤢𞤲𞤳𞤮', + 'AOA', + '𞤑𞤵𞤱𞤢𞤲𞥁𞤢 𞤀𞤲𞤺𞤮𞤤𞤢𞤲𞤳𞤮', ], 'ARA' => [ - 0 => 'ARA', - 1 => '𞤌𞤧𞤼𞤪𞤢𞤤 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞤲𞤳𞤮', + 'ARA', + '𞤌𞤧𞤼𞤪𞤢𞤤 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞤲𞤳𞤮', ], 'ARL' => [ - 0 => 'ARL', - 1 => '𞤆𞤫𞥅𞤧𞤮𞥅 𞤂𞤫𞤴 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞤲𞤳𞤮 (𞥑𞥙𞥗𞥐-𞥑𞥙𞥘𞥓)', + 'ARL', + '𞤆𞤫𞥅𞤧𞤮𞥅 𞤂𞤫𞤴 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞤲𞤳𞤮 (𞥑𞥙𞥗𞥐-𞥑𞥙𞥘𞥓)', ], 'ARM' => [ - 0 => 'ARM', - 1 => '𞤆𞤫𞥅𞤧𞤮𞥅 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞤲𞤳𞤮 (𞥑𞥘𞥘𞥑-𞥑𞥙𞥗𞥐)', + 'ARM', + '𞤆𞤫𞥅𞤧𞤮𞥅 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞤲𞤳𞤮 (𞥑𞥘𞥘𞥑-𞥑𞥙𞥗𞥐)', ], 'ARP' => [ - 0 => 'ARP', - 1 => '𞤆𞤫𞥅𞤧𞤮𞥅 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞤲𞤳𞤮 (𞥑𞥙𞥘𞥓-𞥑𞥙𞥘𞥕)', + 'ARP', + '𞤆𞤫𞥅𞤧𞤮𞥅 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞤲𞤳𞤮 (𞥑𞥙𞥘𞥓-𞥑𞥙𞥘𞥕)', ], 'ARS' => [ - 0 => 'ARS', - 1 => '𞤆𞤫𞥅𞤧𞤮𞥅 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞤲𞤳𞤮', + 'ARS', + '𞤆𞤫𞥅𞤧𞤮𞥅 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞤲𞤳𞤮', ], 'AUD' => [ - 0 => 'A$', - 1 => '𞤁𞤢𞤤𞤢 𞤌𞤧𞤼𞤢𞤪𞤤𞤭𞤴𞤢𞤲𞤳𞤮', + 'A$', + '𞤁𞤢𞤤𞤢 𞤌𞤧𞤼𞤢𞤪𞤤𞤭𞤴𞤢𞤲𞤳𞤮', ], 'AWG' => [ - 0 => 'AWG', - 1 => '𞤊𞤵𞤤𞤮𞤪𞤭𞤲 𞤀𞤪𞤵𞤦𞤢𞤲𞤳𞤮', + 'AWG', + '𞤊𞤵𞤤𞤮𞤪𞤭𞤲 𞤀𞤪𞤵𞤦𞤢𞤲𞤳𞤮', ], 'AZN' => [ - 0 => 'AZN', - 1 => '𞤃𞤢𞤲𞤢𞥄𞤼𞤵 𞤀𞥁𞤫𞤪𞤦𞤢𞤴𞤶𞤢𞤲𞤳𞤮', + 'AZN', + '𞤃𞤢𞤲𞤢𞥄𞤼𞤵 𞤀𞥁𞤫𞤪𞤦𞤢𞤴𞤶𞤢𞤲𞤳𞤮', ], 'BAM' => [ - 0 => 'BAM', - 1 => '𞤃𞤢𞤪𞤳 𞤄𞤮𞤧𞤲𞤭𞤴𞤢-𞤖𞤫𞤪𞤶𞤫𞤺𞤮𞤾𞤭𞤲𞤳𞤮 𞤱𞤢𞤴𞤤𞤮𞤼𞤮𞥅𞤯𞤭', + 'BAM', + '𞤃𞤢𞤪𞤳 𞤄𞤮𞤧𞤲𞤭𞤴𞤢-𞤖𞤫𞤪𞤶𞤫𞤺𞤮𞤾𞤭𞤲𞤳𞤮 𞤱𞤢𞤴𞤤𞤮𞤼𞤮𞥅𞤯𞤭', ], 'BBD' => [ - 0 => 'BBD', - 1 => '𞤁𞤢𞤤𞤢 𞤄𞤢𞤪𞤦𞤢𞤣𞤭𞤴𞤢𞤲𞤳𞤮', + 'BBD', + '𞤁𞤢𞤤𞤢 𞤄𞤢𞤪𞤦𞤢𞤣𞤭𞤴𞤢𞤲𞤳𞤮', ], 'BDT' => [ - 0 => 'BDT', - 1 => '𞤚𞤢𞤪𞤢 𞤄𞤢𞤲𞤺𞤭𞤤𞤢𞤣𞤫𞥅𞤧𞤭𞤲𞤳𞤮', + 'BDT', + '𞤚𞤢𞤪𞤢 𞤄𞤢𞤲𞤺𞤭𞤤𞤢𞤣𞤫𞥅𞤧𞤭𞤲𞤳𞤮', ], 'BGN' => [ - 0 => 'BGN', - 1 => '𞤂𞤫𞥅𞤾 𞤄𞤭𞤤𞤺𞤢𞤪𞤭𞤲𞤳𞤮', + 'BGN', + '𞤂𞤫𞥅𞤾 𞤄𞤭𞤤𞤺𞤢𞤪𞤭𞤲𞤳𞤮', ], 'BHD' => [ - 0 => 'BHD', - 1 => '𞤁𞤭𞤲𞤢𞥄𞤪 𞤄𞤢𞤸𞤢𞤪𞤢𞥄𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'BHD', + '𞤁𞤭𞤲𞤢𞥄𞤪 𞤄𞤢𞤸𞤢𞤪𞤢𞥄𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'BIF' => [ - 0 => 'BIF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤄𞤵𞤪𞤵𞤲𞤣𞤭𞤲𞤳𞤮', + 'BIF', + '𞤊𞤢𞤪𞤢𞤲 𞤄𞤵𞤪𞤵𞤲𞤣𞤭𞤲𞤳𞤮', ], 'BMD' => [ - 0 => 'BMD', - 1 => '𞤁𞤢𞤤𞤢 𞤄𞤵𞤪𞤥𞤵𞤣𞤢𞤲𞤳𞤮', + 'BMD', + '𞤁𞤢𞤤𞤢 𞤄𞤵𞤪𞤥𞤵𞤣𞤢𞤲𞤳𞤮', ], 'BND' => [ - 0 => 'BND', - 1 => '𞤁𞤢𞤤𞤢 𞤄𞤵𞤪𞤲𞤫𞤴𞤢𞤲𞤳𞤮', + 'BND', + '𞤁𞤢𞤤𞤢 𞤄𞤵𞤪𞤲𞤫𞤴𞤢𞤲𞤳𞤮', ], 'BOB' => [ - 0 => 'BOB', - 1 => '𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤮 𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮', + 'BOB', + '𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤮 𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮', ], 'BOL' => [ - 0 => 'BOL', - 1 => '𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤮 𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮 (𞥑𞥘𞥖𞥓-𞥑𞥙𞥖𞥓)', + 'BOL', + '𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤮 𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮 (𞥑𞥘𞥖𞥓-𞥑𞥙𞥖𞥓)', ], 'BOP' => [ - 0 => 'BOP', - 1 => '𞤆𞤫𞥅𞤧𞤮𞥅 𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮', + 'BOP', + '𞤆𞤫𞥅𞤧𞤮𞥅 𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮', ], 'BOV' => [ - 0 => 'BOV', - 1 => '𞤃𞤾𞤣𞤮𞤤 𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮', + 'BOV', + '𞤃𞤾𞤣𞤮𞤤 𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮', ], 'BRB' => [ - 0 => 'BRB', - 1 => '𞤑𞤫𞤪𞤮𞤧𞤫𞤪𞤮 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮 𞤑𞤫𞤧𞤮 (𞥑𞥙𞥖𞥗-𞥑𞥙𞥘𞥖)', + 'BRB', + '𞤑𞤫𞤪𞤮𞤧𞤫𞤪𞤮 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮 𞤑𞤫𞤧𞤮 (𞥑𞥙𞥖𞥗-𞥑𞥙𞥘𞥖)', ], 'BRC' => [ - 0 => 'BRC', - 1 => '𞤑𞤵𞤪𞥁𞤢𞤣𞤮𞥅 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥘𞥖-𞥑𞥙𞥘𞥙)', + 'BRC', + '𞤑𞤵𞤪𞥁𞤢𞤣𞤮𞥅 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥘𞥖-𞥑𞥙𞥘𞥙)', ], 'BRE' => [ - 0 => 'BRE', - 1 => '𞤑𞤵𞤪𞥁𞤫𞤴𞤪𞤮 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥙𞥐-𞥑𞥙𞥙𞥓)', + 'BRE', + '𞤑𞤵𞤪𞥁𞤫𞤴𞤪𞤮 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥙𞥐-𞥑𞥙𞥙𞥓)', ], 'BRL' => [ - 0 => 'R$', - 1 => '𞤈𞤭𞤴𞤢𞤤 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮', + 'R$', + '𞤈𞤭𞤴𞤢𞤤 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮', ], 'BRN' => [ - 0 => 'BRN', - 1 => '𞤑𞤵𞤪𞥁𞤢𞤣𞤮𞥅 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥘𞥙-𞥑𞥙𞥙𞥐)', + 'BRN', + '𞤑𞤵𞤪𞥁𞤢𞤣𞤮𞥅 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥘𞥙-𞥑𞥙𞥙𞥐)', ], 'BRR' => [ - 0 => 'BRR', - 1 => '𞤑𞤵𞤪𞥁𞤫𞤴𞤪𞤮 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥙𞥓-𞥑𞥙𞥙𞥔)', + 'BRR', + '𞤑𞤵𞤪𞥁𞤫𞤴𞤪𞤮 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥙𞥓-𞥑𞥙𞥙𞥔)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => '𞤑𞤵𞤪𞥁𞤫𞤴𞤪𞤮 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥔𞥒-𞥑𞥙𞥖𞥗)', + 'BRZ', + '𞤑𞤵𞤪𞥁𞤫𞤴𞤪𞤮 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥔𞥒-𞥑𞥙𞥖𞥗)', ], 'BSD' => [ - 0 => 'BSD', - 1 => '𞤁𞤢𞤤𞤢 𞤄𞤢𞤸𞤢𞤥𞤭𞤴𞤢𞤲𞤳𞤮', + 'BSD', + '𞤁𞤢𞤤𞤢 𞤄𞤢𞤸𞤢𞤥𞤭𞤴𞤢𞤲𞤳𞤮', ], 'BTN' => [ - 0 => 'BTN', - 1 => '𞤐𞤘𞤵𞤤𞤼𞤵𞤪𞤵𞤥𞤵 𞤄𞤵𞤼𞤢𞤲𞤭𞤲𞤳𞤮', + 'BTN', + '𞤐𞤘𞤵𞤤𞤼𞤵𞤪𞤵𞤥𞤵 𞤄𞤵𞤼𞤢𞤲𞤭𞤲𞤳𞤮', ], 'BWP' => [ - 0 => 'BWP', - 1 => '𞤆𞤵𞤤𞤢 𞤄𞤮𞤼𞤵𞤧𞤱𞤢𞤲𞤢𞤲𞤳𞤮', + 'BWP', + '𞤆𞤵𞤤𞤢 𞤄𞤮𞤼𞤵𞤧𞤱𞤢𞤲𞤢𞤲𞤳𞤮', ], 'BYN' => [ - 0 => 'BYN', - 1 => '𞤈𞤵𞥅𞤦𞤮𞤤 𞤄𞤫𞤤𞤢𞤪𞤭𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮', + 'BYN', + '𞤈𞤵𞥅𞤦𞤮𞤤 𞤄𞤫𞤤𞤢𞤪𞤭𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮', ], 'BZD' => [ - 0 => 'BZD', - 1 => '𞤁𞤢𞤤𞤢 𞤄𞤫𞤤𞤭𞥅𞤧𞤴𞤢𞤲𞤳𞤮', + 'BZD', + '𞤁𞤢𞤤𞤢 𞤄𞤫𞤤𞤭𞥅𞤧𞤴𞤢𞤲𞤳𞤮', ], 'CAD' => [ - 0 => 'CA$', - 1 => '𞤁𞤢𞤤𞤢 𞤑𞤢𞤲𞤢𞤣𞤭𞤴𞤢𞤲𞤳𞤮', + 'CA$', + '𞤁𞤢𞤤𞤢 𞤑𞤢𞤲𞤢𞤣𞤭𞤴𞤢𞤲𞤳𞤮', ], 'CDF' => [ - 0 => 'CDF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤑𞤮𞤲𞤺𞤮𞤲𞤳𞤮', + 'CDF', + '𞤊𞤢𞤪𞤢𞤲 𞤑𞤮𞤲𞤺𞤮𞤲𞤳𞤮', ], 'CHF' => [ - 0 => 'CHF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤅𞤵𞤱𞤭𞥅𞤧', + 'CHF', + '𞤊𞤢𞤪𞤢𞤲 𞤅𞤵𞤱𞤭𞥅𞤧', ], 'CLE' => [ - 0 => 'CLE', - 1 => '𞤉𞤧𞤳𞤵𞤣𞤮𞥅 𞤕𞤭𞤤𞤫𞥊𞤴𞤢𞤲𞤳𞤮', + 'CLE', + '𞤉𞤧𞤳𞤵𞤣𞤮𞥅 𞤕𞤭𞤤𞤫𞥊𞤴𞤢𞤲𞤳𞤮', ], 'CLF' => [ - 0 => 'CLF', - 1 => '𞤅𞤢𞤤𞤲𞤣𞤵 𞤂𞤭𞤥𞤮𞥅𞤪𞤫 𞤕𞤭𞤤𞤫𞥊𞤴𞤢𞤲𞤳𞤮', + 'CLF', + '𞤅𞤢𞤤𞤲𞤣𞤵 𞤂𞤭𞤥𞤮𞥅𞤪𞤫 𞤕𞤭𞤤𞤫𞥊𞤴𞤢𞤲𞤳𞤮', ], 'CLP' => [ - 0 => 'CLP', - 1 => '𞤆𞤫𞥅𞤧𞤮𞥅 𞤕𞤭𞤤𞤫𞥊𞤴𞤢𞤲𞤳𞤮', + 'CLP', + '𞤆𞤫𞥅𞤧𞤮𞥅 𞤕𞤭𞤤𞤫𞥊𞤴𞤢𞤲𞤳𞤮', ], 'CNH' => [ - 0 => 'CNH', - 1 => '𞤒𞤵𞤱𞤢𞤲 𞤕𞤢𞤴𞤲𞤭𞤲𞤳𞤮 (𞤺𞤢𞥄𞤲𞤭𞤲𞤳𞤮)', + 'CNH', + '𞤒𞤵𞤱𞤢𞤲 𞤕𞤢𞤴𞤲𞤭𞤲𞤳𞤮 (𞤺𞤢𞥄𞤲𞤭𞤲𞤳𞤮)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => '𞤒𞤵𞤱𞤢𞥄𞤲 𞤕𞤢𞤴𞤲𞤭𞤲𞤳𞤮', + 'CN¥', + '𞤒𞤵𞤱𞤢𞥄𞤲 𞤕𞤢𞤴𞤲𞤭𞤲𞤳𞤮', ], 'COP' => [ - 0 => 'COP', - 1 => '𞤆𞤫𞥅𞤧𞤮𞥅 𞤑𞤮𞤤𞤮𞤥𞤦𞤭𞤴𞤢𞤲𞤳𞤮', + 'COP', + '𞤆𞤫𞥅𞤧𞤮𞥅 𞤑𞤮𞤤𞤮𞤥𞤦𞤭𞤴𞤢𞤲𞤳𞤮', ], 'COU' => [ - 0 => 'COU', - 1 => '𞤅𞤢𞤤𞤲𞤣𞤵 𞤔𞤢𞤪𞤮 𞤳𞤮𞤤𞤮𞤥𞤦𞤭𞤴𞤢𞤲𞤳𞤮', + 'COU', + '𞤅𞤢𞤤𞤲𞤣𞤵 𞤔𞤢𞤪𞤮 𞤳𞤮𞤤𞤮𞤥𞤦𞤭𞤴𞤢𞤲𞤳𞤮', ], 'CRC' => [ - 0 => 'CRC', - 1 => '𞤑𞤮𞤤𞤮𞥅𞤲 𞤑𞤮𞤧𞤼𞤢𞤪𞤭𞤴𞤢𞤲𞤳𞤮', + 'CRC', + '𞤑𞤮𞤤𞤮𞥅𞤲 𞤑𞤮𞤧𞤼𞤢𞤪𞤭𞤴𞤢𞤲𞤳𞤮', ], 'CUC' => [ - 0 => 'CUC', - 1 => '𞤆𞤫𞤧𞤮 𞤑𞤵𞤦𞤢𞤲𞤳𞤮 𞤏𞤢𞤴𞤤𞤮𞤼𞤮𞥅𞤲𞥋𞤺𞤮', + 'CUC', + '𞤆𞤫𞤧𞤮 𞤑𞤵𞤦𞤢𞤲𞤳𞤮 𞤏𞤢𞤴𞤤𞤮𞤼𞤮𞥅𞤲𞥋𞤺𞤮', ], 'CUP' => [ - 0 => 'CUP', - 1 => '𞤆𞤫𞥅𞤧𞤮𞥅 𞤑𞤵𞤦𞤢𞤲𞤳𞤮', + 'CUP', + '𞤆𞤫𞥅𞤧𞤮𞥅 𞤑𞤵𞤦𞤢𞤲𞤳𞤮', ], 'CVE' => [ - 0 => 'CVE', - 1 => '𞤉𞤧𞤳𞤵𞤣𞤮 𞤑𞤢𞤨-𞤜𞤫𞥅𞤪𞤣𞤢𞤲𞤳𞤮', + 'CVE', + '𞤉𞤧𞤳𞤵𞤣𞤮 𞤑𞤢𞤨-𞤜𞤫𞥅𞤪𞤣𞤢𞤲𞤳𞤮', ], 'CZK' => [ - 0 => 'CZK', - 1 => '𞤑𞤮𞤪𞤵𞤲𞤢 𞤕𞤫𞥅𞤳𞤭𞤲𞤳𞤮', + 'CZK', + '𞤑𞤮𞤪𞤵𞤲𞤢 𞤕𞤫𞥅𞤳𞤭𞤲𞤳𞤮', ], 'DJF' => [ - 0 => 'DJF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤔𞤭𞤦𞤵𞤼𞤭𞤲𞤳𞤮', + 'DJF', + '𞤊𞤢𞤪𞤢𞤲 𞤔𞤭𞤦𞤵𞤼𞤭𞤲𞤳𞤮', ], 'DKK' => [ - 0 => 'DKK', - 1 => '𞤑𞤮𞤪𞤲𞤫 𞤁𞤢𞤲𞤭𞥅𞤧𞤭𞤲𞤳𞤮', + 'DKK', + '𞤑𞤮𞤪𞤲𞤫 𞤁𞤢𞤲𞤭𞥅𞤧𞤭𞤲𞤳𞤮', ], 'DOP' => [ - 0 => 'DOP', - 1 => '𞤆𞤫𞤧𞤮 𞤁𞤮𞤥𞤭𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'DOP', + '𞤆𞤫𞤧𞤮 𞤁𞤮𞤥𞤭𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'DZD' => [ - 0 => 'DZD', - 1 => '𞤁𞤭𞤲𞤢𞥄𞤪 𞤀𞤤𞤶𞤢𞤪𞤭𞤲𞤳𞤮', + 'DZD', + '𞤁𞤭𞤲𞤢𞥄𞤪 𞤀𞤤𞤶𞤢𞤪𞤭𞤲𞤳𞤮', ], 'ECS' => [ - 0 => 'ECS', - 1 => '𞤅𞤵𞥅𞤳𞤵𞤪𞤫𞥊𞥅 𞤉𞤳𞤵𞤱𞤢𞤣𞤮𞥅𞤪𞤴𞤢𞤲𞤳𞤮', + 'ECS', + '𞤅𞤵𞥅𞤳𞤵𞤪𞤫𞥊𞥅 𞤉𞤳𞤵𞤱𞤢𞤣𞤮𞥅𞤪𞤴𞤢𞤲𞤳𞤮', ], 'ECV' => [ - 0 => 'ECV', - 1 => '𞤅𞤢𞤤𞤲𞤣𞤵 𞤔𞤮𞤪𞤮 𞤉𞤳𞤵𞤱𞤢𞤣𞤮𞥅𞤪𞤴𞤢𞤲𞤳𞤮 𞤚𞤢𞤦𞤭𞤼𞤵𞤲𞥋𞤺𞤮', + 'ECV', + '𞤅𞤢𞤤𞤲𞤣𞤵 𞤔𞤮𞤪𞤮 𞤉𞤳𞤵𞤱𞤢𞤣𞤮𞥅𞤪𞤴𞤢𞤲𞤳𞤮 𞤚𞤢𞤦𞤭𞤼𞤵𞤲𞥋𞤺𞤮', ], 'EGP' => [ - 0 => 'EGP', - 1 => '𞤆𞤢𞤱𞤲𞤣𞤵 𞤃𞤭𞤧𞤭𞤪𞤢𞤲𞤳𞤮', + 'EGP', + '𞤆𞤢𞤱𞤲𞤣𞤵 𞤃𞤭𞤧𞤭𞤪𞤢𞤲𞤳𞤮', ], 'ERN' => [ - 0 => 'ERN', - 1 => '𞤐𞤢𞤳𞤬𞤢 𞤉𞤪𞤭𞤼𞤫𞤪𞤭𞤲𞤳𞤮', + 'ERN', + '𞤐𞤢𞤳𞤬𞤢 𞤉𞤪𞤭𞤼𞤫𞤪𞤭𞤲𞤳𞤮', ], 'ETB' => [ - 0 => 'ETB', - 1 => '𞤄𞤭𞤪 𞤖𞤢𞤦𞤢𞤧𞤭𞤲𞤳𞤮', + 'ETB', + '𞤄𞤭𞤪 𞤖𞤢𞤦𞤢𞤧𞤭𞤲𞤳𞤮', ], 'EUR' => [ - 0 => '€', - 1 => '𞤒𞤵𞤪𞤮𞥅', + '€', + '𞤒𞤵𞤪𞤮𞥅', ], 'FJD' => [ - 0 => 'FJD', - 1 => '𞤁𞤢𞤤𞤢 𞤊𞤭𞤶𞤭𞤴𞤢𞤲𞤳𞤮', + 'FJD', + '𞤁𞤢𞤤𞤢 𞤊𞤭𞤶𞤭𞤴𞤢𞤲𞤳𞤮', ], 'FKP' => [ - 0 => 'FKP', - 1 => '𞤆𞤢𞤱𞤲𞤣𞤵 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤊𞤢𞤤𞤳𞤵𞤤𞤢𞤲𞤣𞤭𞤳𞤮', + 'FKP', + '𞤆𞤢𞤱𞤲𞤣𞤵 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤊𞤢𞤤𞤳𞤵𞤤𞤢𞤲𞤣𞤭𞤳𞤮', ], 'GBP' => [ - 0 => '£', - 1 => '𞤆𞤢𞤱𞤲𞤣𞤵 𞤄𞤪𞤭𞤼𞤭𞥅𞤧𞤭𞤲𞤳𞤮', + '£', + '𞤆𞤢𞤱𞤲𞤣𞤵 𞤄𞤪𞤭𞤼𞤭𞥅𞤧𞤭𞤲𞤳𞤮', ], 'GEL' => [ - 0 => 'GEL', - 1 => '𞤂𞤢𞥄𞤪𞤭 𞤔𞤮𞤪𞤶𞤭𞤴𞤢𞤲𞤳𞤮', + 'GEL', + '𞤂𞤢𞥄𞤪𞤭 𞤔𞤮𞤪𞤶𞤭𞤴𞤢𞤲𞤳𞤮', ], 'GHS' => [ - 0 => 'GHS', - 1 => '𞤅𞤭𞤣𞤭 𞤘𞤢𞤲𞤢𞤲𞤳𞤮', + 'GHS', + '𞤅𞤭𞤣𞤭 𞤘𞤢𞤲𞤢𞤲𞤳𞤮', ], 'GIP' => [ - 0 => 'GIP', - 1 => '𞤆𞤢𞤱𞤲𞥋𞤣𞤵 𞤔𞤭𞤤𞤦𞤪𞤢𞤤𞤼𞤢𞤪', + 'GIP', + '𞤆𞤢𞤱𞤲𞥋𞤣𞤵 𞤔𞤭𞤤𞤦𞤪𞤢𞤤𞤼𞤢𞤪', ], 'GMD' => [ - 0 => 'GMD', - 1 => '𞤁𞤢𞤤𞤢𞤧𞤭 𞤘𞤢𞤥𞤦𞤭𞤲𞤳𞤮', + 'GMD', + '𞤁𞤢𞤤𞤢𞤧𞤭 𞤘𞤢𞤥𞤦𞤭𞤲𞤳𞤮', ], 'GNF' => [ - 0 => 'FG', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + 'FG', + '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => '𞤑𞤫𞤼𞤵𞥁𞤢𞤤 𞤘𞤵𞤱𞤢𞤼𞤫𞤥𞤢𞤤𞤢𞤲𞤳𞤮', + 'GTQ', + '𞤑𞤫𞤼𞤵𞥁𞤢𞤤 𞤘𞤵𞤱𞤢𞤼𞤫𞤥𞤢𞤤𞤢𞤲𞤳𞤮', ], 'GYD' => [ - 0 => 'GYD', - 1 => '𞤁𞤢𞤤𞤢 𞤘𞤵𞤴𞤢𞤲𞤫𞥅𞤧𞤭𞤲𞤳𞤮', + 'GYD', + '𞤁𞤢𞤤𞤢 𞤘𞤵𞤴𞤢𞤲𞤫𞥅𞤧𞤭𞤲𞤳𞤮', ], 'HKD' => [ - 0 => 'HK$', - 1 => '𞤁𞤢𞤤𞤢 𞤖𞤮𞤲𞤳𞤮𞤲', + 'HK$', + '𞤁𞤢𞤤𞤢 𞤖𞤮𞤲𞤳𞤮𞤲', ], 'HNL' => [ - 0 => 'HNL', - 1 => '𞤂𞤫𞤥𞤨𞤭𞤪𞤢 𞤖𞤮𞤲𞤣𞤵𞤪𞤢𞤲𞤳𞤮', + 'HNL', + '𞤂𞤫𞤥𞤨𞤭𞤪𞤢 𞤖𞤮𞤲𞤣𞤵𞤪𞤢𞤲𞤳𞤮', ], 'HRK' => [ - 0 => 'HRK', - 1 => '𞤑𞤵𞤲𞤢 𞤑𞤵𞤪𞤢𞥄𞤧𞤭𞤴𞤢𞤲𞤳𞤮', + 'HRK', + '𞤑𞤵𞤲𞤢 𞤑𞤵𞤪𞤢𞥄𞤧𞤭𞤴𞤢𞤲𞤳𞤮', ], 'HTG' => [ - 0 => 'HTG', - 1 => '𞤘𞤵𞥅𞤪𞤣𞤫 𞤖𞤢𞤴𞤼𞤭𞤴𞤢𞤲𞤳𞤮', + 'HTG', + '𞤘𞤵𞥅𞤪𞤣𞤫 𞤖𞤢𞤴𞤼𞤭𞤴𞤢𞤲𞤳𞤮', ], 'HUF' => [ - 0 => 'HUF', - 1 => '𞤊𞤮𞤪𞤭𞤲𞤼𞤵 𞤖𞤵𞤲𞤺𞤢𞤪𞤭𞤴𞤢𞤲𞤳𞤮', + 'HUF', + '𞤊𞤮𞤪𞤭𞤲𞤼𞤵 𞤖𞤵𞤲𞤺𞤢𞤪𞤭𞤴𞤢𞤲𞤳𞤮', ], 'IDR' => [ - 0 => 'IDR', - 1 => '𞤈𞤵𞤨𞤭𞤴𞤢 𞤋𞤲𞤣𞤮𞤲𞤫𞤧𞤭𞤴𞤢𞤲𞤳𞤮', + 'IDR', + '𞤈𞤵𞤨𞤭𞤴𞤢 𞤋𞤲𞤣𞤮𞤲𞤫𞤧𞤭𞤴𞤢𞤲𞤳𞤮', ], 'ILS' => [ - 0 => '₪', - 1 => '𞤡𞤫𞤳𞤫𞤤 𞤋𞤧𞤪𞤢𞥄𞤤𞤭𞤴𞤢𞤲𞤳𞤮', + '₪', + '𞤡𞤫𞤳𞤫𞤤 𞤋𞤧𞤪𞤢𞥄𞤤𞤭𞤴𞤢𞤲𞤳𞤮', ], 'INR' => [ - 0 => '₹', - 1 => '𞤈𞤵𞥅𞤨𞤭𞥅 𞤖𞤭𞤲𞤣𞤭𞤧𞤼𞤢𞤲𞤳𞤮', + '₹', + '𞤈𞤵𞥅𞤨𞤭𞥅 𞤖𞤭𞤲𞤣𞤭𞤧𞤼𞤢𞤲𞤳𞤮', ], 'IQD' => [ - 0 => 'IQD', - 1 => '𞤁𞤭𞤲𞤢𞥄𞤪 𞤋𞤪𞤢𞥄𞤳𞤭𞤴𞤢𞤲𞤳𞤮', + 'IQD', + '𞤁𞤭𞤲𞤢𞥄𞤪 𞤋𞤪𞤢𞥄𞤳𞤭𞤴𞤢𞤲𞤳𞤮', ], 'IRR' => [ - 0 => 'IRR', - 1 => '𞤈𞤭𞤴𞤢𞥄𞤤 𞤋𞤪𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'IRR', + '𞤈𞤭𞤴𞤢𞥄𞤤 𞤋𞤪𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'ISK' => [ - 0 => 'ISK', - 1 => '𞤑𞤮𞤪𞤮𞤲𞤢 𞤀𞤴𞤧𞤭𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮', + 'ISK', + '𞤑𞤮𞤪𞤮𞤲𞤢 𞤀𞤴𞤧𞤭𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮', ], 'JMD' => [ - 0 => 'JMD', - 1 => '𞤁𞤢𞤤𞤢 𞤔𞤢𞤥𞤢𞤴𞤭𞤲𞤳𞤮', + 'JMD', + '𞤁𞤢𞤤𞤢 𞤔𞤢𞤥𞤢𞤴𞤭𞤲𞤳𞤮', ], 'JOD' => [ - 0 => 'JOD', - 1 => '𞤁𞤭𞤲𞤢𞥄𞤪 𞤔𞤮𞤪𞤣𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'JOD', + '𞤁𞤭𞤲𞤢𞥄𞤪 𞤔𞤮𞤪𞤣𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'JPY' => [ - 0 => 'JP¥', - 1 => '𞤒𞤫𞤲 𞤔𞤢𞤨𞤢𞤲𞤳𞤮', + 'JP¥', + '𞤒𞤫𞤲 𞤔𞤢𞤨𞤢𞤲𞤳𞤮', ], 'KES' => [ - 0 => 'KES', - 1 => '𞤅𞤭𞤤𞤭𞤲 𞤑𞤫𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'KES', + '𞤅𞤭𞤤𞤭𞤲 𞤑𞤫𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'KGS' => [ - 0 => 'KGS', - 1 => '𞤅𞤮𞤥𞤵 𞤑𞤭𞤪𞤺𞤭𞤧𞤼𞤢𞤲𞤭𞤲𞤳𞤮', + 'KGS', + '𞤅𞤮𞤥𞤵 𞤑𞤭𞤪𞤺𞤭𞤧𞤼𞤢𞤲𞤭𞤲𞤳𞤮', ], 'KHR' => [ - 0 => 'KHR', - 1 => '𞤈𞤭𞤴𞤢𞤤 𞤑𞤢𞤥𞤦𞤮𞤣𞤭𞤴𞤢𞤲𞤳𞤮', + 'KHR', + '𞤈𞤭𞤴𞤢𞤤 𞤑𞤢𞤥𞤦𞤮𞤣𞤭𞤴𞤢𞤲𞤳𞤮', ], 'KMF' => [ - 0 => 'KMF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤑𞤮𞤥𞤮𞤪𞤭𞤲𞤳𞤮', + 'KMF', + '𞤊𞤢𞤪𞤢𞤲 𞤑𞤮𞤥𞤮𞤪𞤭𞤲𞤳𞤮', ], 'KPW' => [ - 0 => 'KPW', - 1 => '𞤏𞤮𞤲 𞤁𞤮𞤱𞤣𞤮𞤱𞤪𞤭 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞤲𞤳𞤮', + 'KPW', + '𞤏𞤮𞤲 𞤁𞤮𞤱𞤣𞤮𞤱𞤪𞤭 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞤲𞤳𞤮', ], 'KRW' => [ - 0 => '₩', - 1 => '𞤱𞤮𞤲 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞤲𞤳𞤮', + '₩', + '𞤱𞤮𞤲 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞤲𞤳𞤮', ], 'KWD' => [ - 0 => 'KWD', - 1 => '𞤁𞤋𞤲𞤢𞥄𞤪 𞤑𞤵𞤱𞤢𞤴𞤼𞤭𞤴𞤢𞤲𞤳𞤮', + 'KWD', + '𞤁𞤋𞤲𞤢𞥄𞤪 𞤑𞤵𞤱𞤢𞤴𞤼𞤭𞤴𞤢𞤲𞤳𞤮', ], 'KYD' => [ - 0 => 'KYD', - 1 => '𞤁𞤢𞤤𞤢 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤑𞤢𞤴𞤥𞤢𞥄𞤲', + 'KYD', + '𞤁𞤢𞤤𞤢 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤑𞤢𞤴𞤥𞤢𞥄𞤲', ], 'KZT' => [ - 0 => 'KZT', - 1 => '𞤚𞤫𞤲𞤺𞤫 𞤑𞤢𞥁𞤢𞤳𞤭𞤧𞤼𞤢𞤲𞤭𞤲𞤳𞤮', + 'KZT', + '𞤚𞤫𞤲𞤺𞤫 𞤑𞤢𞥁𞤢𞤳𞤭𞤧𞤼𞤢𞤲𞤭𞤲𞤳𞤮', ], 'LAK' => [ - 0 => 'LAK', - 1 => '𞤑𞤭𞤨𞤵 𞤂𞤢𞤱𞤮𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮', + 'LAK', + '𞤑𞤭𞤨𞤵 𞤂𞤢𞤱𞤮𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮', ], 'LBP' => [ - 0 => 'LBP', - 1 => '𞤆𞤢𞤱𞤲𞥋𞤣𞤵 𞤂𞤭𞤦𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'LBP', + '𞤆𞤢𞤱𞤲𞥋𞤣𞤵 𞤂𞤭𞤦𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'LKR' => [ - 0 => 'LKR', - 1 => '𞤈𞤵𞥅𞤨𞤭𞥅 𞤅𞤭𞤪𞤭-𞤂𞤢𞤲𞤳𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'LKR', + '𞤈𞤵𞥅𞤨𞤭𞥅 𞤅𞤭𞤪𞤭-𞤂𞤢𞤲𞤳𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'LRD' => [ - 0 => 'LRD', - 1 => '𞤁𞤢𞤤𞤢 𞤂𞤭𞤦𞤫𞤪𞤭𞤴𞤢𞤲𞤳𞤮', + 'LRD', + '𞤁𞤢𞤤𞤢 𞤂𞤭𞤦𞤫𞤪𞤭𞤴𞤢𞤲𞤳𞤮', ], 'LYD' => [ - 0 => 'LYD', - 1 => '𞤁𞤭𞤲𞤢𞥄𞤪 𞤂𞤭𞤦𞤭𞤴𞤢𞤲𞤳𞤮', + 'LYD', + '𞤁𞤭𞤲𞤢𞥄𞤪 𞤂𞤭𞤦𞤭𞤴𞤢𞤲𞤳𞤮', ], 'MAD' => [ - 0 => 'MAD', - 1 => '𞤁𞤭𞤪𞤸𞤢𞤥𞤵 𞤃𞤮𞤪𞤮𞤳𞤢𞤲𞤳𞤮', + 'MAD', + '𞤁𞤭𞤪𞤸𞤢𞤥𞤵 𞤃𞤮𞤪𞤮𞤳𞤢𞤲𞤳𞤮', ], 'MDL' => [ - 0 => 'MDL', - 1 => '𞤂𞤭𞥅𞤱𞤮 𞤃𞤮𞤤𞤣𞤮𞤾𞤢𞤲𞤳𞤮', + 'MDL', + '𞤂𞤭𞥅𞤱𞤮 𞤃𞤮𞤤𞤣𞤮𞤾𞤢𞤲𞤳𞤮', ], 'MGA' => [ - 0 => 'MGA', - 1 => '𞤀𞤪𞤭𞤴𞤢𞤪𞤭 𞤃𞤢𞤤𞤺𞤢𞤲𞤭𞤲𞤳𞤮', + 'MGA', + '𞤀𞤪𞤭𞤴𞤢𞤪𞤭 𞤃𞤢𞤤𞤺𞤢𞤲𞤭𞤲𞤳𞤮', ], 'MKD' => [ - 0 => 'MKD', - 1 => '𞤁𞤭𞤲𞤢𞥄𞤪 𞤃𞤢𞤧𞤫𞤣𞤮𞤲𞤭𞤲𞤳𞤮', + 'MKD', + '𞤁𞤭𞤲𞤢𞥄𞤪 𞤃𞤢𞤧𞤫𞤣𞤮𞤲𞤭𞤲𞤳𞤮', ], 'MMK' => [ - 0 => 'MMK', - 1 => '𞤑𞤭𞤴𞤢𞤼𞤵 𞤃𞤭𞤴𞤢𞤥𞤢𞤪𞤭𞤲𞤳𞤮', + 'MMK', + '𞤑𞤭𞤴𞤢𞤼𞤵 𞤃𞤭𞤴𞤢𞤥𞤢𞤪𞤭𞤲𞤳𞤮', ], 'MNT' => [ - 0 => 'MNT', - 1 => '𞤚𞤵𞤺𞤵𞤪𞤭𞤳𞤵 𞤃𞤮𞤲𞤺𞤮𞤤𞤭𞤴𞤢𞤲𞤳𞤮', + 'MNT', + '𞤚𞤵𞤺𞤵𞤪𞤭𞤳𞤵 𞤃𞤮𞤲𞤺𞤮𞤤𞤭𞤴𞤢𞤲𞤳𞤮', ], 'MOP' => [ - 0 => 'MOP', - 1 => '𞤆𞤢𞤼𞤢𞤳𞤢 𞤃𞤢𞤳𞤢𞤱𞤮𞤴𞤢𞤲𞤳𞤮', + 'MOP', + '𞤆𞤢𞤼𞤢𞤳𞤢 𞤃𞤢𞤳𞤢𞤱𞤮𞤴𞤢𞤲𞤳𞤮', ], 'MRO' => [ - 0 => 'MRO', - 1 => '𞤓𞤺𞤭𞤴𞤢 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥗𞥓 - 𞥒𞥐𞥑𞥗)', + 'MRO', + '𞤓𞤺𞤭𞤴𞤢 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥗𞥓 - 𞥒𞥐𞥑𞥗)', ], 'MRU' => [ - 0 => 'MRU', - 1 => '𞤓𞤺𞤭𞤴𞤢 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'MRU', + '𞤓𞤺𞤭𞤴𞤢 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'MUR' => [ - 0 => 'MUR', - 1 => '𞤈𞤵𞤨𞤭𞥅 𞤃𞤮𞤪𞤭𞤧𞤭𞤴𞤢𞤲𞤳𞤮', + 'MUR', + '𞤈𞤵𞤨𞤭𞥅 𞤃𞤮𞤪𞤭𞤧𞤭𞤴𞤢𞤲𞤳𞤮', ], 'MVP' => [ - 0 => 'MVP', - 1 => '𞤈𞤵𞥅𞤨𞤭𞥅 𞤃𞤢𞤤𞤣𞤭𞥅𞤬 (𞥑𞥙𞥔𞥗-𞥑𞥙𞥘𞥑)', + 'MVP', + '𞤈𞤵𞥅𞤨𞤭𞥅 𞤃𞤢𞤤𞤣𞤭𞥅𞤬 (𞥑𞥙𞥔𞥗-𞥑𞥙𞥘𞥑)', ], 'MVR' => [ - 0 => 'MVR', - 1 => '𞤈𞤵𞤬𞤭𞤴𞤢𞥄 𞤃𞤢𞤤𞤣𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮', + 'MVR', + '𞤈𞤵𞤬𞤭𞤴𞤢𞥄 𞤃𞤢𞤤𞤣𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮', ], 'MWK' => [ - 0 => 'MWK', - 1 => '𞤑𞤢𞤱𞤢𞤷𞤢 𞤃𞤢𞤤𞤢𞤱𞤭𞤲𞤳𞤮', + 'MWK', + '𞤑𞤢𞤱𞤢𞤷𞤢 𞤃𞤢𞤤𞤢𞤱𞤭𞤲𞤳𞤮', ], 'MXN' => [ - 0 => 'MX$', - 1 => '𞤆𞤫𞥅𞤧𞤮𞥅 𞤃𞤫𞤳𞤧𞤭𞤳𞤮𞤴𞤢𞤲𞤳𞤮', + 'MX$', + '𞤆𞤫𞥅𞤧𞤮𞥅 𞤃𞤫𞤳𞤧𞤭𞤳𞤮𞤴𞤢𞤲𞤳𞤮', ], 'MXP' => [ - 0 => 'MXP', - 1 => '𞤑𞤢𞥄𞤤𞤭𞤧𞤫 𞤆𞤫𞥅𞤧𞤮𞥅 𞤃𞤫𞤳𞤧𞤭𞤳𞤮𞤴𞤢𞤲𞤳𞤮 (𞥑𞥘𞥖𞥑-𞥑𞥙𞥙𞥒)', + 'MXP', + '𞤑𞤢𞥄𞤤𞤭𞤧𞤫 𞤆𞤫𞥅𞤧𞤮𞥅 𞤃𞤫𞤳𞤧𞤭𞤳𞤮𞤴𞤢𞤲𞤳𞤮 (𞥑𞥘𞥖𞥑-𞥑𞥙𞥙𞥒)', ], 'MXV' => [ - 0 => 'MXV', - 1 => '𞤅𞤢𞤤𞤲𞤣𞤵 𞤊𞤭𞤤𞤮 𞤃𞤫𞤳𞤧𞤭𞤳𞤮𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤵', + 'MXV', + '𞤅𞤢𞤤𞤲𞤣𞤵 𞤊𞤭𞤤𞤮 𞤃𞤫𞤳𞤧𞤭𞤳𞤮𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤵', ], 'MYR' => [ - 0 => 'MYR', - 1 => '𞤈𞤭𞤲𞤺𞤵𞤼𞤵 𞤃𞤢𞤤𞤫𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮', + 'MYR', + '𞤈𞤭𞤲𞤺𞤵𞤼𞤵 𞤃𞤢𞤤𞤫𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮', ], 'MZN' => [ - 0 => 'MZN', - 1 => '𞤃𞤫𞤼𞤭𞤳𞤮𞤤 𞤃𞤮𞥁𞤢𞤥𞤦𞤭𞤲𞤳𞤮', + 'MZN', + '𞤃𞤫𞤼𞤭𞤳𞤮𞤤 𞤃𞤮𞥁𞤢𞤥𞤦𞤭𞤲𞤳𞤮', ], 'NAD' => [ - 0 => 'NAD', - 1 => '𞤁𞤢𞤤𞤢 𞤐𞤢𞤥𞤭𞤥𞤦𞤭𞤲𞤳𞤮', + 'NAD', + '𞤁𞤢𞤤𞤢 𞤐𞤢𞤥𞤭𞤥𞤦𞤭𞤲𞤳𞤮', ], 'NGN' => [ - 0 => '𞤐𞤐𞤘', - 1 => '𞤐𞤢𞤴𞤪𞤢 𞤐𞤢𞤶𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮', + '𞤐𞤐𞤘', + '𞤐𞤢𞤴𞤪𞤢 𞤐𞤢𞤶𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮', ], 'NIC' => [ - 0 => 'NIC', - 1 => '𞤑𞤮𞥅𞤪𞤣𞤮𞤦𞤢 𞤐𞤭𞤳𞤢𞤪𞤢𞤺𞤵𞤱𞤢𞤲𞤳𞤮 (𞥑𞥙𞥘𞥘-𞥑𞥙𞥙𞥑)', + 'NIC', + '𞤑𞤮𞥅𞤪𞤣𞤮𞤦𞤢 𞤐𞤭𞤳𞤢𞤪𞤢𞤺𞤵𞤱𞤢𞤲𞤳𞤮 (𞥑𞥙𞥘𞥘-𞥑𞥙𞥙𞥑)', ], 'NIO' => [ - 0 => 'NIO', - 1 => '𞤑𞤮𞥅𞤪𞤣𞤮𞤦𞤢 𞤐𞤭𞤳𞤢𞤪𞤢𞤺𞤵𞤱𞤢𞤲𞤳𞤮', + 'NIO', + '𞤑𞤮𞥅𞤪𞤣𞤮𞤦𞤢 𞤐𞤭𞤳𞤢𞤪𞤢𞤺𞤵𞤱𞤢𞤲𞤳𞤮', ], 'NOK' => [ - 0 => 'NOK', - 1 => '𞤑𞤪𞤮𞤲𞤫 𞤐𞤮𞤪𞤱𞤫𞤶𞤭𞤲𞤳𞤮', + 'NOK', + '𞤑𞤪𞤮𞤲𞤫 𞤐𞤮𞤪𞤱𞤫𞤶𞤭𞤲𞤳𞤮', ], 'NPR' => [ - 0 => 'NPR', - 1 => '𞤈𞤵𞥅𞤨𞤭𞥅 𞤐𞤫𞤨𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮', + 'NPR', + '𞤈𞤵𞥅𞤨𞤭𞥅 𞤐𞤫𞤨𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮', ], 'NZD' => [ - 0 => 'NZ$', - 1 => '𞤁𞤢𞤤𞤢 𞤐𞤫𞤱 𞤟𞤫𞤤𞤢𞤲𞤣', + 'NZ$', + '𞤁𞤢𞤤𞤢 𞤐𞤫𞤱 𞤟𞤫𞤤𞤢𞤲𞤣', ], 'OMR' => [ - 0 => 'OMR', - 1 => '𞤈𞤭𞤴𞤢𞥄𞤤 𞤌𞤥𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'OMR', + '𞤈𞤭𞤴𞤢𞥄𞤤 𞤌𞤥𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'PAB' => [ - 0 => 'PAB', - 1 => '𞤄𞤢𞤤𞤦𞤮𞤱𞤢 𞤆𞤢𞤲𞤢𞤥𞤢𞤴𞤢𞤲𞤳𞤮', + 'PAB', + '𞤄𞤢𞤤𞤦𞤮𞤱𞤢 𞤆𞤢𞤲𞤢𞤥𞤢𞤴𞤢𞤲𞤳𞤮', ], 'PEI' => [ - 0 => 'PEI', - 1 => '𞤋𞤲𞤼𞤭 𞤨𞤫𞤪𞤵𞤴𞤢𞤲𞤳𞤮', + 'PEI', + '𞤋𞤲𞤼𞤭 𞤨𞤫𞤪𞤵𞤴𞤢𞤲𞤳𞤮', ], 'PEN' => [ - 0 => 'PEN', - 1 => '𞤅𞤮𞤤 𞤆𞤫𞤪𞤵𞤲𞤳𞤮', + 'PEN', + '𞤅𞤮𞤤 𞤆𞤫𞤪𞤵𞤲𞤳𞤮', ], 'PES' => [ - 0 => 'PES', - 1 => '𞤅𞤮𞤤 𞤆𞤫𞤪𞤵𞤴𞤢𞤲𞤳𞤮 (𞥑𞥘𞥖𞥓-𞥑𞥙𞥖𞥕)', + 'PES', + '𞤅𞤮𞤤 𞤆𞤫𞤪𞤵𞤴𞤢𞤲𞤳𞤮 (𞥑𞥘𞥖𞥓-𞥑𞥙𞥖𞥕)', ], 'PGK' => [ - 0 => '𞤑𞤆𞤘', - 1 => '𞤑𞤭𞤲𞤢 𞤆𞤢𞤨𞤵𞤱𞤢 𞤐𞤫𞤱-𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + '𞤑𞤆𞤘', + '𞤑𞤭𞤲𞤢 𞤆𞤢𞤨𞤵𞤱𞤢 𞤐𞤫𞤱-𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], 'PHP' => [ - 0 => '𞤆𞤆𞤖', - 1 => '𞤆𞤭𞤧𞤮 𞤊𞤭𞤤𞤭𞤨𞥆𞤭𞤲𞤳𞤮', + '𞤆𞤆𞤖', + '𞤆𞤭𞤧𞤮 𞤊𞤭𞤤𞤭𞤨𞥆𞤭𞤲𞤳𞤮', ], 'PKR' => [ - 0 => 'PKR', - 1 => '𞤈𞤵𞥅𞤨𞤭𞥅 𞤆𞤢𞤳𞤭𞤧𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'PKR', + '𞤈𞤵𞥅𞤨𞤭𞥅 𞤆𞤢𞤳𞤭𞤧𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], 'PLN' => [ - 0 => 'PLN', - 1 => '𞤔𞤢𞤤𞤮𞤼𞤵 𞤆𞤮𞤤𞤭𞥅𞤧𞤭𞤲𞤳𞤮', + 'PLN', + '𞤔𞤢𞤤𞤮𞤼𞤵 𞤆𞤮𞤤𞤭𞥅𞤧𞤭𞤲𞤳𞤮', ], 'PYG' => [ - 0 => 'PYG', - 1 => '𞤘𞤵𞤱𞤢𞤪𞤢𞤲𞤭 𞤆𞤢𞥄𞤪𞤢𞤺𞤵𞤴𞤫𞤲𞤳𞤮', + 'PYG', + '𞤘𞤵𞤱𞤢𞤪𞤢𞤲𞤭 𞤆𞤢𞥄𞤪𞤢𞤺𞤵𞤴𞤫𞤲𞤳𞤮', ], 'QAR' => [ - 0 => 'QAR', - 1 => '𞤈𞤭𞤴𞤢𞥄𞤤 𞤗𞤢𞤼𞤢𞤪𞤭𞤴𞤢𞤲𞤳𞤮', + 'QAR', + '𞤈𞤭𞤴𞤢𞥄𞤤 𞤗𞤢𞤼𞤢𞤪𞤭𞤴𞤢𞤲𞤳𞤮', ], 'RON' => [ - 0 => 'RON', - 1 => '𞤂𞤫𞤱𞤵 𞤈𞤮𞤥𞤢𞤲𞤭𞤲𞤳𞤮', + 'RON', + '𞤂𞤫𞤱𞤵 𞤈𞤮𞤥𞤢𞤲𞤭𞤲𞤳𞤮', ], 'RSD' => [ - 0 => 'RSD', - 1 => '𞤁𞤭𞤲𞤢𞥄𞤪 𞤅𞤫𞤪𞤦𞤭𞤲𞤳𞤮', + 'RSD', + '𞤁𞤭𞤲𞤢𞥄𞤪 𞤅𞤫𞤪𞤦𞤭𞤲𞤳𞤮', ], 'RUB' => [ - 0 => 'RUB', - 1 => '𞤈𞤵𞥅𞤦𞤮𞤤 𞤈𞤭𞥅𞤧𞤭𞤲𞤳𞤮', + 'RUB', + '𞤈𞤵𞥅𞤦𞤮𞤤 𞤈𞤭𞥅𞤧𞤭𞤲𞤳𞤮', ], 'RWF' => [ - 0 => 'RWF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤈𞤵𞤱𞤢𞤲𞤣𞤢𞤲𞤳𞤮', + 'RWF', + '𞤊𞤢𞤪𞤢𞤲 𞤈𞤵𞤱𞤢𞤲𞤣𞤢𞤲𞤳𞤮', ], 'SAR' => [ - 0 => 'SAR', - 1 => '𞤈𞤭𞤴𞤢𞤤 𞤅𞤢𞤵𞥅𞤣𞤭𞤴𞤢𞤲𞤳𞤮', + 'SAR', + '𞤈𞤭𞤴𞤢𞤤 𞤅𞤢𞤵𞥅𞤣𞤭𞤴𞤢𞤲𞤳𞤮', ], 'SBD' => [ - 0 => 'SBD', - 1 => '𞤁𞤢𞤤𞤢 𞤕𞤵𞤪𞤭𞥅𞤶𞤫 𞤅𞤵𞤤𞤢𞤴𞤥𞤢𞥄𞤲', + 'SBD', + '𞤁𞤢𞤤𞤢 𞤕𞤵𞤪𞤭𞥅𞤶𞤫 𞤅𞤵𞤤𞤢𞤴𞤥𞤢𞥄𞤲', ], 'SCR' => [ - 0 => 'SCR', - 1 => '𞤈𞤵𞤨𞤭𞥅 𞤅𞤫𞤴𞤧𞤭𞤤𞤭𞤲𞤳𞤮', + 'SCR', + '𞤈𞤵𞤨𞤭𞥅 𞤅𞤫𞤴𞤧𞤭𞤤𞤭𞤲𞤳𞤮', ], 'SDG' => [ - 0 => 'SDG', - 1 => '𞤆𞤢𞤱𞤲𞤣𞤵 𞤅𞤵𞤣𞤢𞤲𞤳𞤮', + 'SDG', + '𞤆𞤢𞤱𞤲𞤣𞤵 𞤅𞤵𞤣𞤢𞤲𞤳𞤮', ], 'SEK' => [ - 0 => 'SEK', - 1 => '𞤑𞤪𞤮𞤲𞤢 𞤅𞤵𞤱𞤫𞤣𞤭𞤲𞤳𞤮', + 'SEK', + '𞤑𞤪𞤮𞤲𞤢 𞤅𞤵𞤱𞤫𞤣𞤭𞤲𞤳𞤮', ], 'SGD' => [ - 0 => 'SGD', - 1 => '𞤁𞤢𞤤𞤢 𞤅𞤭𞤲𞤺𞤢𞤨𞤮𞤪𞤫𞤲𞤳𞤮', + 'SGD', + '𞤁𞤢𞤤𞤢 𞤅𞤭𞤲𞤺𞤢𞤨𞤮𞤪𞤫𞤲𞤳𞤮', ], 'SHP' => [ - 0 => 'SHP', - 1 => '𞤆𞤢𞤱𞤲𞤣𞤵 𞤅𞤫𞤲-𞤖𞤫𞤤𞤫𞤲𞤢', + 'SHP', + '𞤆𞤢𞤱𞤲𞤣𞤵 𞤅𞤫𞤲-𞤖𞤫𞤤𞤫𞤲𞤢', + ], + 'SLE' => [ + 'SLE', + '𞤂𞤫𞤴𞤮𞤲 𞤅𞤫𞤪𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮', ], 'SLL' => [ - 0 => 'SLL', - 1 => '𞤂𞤫𞤴𞤮𞤲 𞤅𞤫𞤪𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮', + 'SLL', + '𞤂𞤫𞤴𞤮𞤲 𞤅𞤫𞤪𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮 - 1964-2022', ], 'SOS' => [ - 0 => 'SOS', - 1 => '𞤅𞤭𞤤𞤭𞤲 𞤅𞤮𞤥𞤢𞤤𞤭𞤲𞤳𞤮', + 'SOS', + '𞤅𞤭𞤤𞤭𞤲 𞤅𞤮𞤥𞤢𞤤𞤭𞤲𞤳𞤮', ], 'SRD' => [ - 0 => 'SRD', - 1 => '𞤁𞤢𞤤𞤢 𞤅𞤵𞤪𞤵𞤲𞤢𞤥𞤭𞤲𞤳𞤮', + 'SRD', + '𞤁𞤢𞤤𞤢 𞤅𞤵𞤪𞤵𞤲𞤢𞤥𞤭𞤲𞤳𞤮', ], 'SRG' => [ - 0 => 'SRG', - 1 => '𞤘𞤭𞤤𞤣𞤮𞥅 𞤅𞤵𞤪𞤵𞤲𞤢𞤥𞤭𞤲𞤳𞤮', + 'SRG', + '𞤘𞤭𞤤𞤣𞤮𞥅 𞤅𞤵𞤪𞤵𞤲𞤢𞤥𞤭𞤲𞤳𞤮', ], 'SSP' => [ - 0 => 'SSP', - 1 => '𞤆𞤢𞤱𞤲𞤣𞤵 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤅𞤵𞤣𞤢𞤲𞤭𞤲𞤳𞤮', + 'SSP', + '𞤆𞤢𞤱𞤲𞤣𞤵 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤅𞤵𞤣𞤢𞤲𞤭𞤲𞤳𞤮', ], 'STN' => [ - 0 => 'STN', - 1 => '𞤁𞤮𞤦𞤢𞤪𞤢 𞤅𞤢𞤱𞤮-𞤚𞤮𞤥𞤫 & 𞤆𞤫𞤪𞤫𞤲𞤧𞤭𞤨', + 'STN', + '𞤁𞤮𞤦𞤢𞤪𞤢 𞤅𞤢𞤱𞤮-𞤚𞤮𞤥𞤫 & 𞤆𞤫𞤪𞤫𞤲𞤧𞤭𞤨', ], 'SVC' => [ - 0 => 'SVC', - 1 => '𞤑𞤮𞤤𞤮𞥅𞤲 𞤅𞤢𞤤𞤾𞤢𞤣𞤮𞤪𞤢𞤲𞤳𞤮', + 'SVC', + '𞤑𞤮𞤤𞤮𞥅𞤲 𞤅𞤢𞤤𞤾𞤢𞤣𞤮𞤪𞤢𞤲𞤳𞤮', ], 'SYP' => [ - 0 => 'SYP', - 1 => '𞤆𞤢𞤱𞤲𞥋𞤣𞤵 𞤅𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮', + 'SYP', + '𞤆𞤢𞤱𞤲𞥋𞤣𞤵 𞤅𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮', ], 'SZL' => [ - 0 => 'SZL', - 1 => '𞤂𞤭𞤤𞤢𞤲𞤺𞤫𞤲𞤭 𞤅𞤵𞤱𞤢𞤶𞤭', + 'SZL', + '𞤂𞤭𞤤𞤢𞤲𞤺𞤫𞤲𞤭 𞤅𞤵𞤱𞤢𞤶𞤭', ], 'THB' => [ - 0 => 'THB', - 1 => '𞤄𞤢𞤸𞤼𞤵 𞤚𞤢𞤴𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮', + 'THB', + '𞤄𞤢𞤸𞤼𞤵 𞤚𞤢𞤴𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮', ], 'TJS' => [ - 0 => 'TJS', - 1 => '𞤅𞤢𞤥𞤮𞥅𞤲𞤭 𞤚𞤢𞤶𞤭𞤳𞤭𞤧𞤼𞤢𞤲𞤳𞤮', + 'TJS', + '𞤅𞤢𞤥𞤮𞥅𞤲𞤭 𞤚𞤢𞤶𞤭𞤳𞤭𞤧𞤼𞤢𞤲𞤳𞤮', ], 'TMT' => [ - 0 => 'TMT', - 1 => '𞤃𞤢𞤲𞤢𞤼𞤵 𞤚𞤵𞤪𞤳𞤵𞤥𞤫𞤲𞤭𞤧𞤼𞤢𞤲𞤳𞤮', + 'TMT', + '𞤃𞤢𞤲𞤢𞤼𞤵 𞤚𞤵𞤪𞤳𞤵𞤥𞤫𞤲𞤭𞤧𞤼𞤢𞤲𞤳𞤮', ], 'TND' => [ - 0 => 'TND', - 1 => '𞤁𞤭𞤲𞤢𞥄𞤪 𞤚𞤵𞥅𞤲𞤭𞤧𞤭𞤲𞤳𞤮', + 'TND', + '𞤁𞤭𞤲𞤢𞥄𞤪 𞤚𞤵𞥅𞤲𞤭𞤧𞤭𞤲𞤳𞤮', ], 'TOP' => [ - 0 => 'TOP', - 1 => '𞤆𞤢𞤢𞤲𞤺𞤢 𞤚𞤮𞤲𞤺𞤢𞤲𞤳𞤮', + 'TOP', + '𞤆𞤢𞤢𞤲𞤺𞤢 𞤚𞤮𞤲𞤺𞤢𞤲𞤳𞤮', ], 'TRY' => [ - 0 => 'TRY', - 1 => '𞤂𞤭𞤪𞤢 𞤚𞤵𞤪𞤳𞤭𞤴𞤢𞤲𞤳𞤮', + 'TRY', + '𞤂𞤭𞤪𞤢 𞤚𞤵𞤪𞤳𞤭𞤴𞤢𞤲𞤳𞤮', ], 'TTD' => [ - 0 => 'TTD', - 1 => '𞤁𞤢𞤤𞤢 𞤚𞤭𞤪𞤲𞤭𞤣𞤢𞥄𞤣 & 𞤚𞤮𞤦𞤢𞤺𞤮', + 'TTD', + '𞤁𞤢𞤤𞤢 𞤚𞤭𞤪𞤲𞤭𞤣𞤢𞥄𞤣 & 𞤚𞤮𞤦𞤢𞤺𞤮', ], 'TWD' => [ - 0 => 'NT$', - 1 => '𞤁𞤢𞤤𞤢 𞤚𞤢𞤴𞤱𞤢𞥄𞤲𞤳𞤮', + 'NT$', + '𞤁𞤢𞤤𞤢 𞤚𞤢𞤴𞤱𞤢𞥄𞤲𞤳𞤮', ], 'TZS' => [ - 0 => 'TZS', - 1 => '𞤅𞤭𞤤𞤭𞤲 𞤚𞤢𞤲𞥁𞤢𞤲𞤭𞤲𞤳𞤮', + 'TZS', + '𞤅𞤭𞤤𞤭𞤲 𞤚𞤢𞤲𞥁𞤢𞤲𞤭𞤲𞤳𞤮', ], 'UAH' => [ - 0 => 'UAH', - 1 => '𞤖𞤵𞤪𞤢𞤾𞤫𞤲𞤭𞤴𞤢 𞤒𞤵𞤳𞤫𞤪𞤫𞥅𞤲𞤭𞤲𞤳𞤮', + 'UAH', + '𞤖𞤵𞤪𞤢𞤾𞤫𞤲𞤭𞤴𞤢 𞤒𞤵𞤳𞤫𞤪𞤫𞥅𞤲𞤭𞤲𞤳𞤮', ], 'UGX' => [ - 0 => 'UGX', - 1 => '𞤅𞤭𞤤𞤭𞤲 𞤓𞤺𞤢𞤲𞤣𞤢𞤲𞤳𞤮', + 'UGX', + '𞤅𞤭𞤤𞤭𞤲 𞤓𞤺𞤢𞤲𞤣𞤢𞤲𞤳𞤮', ], 'USD' => [ - 0 => 'US$', - 1 => '𞤁𞤢𞤤𞤢 𞤁𞤫𞤲𞤼𞤢𞤤 𞤂𞤢𞤪𞤫 𞤀𞤥𞤫𞤪𞤭𞤳', + 'US$', + '𞤁𞤢𞤤𞤢 𞤁𞤫𞤲𞤼𞤢𞤤 𞤂𞤢𞤪𞤫 𞤀𞤥𞤫𞤪𞤭𞤳', ], 'USN' => [ - 0 => 'USN', - 1 => '𞤣𞤢𞤤𞤢 𞤁𞤂𞤀 (𞤶𞤢𞤲𞤺𞤮 𞤥𞤵𞥅𞤯𞤵𞤲)', + 'USN', + '𞤣𞤢𞤤𞤢 𞤁𞤂𞤀 (𞤶𞤢𞤲𞤺𞤮 𞤥𞤵𞥅𞤯𞤵𞤲)', ], 'USS' => [ - 0 => 'USS', - 1 => '𞤣𞤢𞤤𞤢 𞤁𞤂𞤀 (𞤸𞤢𞤲𞤣𞤫 𞤥𞤵𞥅𞤯𞤵𞤲)', + 'USS', + '𞤣𞤢𞤤𞤢 𞤁𞤂𞤀 (𞤸𞤢𞤲𞤣𞤫 𞤥𞤵𞥅𞤯𞤵𞤲)', ], 'UYI' => [ - 0 => 'UYI', - 1 => '𞤆𞤫𞥅𞤧𞤮𞥅 𞤒𞤵𞤪𞤺𞤮𞤴𞤢𞤲𞤳𞤮 (𞤕𞤢𞤤𞤯𞤭 𞤔𞤮𞥅𞤨𞤢𞥄𞤯𞤭)', + 'UYI', + '𞤆𞤫𞥅𞤧𞤮𞥅 𞤒𞤵𞤪𞤺𞤮𞤴𞤢𞤲𞤳𞤮 (𞤕𞤢𞤤𞤯𞤭 𞤔𞤮𞥅𞤨𞤢𞥄𞤯𞤭)', ], 'UYP' => [ - 0 => 'UYP', - 1 => '𞤆𞤫𞥅𞤧𞤮𞥅 𞤒𞤵𞤪𞤺𞤮𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥗𞥕-𞥑𞥙𞥙𞥓)', + 'UYP', + '𞤆𞤫𞥅𞤧𞤮𞥅 𞤒𞤵𞤪𞤺𞤮𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥗𞥕-𞥑𞥙𞥙𞥓)', ], 'UYU' => [ - 0 => 'UYU', - 1 => '𞤆𞤫𞥅𞤧𞤮𞥅 𞤒𞤵𞤪𞤺𞤮𞤴𞤢𞤲𞤳𞤮', + 'UYU', + '𞤆𞤫𞥅𞤧𞤮𞥅 𞤒𞤵𞤪𞤺𞤮𞤴𞤢𞤲𞤳𞤮', ], 'UYW' => [ - 0 => 'UYW', - 1 => '𞤅𞤢𞤤𞤲𞤣𞤵 𞤐𞤶𞤮𞤩𞤣𞤭 𞤒𞤵𞤪𞤺𞤮𞤴𞤢𞤲𞤳𞤮 𞤔𞤮𞥅𞤨𞤢𞥄𞤲𞤣𞤭', + 'UYW', + '𞤅𞤢𞤤𞤲𞤣𞤵 𞤐𞤶𞤮𞤩𞤣𞤭 𞤒𞤵𞤪𞤺𞤮𞤴𞤢𞤲𞤳𞤮 𞤔𞤮𞥅𞤨𞤢𞥄𞤲𞤣𞤭', ], 'UZS' => [ - 0 => 'UZS', - 1 => '𞤅𞤮𞤥𞤵 𞤓𞥁𞤦𞤫𞤳𞤭𞤧𞤼𞤢𞤲𞤳𞤮', + 'UZS', + '𞤅𞤮𞤥𞤵 𞤓𞥁𞤦𞤫𞤳𞤭𞤧𞤼𞤢𞤲𞤳𞤮', ], 'VEB' => [ - 0 => 'VEB', - 1 => '𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪 𞤜𞤫𞤲𞤭𞥅𞤧𞤫𞤤𞤢𞤲𞤳𞤮 (𞥑𞥘𞥗𞥑-𞥒𞥐𞥐𞥘)', + 'VEB', + '𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪 𞤜𞤫𞤲𞤭𞥅𞤧𞤫𞤤𞤢𞤲𞤳𞤮 (𞥑𞥘𞥗𞥑-𞥒𞥐𞥐𞥘)', ], 'VED' => [ - 0 => 'VED', - 1 => '𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪 𞤅𞤮𞤦𞤫𞥊𞤪𞤢𞤲𞤮', + 'VED', + '𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪 𞤅𞤮𞤦𞤫𞥊𞤪𞤢𞤲𞤮', ], 'VEF' => [ - 0 => 'VEF', - 1 => '𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪 𞤜𞤫𞤲𞤭𞥅𞤧𞤫𞤤𞤢𞤲𞤳𞤮 (𞥒𞥐𞥐𞥘 - 𞥒𞥐𞥑𞥘)', + 'VEF', + '𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪 𞤜𞤫𞤲𞤭𞥅𞤧𞤫𞤤𞤢𞤲𞤳𞤮 (𞥒𞥐𞥐𞥘 - 𞥒𞥐𞥑𞥘)', ], 'VES' => [ - 0 => 'VES', - 1 => '𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪 𞤜𞤫𞤲𞤭𞥅𞤧𞤫𞤤𞤢𞤲𞤳𞤮', + 'VES', + '𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪 𞤜𞤫𞤲𞤭𞥅𞤧𞤫𞤤𞤢𞤲𞤳𞤮', ], 'VND' => [ - 0 => '₫', - 1 => '𞤁𞤮𞤲𞤺𞤵 𞤜𞤭𞤴𞤫𞤼𞤭𞤲𞤢𞤴𞤢𞤲𞤳𞤮', + '₫', + '𞤁𞤮𞤲𞤺𞤵 𞤜𞤭𞤴𞤫𞤼𞤭𞤲𞤢𞤴𞤢𞤲𞤳𞤮', ], 'VUV' => [ - 0 => 'VUV', - 1 => '𞤜𞤢𞤼𞤵 𞤜𞤢𞤲𞤵𞤴𞤢𞤲𞤳𞤮', + 'VUV', + '𞤜𞤢𞤼𞤵 𞤜𞤢𞤲𞤵𞤴𞤢𞤲𞤳𞤮', ], 'WST' => [ - 0 => 'WST', - 1 => '𞤚𞤢𞤤𞤢 𞤅𞤢𞤥𞤮𞤱𞤢𞤴𞤢𞤲𞤳𞤮', + 'WST', + '𞤚𞤢𞤤𞤢 𞤅𞤢𞤥𞤮𞤱𞤢𞤴𞤢𞤲𞤳𞤮', ], 'XAF' => [ - 0 => '𞤊𞤅𞤊𞤀', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤚𞤵𞤦𞤮𞥅𞤪𞤭 𞤀𞤬𞤪𞤭𞤳𞤭𞤲𞤳𞤮', + '𞤊𞤅𞤊𞤀', + '𞤊𞤢𞤪𞤢𞤲 𞤚𞤵𞤦𞤮𞥅𞤪𞤭 𞤀𞤬𞤪𞤭𞤳𞤭𞤲𞤳𞤮', ], 'XCD' => [ - 0 => 'EC$', - 1 => '𞤁𞤢𞤤𞤢 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤑𞤢𞤪𞤭𞤦𞤭𞤴𞤢', + 'EC$', + '𞤁𞤢𞤤𞤢 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤑𞤢𞤪𞤭𞤦𞤭𞤴𞤢', ], 'XOF' => [ - 0 => '𞤅𞤊𞤀', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤅𞤊𞤀 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞤺𞤫 𞤀𞤬𞤪𞤭𞤳𞤢', + '𞤅𞤊𞤀', + '𞤊𞤢𞤪𞤢𞤲 𞤅𞤊𞤀 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞤺𞤫 𞤀𞤬𞤪𞤭𞤳𞤢', ], 'XPF' => [ - 0 => 'CFPF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤅𞤊𞤆', + 'CFPF', + '𞤊𞤢𞤪𞤢𞤲 𞤅𞤊𞤆', ], 'YER' => [ - 0 => 'YER', - 1 => '𞤈𞤭𞤴𞤢𞥄𞤤 𞤒𞤫𞤥𞤫𞤲𞤭𞤲𞤳𞤮', + 'YER', + '𞤈𞤭𞤴𞤢𞥄𞤤 𞤒𞤫𞤥𞤫𞤲𞤭𞤲𞤳𞤮', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => '𞤈𞤢𞤲𞤣𞤭 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤀𞤬𞤪𞤭𞤳𞤢𞤲𞤳𞤮', + 'ZAR', + '𞤈𞤢𞤲𞤣𞤭 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤀𞤬𞤪𞤭𞤳𞤢𞤲𞤳𞤮', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => '𞤑𞤢𞤱𞤢𞤧𞤢 𞤟𞤢𞤥𞤦𞤭𞤲𞤳𞤮', + 'ZMW', + '𞤑𞤢𞤱𞤢𞤧𞤢 𞤟𞤢𞤥𞤦𞤭𞤲𞤳𞤮', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_BF.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_BF.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_BF.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_BF.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GNF' => [ - 0 => 'GNF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + 'GNF', + '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_CM.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_CM.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_CM.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_CM.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GNF' => [ - 0 => 'GNF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + 'GNF', + '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GH.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GH.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GH.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GH.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'GHS' => [ - 0 => 'GH₵', - 1 => '𞤅𞤭𞤣𞤭 𞤘𞤢𞤲𞤢𞤲𞤳𞤮', + 'GH₵', + '𞤅𞤭𞤣𞤭 𞤘𞤢𞤲𞤢𞤲𞤳𞤮', ], 'GNF' => [ - 0 => 'GNF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + 'GNF', + '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GM.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GM.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GM.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GM.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'GMD' => [ - 0 => 'D', - 1 => '𞤁𞤢𞤤𞤢𞤧𞤭 𞤘𞤢𞤥𞤦𞤭𞤲𞤳𞤮', + 'D', + '𞤁𞤢𞤤𞤢𞤧𞤭 𞤘𞤢𞤥𞤦𞤭𞤲𞤳𞤮', ], 'GNF' => [ - 0 => 'GNF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + 'GNF', + '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GW.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GW.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GW.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_GW.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GNF' => [ - 0 => 'GNF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + 'GNF', + '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_LR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_LR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_LR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_LR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'GNF' => [ - 0 => 'GNF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + 'GNF', + '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], 'LRD' => [ - 0 => '$', - 1 => '𞤁𞤢𞤤𞤢 𞤂𞤭𞤦𞤫𞤪𞤭𞤴𞤢𞤲𞤳𞤮', + '$', + '𞤁𞤢𞤤𞤢 𞤂𞤭𞤦𞤫𞤪𞤭𞤴𞤢𞤲𞤳𞤮', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_MR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_MR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_MR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_MR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'GNF' => [ - 0 => 'GNF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + 'GNF', + '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], 'MRU' => [ - 0 => 'UM', - 1 => '𞤓𞤺𞤭𞤴𞤢 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', + 'UM', + '𞤓𞤺𞤭𞤴𞤢 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_NE.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_NE.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_NE.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_NE.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GNF' => [ - 0 => 'GNF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + 'GNF', + '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_NG.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_NG.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_NG.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_NG.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'GNF' => [ - 0 => 'GNF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + 'GNF', + '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], 'NGN' => [ - 0 => '₦', - 1 => '𞤐𞤢𞤴𞤪𞤢 𞤐𞤢𞤶𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮', + '₦', + '𞤐𞤢𞤴𞤪𞤢 𞤐𞤢𞤶𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_SL.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_SL.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_SL.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_SL.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'GNF' => [ - 0 => 'GNF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + 'GNF', + '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], 'SLE' => [ - 0 => 'Le', - 1 => 'SLE', + 'Le', + '𞤂𞤫𞤴𞤮𞤲 𞤅𞤫𞤪𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_SN.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_SN.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_SN.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Adlm_SN.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GNF' => [ - 0 => 'GNF', - 1 => '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', + 'GNF', + '𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_GN.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_GN.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_GN.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_GN.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GNF' => [ - 0 => 'FG', - 1 => 'GNF', + 'FG', + 'GNF', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GH.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GH.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GH.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GH.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GHS' => [ - 0 => 'GH₵', - 1 => 'GHS', + 'GH₵', + 'GHS', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GM.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GM.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GM.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GM.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GMD' => [ - 0 => 'D', - 1 => 'Dalasi Gammbi', + 'D', + 'Dalasi Gammbi', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GN.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GN.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GN.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GN.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GNF' => [ - 0 => 'FG', - 1 => 'GNF', + 'FG', + 'GNF', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_LR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_LR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_LR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_LR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'LRD' => [ - 0 => '$', - 1 => 'Dolaar Liberiyaa', + '$', + 'Dolaar Liberiyaa', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_MR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_MR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_MR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_MR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'MRU' => [ - 0 => 'UM', - 1 => 'Ugiyya Muritani', + 'UM', + 'Ugiyya Muritani', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_NG.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_NG.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_NG.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_NG.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'NGN' => [ - 0 => '₦', - 1 => 'Nayraa Nijeriyaa', + '₦', + 'Nayraa Nijeriyaa', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_SL.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_SL.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_SL.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_SL.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'SLE' => [ - 0 => 'Le', - 1 => 'SLE', + 'Le', + 'Lewoon Seraa Liyon', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_MR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_MR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_MR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ff_MR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'MRU' => [ - 0 => 'UM', - 1 => 'Ugiyya Muritani', + 'UM', + 'Ugiyya Muritani', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fi.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fi.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fi.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fi.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1168 +3,1168 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Andorran peseta', + 'ADP', + 'Andorran peseta', ], 'AED' => [ - 0 => 'AED', - 1 => 'Arabiemiirikuntien dirhami', + 'AED', + 'Arabiemiirikuntien dirhami', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Afganistanin afgaani (1927–2002)', + 'AFA', + 'Afganistanin afgaani (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afganistanin afgaani', + 'AFN', + 'Afganistanin afgaani', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'Albanian lek (1946–1965)', + 'ALK', + 'Albanian lek (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Albanian lek', + 'ALL', + 'Albanian lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Armenian dram', + 'AMD', + 'Armenian dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Alankomaiden Antillien guldeni', + 'ANG', + 'Alankomaiden Antillien guldeni', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Angolan kwanza', + 'AOA', + 'Angolan kwanza', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Angolan kwanza (1977–1991)', + 'AOK', + 'Angolan kwanza (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Angolan uusi kwanza (1990–2000)', + 'AON', + 'Angolan uusi kwanza (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Angolan kwanza reajustado (1995–1999)', + 'AOR', + 'Angolan kwanza reajustado (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Argentiinan austral', + 'ARA', + 'Argentiinan austral', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'Argentiinan ley-peso (1970–1983)', + 'ARL', + 'Argentiinan ley-peso (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'Argentiinan peso (1881–1970)', + 'ARM', + 'Argentiinan peso (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Argentiinan peso (1983–1985)', + 'ARP', + 'Argentiinan peso (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Argentiinan peso', + 'ARS', + 'Argentiinan peso', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Itävallan šillinki', + 'ATS', + 'Itävallan šillinki', ], 'AUD' => [ - 0 => 'AUD', - 1 => 'Australian dollari', + 'AUD', + 'Australian dollari', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Aruban floriini', + 'AWG', + 'Aruban floriini', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Azerbaidžanin manat (1993–2006)', + 'AZM', + 'Azerbaidžanin manat (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Azerbaidžanin manat', + 'AZN', + 'Azerbaidžanin manat', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Bosnia-Hertsegovinan dinaari (1992–1994)', + 'BAD', + 'Bosnia-Hertsegovinan dinaari (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Bosnia-Hertsegovinan vaihdettava markka', + 'BAM', + 'Bosnia-Hertsegovinan vaihdettava markka', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'Bosnia-Hertsegovinan uusi dinaari (1994–1997)', + 'BAN', + 'Bosnia-Hertsegovinan uusi dinaari (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Barbadosin dollari', + 'BBD', + 'Barbadosin dollari', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Bangladeshin taka', + 'BDT', + 'Bangladeshin taka', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Belgian vaihdettava frangi', + 'BEC', + 'Belgian vaihdettava frangi', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Belgian frangi', + 'BEF', + 'Belgian frangi', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Belgian rahoitusfrangi', + 'BEL', + 'Belgian rahoitusfrangi', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Bulgarian kova lev', + 'BGL', + 'Bulgarian kova lev', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'Bulgarian sosialistinen lev', + 'BGM', + 'Bulgarian sosialistinen lev', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Bulgarian lev', + 'BGN', + 'Bulgarian lev', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'Bulgarian lev (1879–1952)', + 'BGO', + 'Bulgarian lev (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Bahrainin dinaari', + 'BHD', + 'Bahrainin dinaari', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Burundin frangi', + 'BIF', + 'Burundin frangi', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermudan dollari', + 'BMD', + 'Bermudan dollari', ], 'BND' => [ - 0 => 'BND', - 1 => 'Brunein dollari', + 'BND', + 'Brunein dollari', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Bolivian boliviano', + 'BOB', + 'Bolivian boliviano', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'Bolivian boliviano (1863–1963)', + 'BOL', + 'Bolivian boliviano (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Bolivian peso', + 'BOP', + 'Bolivian peso', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Bolivian mvdol', + 'BOV', + 'Bolivian mvdol', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Brasilian uusi cruzeiro (1967–1986)', + 'BRB', + 'Brasilian uusi cruzeiro (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Brasilian cruzado (1986–1989)', + 'BRC', + 'Brasilian cruzado (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Brasilian cruzeiro (1990–1993)', + 'BRE', + 'Brasilian cruzeiro (1990–1993)', ], 'BRL' => [ - 0 => 'BRL', - 1 => 'Brasilian real', + 'BRL', + 'Brasilian real', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Brasilian uusi cruzado (1989–1990)', + 'BRN', + 'Brasilian uusi cruzado (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Brasilian cruzeiro (1993–1994)', + 'BRR', + 'Brasilian cruzeiro (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'Brasilian cruzeiro (1942–1967)', + 'BRZ', + 'Brasilian cruzeiro (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Bahaman dollari', + 'BSD', + 'Bahaman dollari', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Bhutanin ngultrum', + 'BTN', + 'Bhutanin ngultrum', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Burman kyat', + 'BUK', + 'Burman kyat', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Botswanan pula', + 'BWP', + 'Botswanan pula', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Valko-Venäjän uusi rupla (1994–1999)', + 'BYB', + 'Valko-Venäjän uusi rupla (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Valko-Venäjän rupla', + 'BYN', + 'Valko-Venäjän rupla', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Valko-Venäjän rupla (2000–2016)', + 'BYR', + 'Valko-Venäjän rupla (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Belizen dollari', + 'BZD', + 'Belizen dollari', ], 'CAD' => [ - 0 => 'CAD', - 1 => 'Kanadan dollari', + 'CAD', + 'Kanadan dollari', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Kongon frangi', + 'CDF', + 'Kongon frangi', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'Sveitsin WIR-euro', + 'CHE', + 'Sveitsin WIR-euro', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Sveitsin frangi', + 'CHF', + 'Sveitsin frangi', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'Sveitsin WIR-frangi', + 'CHW', + 'Sveitsin WIR-frangi', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'Chilen escudo', + 'CLE', + 'Chilen escudo', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Chilen unidades de fomento', + 'CLF', + 'Chilen unidades de fomento', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Chilen peso', + 'CLP', + 'Chilen peso', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Kiinan juan (offshore)', + 'CNH', + 'Kiinan juan (offshore)', ], 'CNX' => [ - 0 => 'CNX', - 1 => 'Kiinan kansanpankin dollari', + 'CNX', + 'Kiinan kansanpankin dollari', ], 'CNY' => [ - 0 => 'CNY', - 1 => 'Kiinan juan', + 'CNY', + 'Kiinan juan', ], 'COP' => [ - 0 => 'COP', - 1 => 'Kolumbian peso', + 'COP', + 'Kolumbian peso', ], 'COU' => [ - 0 => 'COU', - 1 => 'Kolumbian unidad de valor real', + 'COU', + 'Kolumbian unidad de valor real', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Costa Rican colón', + 'CRC', + 'Costa Rican colón', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Serbian dinaari (2002–2006)', + 'CSD', + 'Serbian dinaari (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Tšekkoslovakian kova koruna', + 'CSK', + 'Tšekkoslovakian kova koruna', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Kuuban vaihdettava peso', + 'CUC', + 'Kuuban vaihdettava peso', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Kuuban peso', + 'CUP', + 'Kuuban peso', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Kap Verden escudo', + 'CVE', + 'Kap Verden escudo', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Kyproksen punta', + 'CYP', + 'Kyproksen punta', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Tšekin koruna', + 'CZK', + 'Tšekin koruna', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Itä-Saksan markka', + 'DDM', + 'Itä-Saksan markka', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Saksan markka', + 'DEM', + 'Saksan markka', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Djiboutin frangi', + 'DJF', + 'Djiboutin frangi', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Tanskan kruunu', + 'DKK', + 'Tanskan kruunu', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Dominikaanisen tasavallan peso', + 'DOP', + 'Dominikaanisen tasavallan peso', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Algerian dinaari', + 'DZD', + 'Algerian dinaari', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Ecuadorin sucre', + 'ECS', + 'Ecuadorin sucre', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Ecuadorin UVC', + 'ECV', + 'Ecuadorin UVC', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Viron kruunu', + 'EEK', + 'Viron kruunu', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Egyptin punta', + 'EGP', + 'Egyptin punta', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Eritrean nakfa', + 'ERN', + 'Eritrean nakfa', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'Espanjan peseta (A-tili)', + 'ESA', + 'Espanjan peseta (A-tili)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'Espanjan peseta (vaihdettava tili)', + 'ESB', + 'Espanjan peseta (vaihdettava tili)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Espanjan peseta', + 'ESP', + 'Espanjan peseta', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Etiopian birr', + 'ETB', + 'Etiopian birr', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], 'FIM' => [ - 0 => 'mk', - 1 => 'Suomen markka', + 'mk', + 'Suomen markka', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Fidžin dollari', + 'FJD', + 'Fidžin dollari', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Falklandinsaarten punta', + 'FKP', + 'Falklandinsaarten punta', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Ranskan frangi', + 'FRF', + 'Ranskan frangi', ], 'GBP' => [ - 0 => '£', - 1 => 'Englannin punta', + '£', + 'Englannin punta', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Georgian kuponkilari', + 'GEK', + 'Georgian kuponkilari', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Georgian lari', + 'GEL', + 'Georgian lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Ghanan cedi (1979–2007)', + 'GHC', + 'Ghanan cedi (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Ghanan cedi', + 'GHS', + 'Ghanan cedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Gibraltarin punta', + 'GIP', + 'Gibraltarin punta', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Gambian dalasi', + 'GMD', + 'Gambian dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Guinean frangi', + 'GNF', + 'Guinean frangi', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Guinean syli', + 'GNS', + 'Guinean syli', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Päiväntasaajan Guinean ekwele', + 'GQE', + 'Päiväntasaajan Guinean ekwele', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Kreikan drakma', + 'GRD', + 'Kreikan drakma', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Guatemalan quetzal', + 'GTQ', + 'Guatemalan quetzal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Portugalin Guinean escudo', + 'GWE', + 'Portugalin Guinean escudo', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Guinea-Bissaun peso', + 'GWP', + 'Guinea-Bissaun peso', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Guyanan dollari', + 'GYD', + 'Guyanan dollari', ], 'HKD' => [ - 0 => 'HKD', - 1 => 'Hongkongin dollari', + 'HKD', + 'Hongkongin dollari', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Hondurasin lempira', + 'HNL', + 'Hondurasin lempira', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Kroatian dinaari', + 'HRD', + 'Kroatian dinaari', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Kroatian kuna', + 'HRK', + 'Kroatian kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Haitin gourde', + 'HTG', + 'Haitin gourde', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Unkarin forintti', + 'HUF', + 'Unkarin forintti', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Indonesian rupia', + 'IDR', + 'Indonesian rupia', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Irlannin punta', + 'IEP', + 'Irlannin punta', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Israelin punta', + 'ILP', + 'Israelin punta', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'Israelin sekeli (1980–1985)', + 'ILR', + 'Israelin sekeli (1980–1985)', ], 'ILS' => [ - 0 => 'ILS', - 1 => 'Israelin uusi sekeli', + 'ILS', + 'Israelin uusi sekeli', ], 'INR' => [ - 0 => 'INR', - 1 => 'Intian rupia', + 'INR', + 'Intian rupia', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Irakin dinaari', + 'IQD', + 'Irakin dinaari', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Iranin rial', + 'IRR', + 'Iranin rial', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'Islannin kruunu (1918–1981)', + 'ISJ', + 'Islannin kruunu (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Islannin kruunu', + 'ISK', + 'Islannin kruunu', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Italian liira', + 'ITL', + 'Italian liira', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Jamaikan dollari', + 'JMD', + 'Jamaikan dollari', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Jordanian dinaari', + 'JOD', + 'Jordanian dinaari', ], 'JPY' => [ - 0 => '¥', - 1 => 'Japanin jeni', + '¥', + 'Japanin jeni', ], 'KES' => [ - 0 => 'KES', - 1 => 'Kenian šillinki', + 'KES', + 'Kenian šillinki', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Kirgisian som', + 'KGS', + 'Kirgisian som', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Kambodžan riel', + 'KHR', + 'Kambodžan riel', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Komorien frangi', + 'KMF', + 'Komorien frangi', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Pohjois-Korean won', + 'KPW', + 'Pohjois-Korean won', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'Etelä-Korean hwan (1953–1962)', + 'KRH', + 'Etelä-Korean hwan (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'Etelä-Korean won (1945–1953)', + 'KRO', + 'Etelä-Korean won (1945–1953)', ], 'KRW' => [ - 0 => 'KRW', - 1 => 'Etelä-Korean won', + 'KRW', + 'Etelä-Korean won', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Kuwaitin dinaari', + 'KWD', + 'Kuwaitin dinaari', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Caymansaarten dollari', + 'KYD', + 'Caymansaarten dollari', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Kazakstanin tenge', + 'KZT', + 'Kazakstanin tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Laosin kip', + 'LAK', + 'Laosin kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Libanonin punta', + 'LBP', + 'Libanonin punta', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Sri Lankan rupia', + 'LKR', + 'Sri Lankan rupia', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Liberian dollari', + 'LRD', + 'Liberian dollari', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Lesothon loti', + 'LSL', + 'Lesothon loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Liettuan liti', + 'LTL', + 'Liettuan liti', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Liettuan talonas', + 'LTT', + 'Liettuan talonas', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Luxemburgin vaihdettava frangi', + 'LUC', + 'Luxemburgin vaihdettava frangi', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Luxemburgin frangi', + 'LUF', + 'Luxemburgin frangi', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Luxemburgin rahoitusfrangi', + 'LUL', + 'Luxemburgin rahoitusfrangi', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Latvian lati', + 'LVL', + 'Latvian lati', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Latvian rupla', + 'LVR', + 'Latvian rupla', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Libyan dinaari', + 'LYD', + 'Libyan dinaari', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Marokon dirhami', + 'MAD', + 'Marokon dirhami', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Marokon frangi', + 'MAF', + 'Marokon frangi', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'Monacon frangi', + 'MCF', + 'Monacon frangi', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'Moldovan kuponkileu', + 'MDC', + 'Moldovan kuponkileu', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Moldovan leu', + 'MDL', + 'Moldovan leu', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Madagaskarin ariary', + 'MGA', + 'Madagaskarin ariary', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Madagaskarin frangi', + 'MGF', + 'Madagaskarin frangi', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Makedonian denaari', + 'MKD', + 'Makedonian denaari', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'Makedonian dinaari (1992–1993)', + 'MKN', + 'Makedonian dinaari (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Malin frangi', + 'MLF', + 'Malin frangi', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Myanmarin kyat', + 'MMK', + 'Myanmarin kyat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Mongolian tugrik', + 'MNT', + 'Mongolian tugrik', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Macaon pataca', + 'MOP', + 'Macaon pataca', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Mauritanian ouguiya (1973–2017)', + 'MRO', + 'Mauritanian ouguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Mauritanian ouguiya', + 'MRU', + 'Mauritanian ouguiya', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Maltan liira', + 'MTL', + 'Maltan liira', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Maltan punta', + 'MTP', + 'Maltan punta', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Mauritiuksen rupia', + 'MUR', + 'Mauritiuksen rupia', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'Malediivien rupia (1947–1981)', + 'MVP', + 'Malediivien rupia (1947–1981)', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Malediivien rufiyaa', + 'MVR', + 'Malediivien rufiyaa', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Malawin kwacha', + 'MWK', + 'Malawin kwacha', ], 'MXN' => [ - 0 => 'MXN', - 1 => 'Meksikon peso', + 'MXN', + 'Meksikon peso', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Meksikon hopeapeso (1861–1992)', + 'MXP', + 'Meksikon hopeapeso (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Meksikon UDI', + 'MXV', + 'Meksikon UDI', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Malesian ringgit', + 'MYR', + 'Malesian ringgit', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Mosambikin escudo', + 'MZE', + 'Mosambikin escudo', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Mosambikin metical (1980–2006)', + 'MZM', + 'Mosambikin metical (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Mosambikin metical', + 'MZN', + 'Mosambikin metical', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Namibian dollari', + 'NAD', + 'Namibian dollari', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Nigerian naira', + 'NGN', + 'Nigerian naira', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Nicaraguan córdoba (1988–1991)', + 'NIC', + 'Nicaraguan córdoba (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Nicaraguan córdoba', + 'NIO', + 'Nicaraguan córdoba', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Alankomaiden guldeni', + 'NLG', + 'Alankomaiden guldeni', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Norjan kruunu', + 'NOK', + 'Norjan kruunu', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Nepalin rupia', + 'NPR', + 'Nepalin rupia', ], 'NZD' => [ - 0 => 'NZD', - 1 => 'Uuden-Seelannin dollari', + 'NZD', + 'Uuden-Seelannin dollari', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Omanin rial', + 'OMR', + 'Omanin rial', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Panaman balboa', + 'PAB', + 'Panaman balboa', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Perun inti', + 'PEI', + 'Perun inti', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Perun sol', + 'PEN', + 'Perun sol', ], 'PES' => [ - 0 => 'PES', - 1 => 'Perun sol (1863–1965)', + 'PES', + 'Perun sol (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Papua-Uuden-Guinean kina', + 'PGK', + 'Papua-Uuden-Guinean kina', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Filippiinien peso', + 'PHP', + 'Filippiinien peso', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Pakistanin rupia', + 'PKR', + 'Pakistanin rupia', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Puolan złoty', + 'PLN', + 'Puolan złoty', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Puolan złoty (1950–1995)', + 'PLZ', + 'Puolan złoty (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Portugalin escudo', + 'PTE', + 'Portugalin escudo', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Paraguayn guarani', + 'PYG', + 'Paraguayn guarani', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Qatarin rial', + 'QAR', + 'Qatarin rial', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Rhodesian dollari', + 'RHD', + 'Rhodesian dollari', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Romanian leu (1952–2006)', + 'ROL', + 'Romanian leu (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'Romanian leu', + 'RON', + 'Romanian leu', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Serbian dinaari', + 'RSD', + 'Serbian dinaari', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Venäjän rupla', + 'RUB', + 'Venäjän rupla', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Venäjän rupla (1991–1998)', + 'RUR', + 'Venäjän rupla (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Ruandan frangi', + 'RWF', + 'Ruandan frangi', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Saudi-Arabian rial', + 'SAR', + 'Saudi-Arabian rial', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Salomonsaarten dollari', + 'SBD', + 'Salomonsaarten dollari', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Seychellien rupia', + 'SCR', + 'Seychellien rupia', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Sudanin dinaari (1992–2007)', + 'SDD', + 'Sudanin dinaari (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Sudanin punta', + 'SDG', + 'Sudanin punta', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Sudanin punta (1957–1998)', + 'SDP', + 'Sudanin punta (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Ruotsin kruunu', + 'SEK', + 'Ruotsin kruunu', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Singaporen dollari', + 'SGD', + 'Singaporen dollari', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Saint Helenan punta', + 'SHP', + 'Saint Helenan punta', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Slovenian tolar', + 'SIT', + 'Slovenian tolar', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Slovakian koruna', + 'SKK', + 'Slovakian koruna', ], 'SLE' => [ - 0 => 'SLE', - 1 => 'Sierra Leonen leone', + 'SLE', + 'Sierra Leonen leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Sierra Leonen leone (1964—2022)', + 'SLL', + 'Sierra Leonen leone (1964–2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Somalian šillinki', + 'SOS', + 'Somalian šillinki', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Surinamen dollari', + 'SRD', + 'Surinamen dollari', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Surinamen guldeni', + 'SRG', + 'Surinamen guldeni', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Etelä-Sudanin punta', + 'SSP', + 'Etelä-Sudanin punta', ], 'STD' => [ - 0 => 'STD', - 1 => 'São Tomén ja Príncipen dobra (1977–2017)', + 'STD', + 'São Tomén ja Príncipen dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'São Tomén ja Príncipen dobra', + 'STN', + 'São Tomén ja Príncipen dobra', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Neuvostoliiton rupla', + 'SUR', + 'Neuvostoliiton rupla', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'El Salvadorin colón', + 'SVC', + 'El Salvadorin colón', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Syyrian punta', + 'SYP', + 'Syyrian punta', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Swazimaan lilangeni', + 'SZL', + 'Swazimaan lilangeni', ], 'THB' => [ - 0 => 'THB', - 1 => 'Thaimaan baht', + 'THB', + 'Thaimaan baht', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Tadžikistanin rupla', + 'TJR', + 'Tadžikistanin rupla', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Tadžikistanin somoni', + 'TJS', + 'Tadžikistanin somoni', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Turkmenistanin manat (1993–2009)', + 'TMM', + 'Turkmenistanin manat (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Turkmenistanin manat', + 'TMT', + 'Turkmenistanin manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'Tunisian dinaari', + 'TND', + 'Tunisian dinaari', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Tongan pa’anga', + 'TOP', + 'Tongan pa’anga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Timorin escudo', + 'TPE', + 'Timorin escudo', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Turkin liira (1922–2005)', + 'TRL', + 'Turkin liira (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Turkin liira', + 'TRY', + 'Turkin liira', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Trinidadin ja Tobagon dollari', + 'TTD', + 'Trinidadin ja Tobagon dollari', ], 'TWD' => [ - 0 => 'TWD', - 1 => 'Taiwanin uusi dollari', + 'TWD', + 'Taiwanin uusi dollari', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Tansanian šillinki', + 'TZS', + 'Tansanian šillinki', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Ukrainan hryvnia', + 'UAH', + 'Ukrainan hryvnia', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Ukrainan karbovanetz', + 'UAK', + 'Ukrainan karbovanetz', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Ugandan šillinki (1966–1987)', + 'UGS', + 'Ugandan šillinki (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Ugandan šillinki', + 'UGX', + 'Ugandan šillinki', ], 'USD' => [ - 0 => '$', - 1 => 'Yhdysvaltain dollari', + '$', + 'Yhdysvaltain dollari', ], 'USN' => [ - 0 => 'USN', - 1 => 'Yhdysvaltain dollari (seuraava päivä)', + 'USN', + 'Yhdysvaltain dollari (seuraava päivä)', ], 'USS' => [ - 0 => 'USS', - 1 => 'Yhdysvaltain dollari (sama päivä)', + 'USS', + 'Yhdysvaltain dollari (sama päivä)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Uruguayn peso en unidades indexadas', + 'UYI', + 'Uruguayn peso en unidades indexadas', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Uruguayn peso (1975–1993)', + 'UYP', + 'Uruguayn peso (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Uruguayn peso', + 'UYU', + 'Uruguayn peso', ], 'UYW' => [ - 0 => 'UYW', - 1 => 'Uruguayn nimellinen palkkaindeksiyksikkö', + 'UYW', + 'Uruguayn nimellinen palkkaindeksiyksikkö', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Uzbekistanin som', + 'UZS', + 'Uzbekistanin som', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Venezuelan bolívar (1871–2008)', + 'VEB', + 'Venezuelan bolívar (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Venezuelan bolívar (2008–2018)', + 'VEF', + 'Venezuelan bolívar (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Venezuelan suvereeni bolívar', + 'VES', + 'Venezuelan suvereeni bolívar', ], 'VND' => [ - 0 => 'VND', - 1 => 'Vietnamin dong', + 'VND', + 'Vietnamin dong', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'Vietnamin dong (1978–1985)', + 'VNN', + 'Vietnamin dong (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vanuatun vatu', + 'VUV', + 'Vanuatun vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Samoan tala', + 'WST', + 'Samoan tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'CFA-frangi BEAC', + 'FCFA', + 'CFA-frangi BEAC', ], 'XCD' => [ - 0 => 'XCD', - 1 => 'Itä-Karibian dollari', + 'XCD', + 'Itä-Karibian dollari', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'Euroopan valuuttayksikkö (ECU)', + 'XEU', + 'Euroopan valuuttayksikkö (ECU)', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Ranskan kultafrangi', + 'XFO', + 'Ranskan kultafrangi', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Ranskan UIC-frangi', + 'XFU', + 'Ranskan UIC-frangi', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'CFA-frangi BCEAO', + 'F CFA', + 'CFA-frangi BCEAO', ], 'XPF' => [ - 0 => 'XPF', - 1 => 'CFP-frangi', + 'XPF', + 'CFP-frangi', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'RINET-rahastot', + 'XRE', + 'RINET-rahastot', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Jemenin dinaari', + 'YDD', + 'Jemenin dinaari', ], 'YER' => [ - 0 => 'YER', - 1 => 'Jemenin rial', + 'YER', + 'Jemenin rial', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Jugoslavian kova dinaari (1966–1990)', + 'YUD', + 'Jugoslavian kova dinaari (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Jugoslavian uusi dinaari (1994–2002)', + 'YUM', + 'Jugoslavian uusi dinaari (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Jugoslavian vaihdettava dinaari (1990–1992)', + 'YUN', + 'Jugoslavian vaihdettava dinaari (1990–1992)', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'Jugoslavian uudistettu dinaari (1992–1993)', + 'YUR', + 'Jugoslavian uudistettu dinaari (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Etelä-Afrikan rahoitusrandi', + 'ZAL', + 'Etelä-Afrikan rahoitusrandi', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Etelä-Afrikan randi', + 'ZAR', + 'Etelä-Afrikan randi', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Sambian kwacha (1968–2012)', + 'ZMK', + 'Sambian kwacha (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Sambian kwacha', + 'ZMW', + 'Sambian kwacha', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Zairen uusi zaire (1993–1998)', + 'ZRN', + 'Zairen uusi zaire (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Zairen zaire (1971–1993)', + 'ZRZ', + 'Zairen zaire (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Zimbabwen dollari (1980–2008)', + 'ZWD', + 'Zimbabwen dollari (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Zimbabwen dollari (2009)', + 'ZWL', + 'Zimbabwen dollari (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Zimbabwen dollari (2008)', + 'ZWR', + 'Zimbabwen dollari (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fo.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fo.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fo.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fo.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,640 +3,648 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'Sameindu Emirríkini dirham', + 'AED', + 'Sameindu Emirríkini dirham', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afganistan afghani', + 'AFN', + 'Afganistan afghani', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Albania lek', + 'ALL', + 'Albania lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Armenia dram', + 'AMD', + 'Armenia dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Niðurlonds Karibia gyllin', + 'ANG', + 'Niðurlonds Karibia gyllin', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Angola kwanza', + 'AOA', + 'Angola kwanza', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Argentina peso', + 'ARS', + 'Argentina peso', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Avstralskur dollari', + 'A$', + 'Avstralskur dollari', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Aruba florin', + 'AWG', + 'Aruba florin', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Aserbadjan manat', + 'AZN', + 'Aserbadjan manat', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Bosnia-Hersegovina mark (kann vekslast)', + 'BAM', + 'Bosnia-Hersegovina mark (kann vekslast)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Barbados dollari', + 'BBD', + 'Barbados dollari', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Bangladesj taka', + 'BDT', + 'Bangladesj taka', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Bulgarskur Lev', + 'BGN', + 'Bulgarskur lev', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Barein dinar', + 'BHD', + 'Barein dinar', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Burundi frankur', + 'BIF', + 'Burundi frankur', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermuda dollari', + 'BMD', + 'Bermuda dollari', ], 'BND' => [ - 0 => 'BND', - 1 => 'Brunei dollari', + 'BND', + 'Brunei dollari', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Bolivia boliviano', + 'BOB', + 'Bolivia boliviano', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Brasilianskur real', + 'R$', + 'Brasilianskur real', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Bahamaoyggjar dollari', + 'BSD', + 'Bahamaoyggjar dollari', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Butan ngultrum', + 'BTN', + 'Butan ngultrum', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Botsvana pula', + 'BWP', + 'Botsvana pula', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Hvítarussiskur Ruble', + 'BYN', + 'Hvítarussiskur ruble', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Hvítarussland ruble (2000–2016)', + 'BYR', + 'Hvítarussland ruble (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Belis dollari', + 'BZD', + 'Belis dollari', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Kanadiskur dollari', + 'CA$', + 'Kanadiskur dollari', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Kongo frankur', + 'CDF', + 'Kongo frankur', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'sveisiskur frankur', + 'CHF', + 'sveisiskur frankur', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Kili peso', + 'CLP', + 'Kili peso', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'kinesiskur yuan (úr landi)', + 'CNH', + 'kinesiskur yuan (úr landi)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'kinesiskur yuan', + 'CN¥', + 'kinesiskur yuan', ], 'COP' => [ - 0 => 'COP', - 1 => 'Kolombia peso', + 'COP', + 'Kolombia peso', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Kosta Rika colón', + 'CRC', + 'Kosta Rika colón', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Kuba peso (sum kann vekslast)', + 'CUC', + 'Kuba peso (sum kann vekslast)', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Kuba peso', + 'CUP', + 'Kuba peso', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Grønhøvdaoyggjar escudo', + 'CVE', + 'Grønhøvdaoyggjar escudo', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Kekkiskt Koruna', + 'CZK', + 'Kekkiskt koruna', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Djibuti frankur', + 'DJF', + 'Djibuti frankur', ], 'DKK' => [ - 0 => 'kr', - 1 => 'donsk króna', + 'kr', + 'donsk króna', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Dominika peso', + 'DOP', + 'Dominika peso', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Algeria dinar', + 'DZD', + 'Algeria dinar', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Egyptaland pund', + 'EGP', + 'Egyptaland pund', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Eritrea nakfa', + 'ERN', + 'Eritrea nakfa', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Etiopia birr', + 'ETB', + 'Etiopia birr', ], 'EUR' => [ - 0 => '€', - 1 => 'Evra', + '€', + 'Evra', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Fiji dollari', + 'FJD', + 'Fiji dollari', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Falklandsoyggjar pund', + 'FKP', + 'Falklandsoyggjar pund', ], 'GBP' => [ - 0 => '£', - 1 => 'bretsk pund', + '£', + 'bretsk pund', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Georgia lari', + 'GEL', + 'Georgia lari', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Gana cedi', + 'GHS', + 'Gana cedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Gibraltar pund', + 'GIP', + 'Gibraltar pund', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Gambia dalasi', + 'GMD', + 'Gambia dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Guinea frankur', + 'GNF', + 'Guinea frankur', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Guatemala quetzal', + 'GTQ', + 'Guatemala quetzal', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Gujana dollari', + 'GYD', + 'Gujana dollari', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Hong Kong dollari', + 'HK$', + 'Hong Kong dollari', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Honduras lempira', + 'HNL', + 'Honduras lempira', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Kroatia kuna', + 'HRK', + 'Kroatia kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Haiti gourde', + 'HTG', + 'Haiti gourde', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Ungarskur Forintur', + 'HUF', + 'Ungarskur forintur', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Indonesia rupiah', + 'IDR', + 'Indonesia rupiah', ], 'ILS' => [ - 0 => '₪', - 1 => 'Ísrael new shekel', + '₪', + 'Ísrael new shekel', ], 'INR' => [ - 0 => '₹', - 1 => 'indiskir rupis', + '₹', + 'indiskir rupis', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Irak dinar', + 'IQD', + 'Irak dinar', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'iranskir rials', + 'IRR', + 'iranskir rials', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'íslendsk króna', + 'ISK', + 'íslendsk króna', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Jamaika dollari', + 'JMD', + 'Jamaika dollari', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Jordan dinar', + 'JOD', + 'Jordan dinar', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'japanskur yen', + 'JP¥', + 'japanskur yen', ], 'KES' => [ - 0 => 'KES', - 1 => 'kenjanskur skillingur', + 'KES', + 'kenjanskur skillingur', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Kirgisia som', + 'KGS', + 'Kirgisia som', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Kambodja riel', + 'KHR', + 'Kambodja riel', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Komoroyggjar frankur', + 'KMF', + 'Komoroyggjar frankur', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Norðurkorea won', + 'KPW', + 'Norðurkorea won', ], 'KRW' => [ - 0 => '₩', - 1 => 'Suðurkorea won', + '₩', + 'Suðurkorea won', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Kuvait dinar', + 'KWD', + 'Kuvait dinar', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Caymanoyggjar dollari', + 'KYD', + 'Caymanoyggjar dollari', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Kasakstan tenge', + 'KZT', + 'Kasakstan tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Laos kip', + 'LAK', + 'Laos kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Libanon pund', + 'LBP', + 'Libanon pund', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Sri Lanka rupi', + 'LKR', + 'Sri Lanka rupi', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Liberia dollari', + 'LRD', + 'Liberia dollari', + ], + 'LSL' => [ + 'LSL', + 'Lesoto loti', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Libya dinar', + 'LYD', + 'Libya dinar', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Marokko dirham', + 'MAD', + 'Marokko dirham', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Moldovanskur Leu', + 'MDL', + 'Moldovanskur leu', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Madagaskar ariary', + 'MGA', + 'Madagaskar ariary', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Makedónia denar', + 'MKD', + 'Makedónia denar', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Myanmar (Burma) kyat', + 'MMK', + 'Myanmar (Burma) kyat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Mongolia tugrik', + 'MNT', + 'Mongolia tugrik', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Makao pataca', + 'MOP', + 'Makao pataca', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Móritania ouguiya (1973–2017)', + 'MRO', + 'Móritania ouguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Móritania ouguiya', + 'MRU', + 'Móritania ouguiya', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Móritius rupi', + 'MUR', + 'Móritius rupi', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Maldivoyggjar rufiyaa', + 'MVR', + 'Maldivoyggjar rufiyaa', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Malavi kwacha', + 'MWK', + 'Malavi kwacha', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Meksiko peso', + 'MX$', + 'Meksiko peso', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Malaisia ringgit', + 'MYR', + 'Malaisia ringgit', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Mosambik metical', + 'MZN', + 'Mosambik metical', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Namibia dollari', + 'NAD', + 'Namibia dollari', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Nigeria naira', + 'NGN', + 'Nigeria naira', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Nikaragua córdoba', + 'NIO', + 'Nikaragua córdoba', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'norsk króna', + 'NOK', + 'norsk króna', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Nepal rupi', + 'NPR', + 'Nepal rupi', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Nýsæland dollari', + 'NZ$', + 'Nýsæland dollari', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Oman rial', + 'OMR', + 'Oman rial', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Panama balboa', + 'PAB', + 'Panama balboa', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Peru sol', + 'PEN', + 'Peru sol', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Papua Nýguinea kina', + 'PGK', + 'Papua Nýguinea kina', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Filipsoyggjar peso', + 'PHP', + 'Filipsoyggjar peso', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Pakistan rupi', + 'PKR', + 'Pakistan rupi', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Pólskur Zloty', + 'PLN', + 'Pólskur zloty', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Paraguai guarani', + 'PYG', + 'Paraguai guarani', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Katar rial', + 'QAR', + 'Katar rial', ], 'RON' => [ - 0 => 'RON', - 1 => 'Rumenia leu', + 'RON', + 'Rumenia leu', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Serbia dinar', + 'RSD', + 'Serbia dinar', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Russland ruble', + 'RUB', + 'Russland ruble', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Ruanda frankur', + 'RWF', + 'Ruanda frankur', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Saudiarabia riyal', + 'SAR', + 'Saudiarabia riyal', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Salomonoyggjar dollari', + 'SBD', + 'Salomonoyggjar dollari', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Seyskelloyggjar rupi', + 'SCR', + 'Seyskelloyggjar rupi', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Sudan pund', + 'SDG', + 'Sudan pund', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'svensk króna', + 'SEK', + 'svensk króna', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Singapor dollari', + 'SGD', + 'Singapor dollari', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'St. Helena pund', + 'SHP', + 'St. Helena pund', + ], + 'SLE' => [ + 'SLE', + 'Sierra Leona leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Sierra Leona leone', + 'SLL', + 'Sierra Leona leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Somalia skillingur', + 'SOS', + 'Somalia skillingur', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Surinam dollari', + 'SRD', + 'Surinam dollari', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Suðursudan pund', + 'SSP', + 'Suðursudan pund', ], 'STD' => [ - 0 => 'STD', - 1 => 'Sao Tome & Prinsipi dobra (1977–2017)', + 'STD', + 'Sao Tome & Prinsipi dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Sao Tome & Prinsipi dobra', + 'STN', + 'Sao Tome & Prinsipi dobra', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Sýria pund', + 'SYP', + 'Sýria pund', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Svasiland lilangeni', + 'SZL', + 'Svasiland lilangeni', ], 'THB' => [ - 0 => 'THB', - 1 => 'Tailand baht', + 'THB', + 'Tailand baht', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Tadsjikistan somoni', + 'TJS', + 'Tadsjikistan somoni', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Turkmenistan manat', + 'TMT', + 'Turkmenistan manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'Tunesia dinar', + 'TND', + 'Tunesia dinar', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Tonga paʻanga', + 'TOP', + 'Tonga paʻanga', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Turkaland liri', + 'TRY', + 'Turkaland liri', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Trinidad & Tobago dollari', + 'TTD', + 'Trinidad & Tobago dollari', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Taivan new dollari', + 'NT$', + 'Taivan new dollari', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Tansania skillingur', + 'TZS', + 'Tansania skillingur', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Ukraina hryvnia', + 'UAH', + 'Ukraina hryvnia', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Uganda skillingur', + 'UGX', + 'Uganda skillingur', ], 'USD' => [ - 0 => 'US$', - 1 => 'US dollari', + 'US$', + 'US dollari', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Uruguai peso', + 'UYU', + 'Uruguai peso', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Usbekistan som', + 'UZS', + 'Usbekistan som', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Venesuela bolívar (2008–2018)', + 'VEF', + 'Venesuela bolívar (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Venesuela bolívar', + 'VES', + 'Venesuela bolívar', ], 'VND' => [ - 0 => '₫', - 1 => 'Vjetnam dong', + '₫', + 'Vjetnam dong', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vanuatu vatu', + 'VUV', + 'Vanuatu vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Samoa tala', + 'WST', + 'Samoa tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Miðafrika CFA frankur', + 'FCFA', + 'Miðafrika CFA frankur', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Eystur Karibia dollari', + 'EC$', + 'Eystur Karibia dollari', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Vesturafrika CFA frankur', + 'F CFA', + 'Vesturafrika CFA frankur', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP frankur', + 'CFPF', + 'CFP frankur', ], 'YER' => [ - 0 => 'YER', - 1 => 'Jemen rial', + 'YER', + 'Jemen rial', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Suðurafrika rand', + 'ZAR', + 'Suðurafrika rand', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Sambia kwacha', + 'ZMW', + 'Sambia kwacha', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fo_DK.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fo_DK.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fo_DK.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fo_DK.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'DKK' => [ - 0 => 'kr.', - 1 => 'donsk króna', + 'kr.', + 'donsk króna', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1084 +3,1092 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'peseta andorrane', + 'ADP', + 'peseta andorrane', ], 'AED' => [ - 0 => 'AED', - 1 => 'dirham des Émirats arabes unis', + 'AED', + 'dirham des Émirats arabes unis', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'afghani (1927–2002)', + 'AFA', + 'afghani (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afghani afghan', + 'AFN', + 'afghani afghan', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'lek albanais (1947–1961)', + 'ALK', + 'lek albanais (1947–1961)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'lek albanais', + 'ALL', + 'lek albanais', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'dram arménien', + 'AMD', + 'dram arménien', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'florin antillais', + 'ANG', + 'florin antillais', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'kwanza angolais', + 'AOA', + 'kwanza angolais', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'kwanza angolais (1977–1990)', + 'AOK', + 'kwanza angolais (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'nouveau kwanza angolais (1990–2000)', + 'AON', + 'nouveau kwanza angolais (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'kwanza angolais réajusté (1995–1999)', + 'AOR', + 'kwanza angolais réajusté (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'austral argentin', + 'ARA', + 'austral argentin', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'peso argentin (1983–1985)', + 'ARP', + 'peso argentin (1983–1985)', ], 'ARS' => [ - 0 => '$AR', - 1 => 'peso argentin', + '$AR', + 'peso argentin', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'schilling autrichien', + 'ATS', + 'schilling autrichien', ], 'AUD' => [ - 0 => '$AU', - 1 => 'dollar australien', + '$AU', + 'dollar australien', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'florin arubais', + 'AWG', + 'florin arubais', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'manat azéri (1993–2006)', + 'AZM', + 'manat azéri (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'manat azéri', + 'AZN', + 'manat azéri', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'dinar bosniaque', + 'BAD', + 'dinar bosniaque', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'mark convertible bosniaque', + 'BAM', + 'mark convertible bosniaque', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'dollar barbadien', + 'BBD', + 'dollar barbadien', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'taka bangladeshi', + 'BDT', + 'taka bangladeshi', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'franc belge (convertible)', + 'BEC', + 'franc belge (convertible)', ], 'BEF' => [ - 0 => 'FB', - 1 => 'franc belge', + 'FB', + 'franc belge', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'franc belge (financier)', + 'BEL', + 'franc belge (financier)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'lev bulgare (1962–1999)', + 'BGL', + 'lev bulgare (1962–1999)', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'lev bulgare', + 'BGN', + 'lev bulgare', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'dinar bahreïni', + 'BHD', + 'dinar bahreïni', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'franc burundais', + 'BIF', + 'franc burundais', ], 'BMD' => [ - 0 => '$BM', - 1 => 'dollar bermudien', + '$BM', + 'dollar bermudien', ], 'BND' => [ - 0 => '$BN', - 1 => 'dollar brunéien', + '$BN', + 'dollar brunéien', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'boliviano bolivien', + 'BOB', + 'boliviano bolivien', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'peso bolivien', + 'BOP', + 'peso bolivien', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'mvdol bolivien', + 'BOV', + 'mvdol bolivien', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'nouveau cruzeiro brésilien (1967–1986)', + 'BRB', + 'nouveau cruzeiro brésilien (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'cruzado brésilien (1986–1989)', + 'BRC', + 'cruzado brésilien (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'cruzeiro brésilien (1990–1993)', + 'BRE', + 'cruzeiro brésilien (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'réal brésilien', + 'R$', + 'réal brésilien', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'nouveau cruzado', + 'BRN', + 'nouveau cruzado', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'cruzeiro', + 'BRR', + 'cruzeiro', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'dollar bahaméen', + 'BSD', + 'dollar bahaméen', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ngultrum bouthanais', + 'BTN', + 'ngultrum bouthanais', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'kyat birman', + 'BUK', + 'kyat birman', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'pula botswanais', + 'BWP', + 'pula botswanais', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'nouveau rouble biélorusse (1994–1999)', + 'BYB', + 'nouveau rouble biélorusse (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'rouble biélorusse', + 'BYN', + 'rouble biélorusse', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'rouble biélorusse (2000–2016)', + 'BYR', + 'rouble biélorusse (2000–2016)', ], 'BZD' => [ - 0 => '$BZ', - 1 => 'dollar bélizéen', + '$BZ', + 'dollar bélizéen', ], 'CAD' => [ - 0 => '$CA', - 1 => 'dollar canadien', + '$CA', + 'dollar canadien', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'franc congolais', + 'CDF', + 'franc congolais', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'euro WIR', + 'CHE', + 'euro WIR', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'franc suisse', + 'CHF', + 'franc suisse', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'franc WIR', + 'CHW', + 'franc WIR', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'unité d’investissement chilienne', + 'CLF', + 'unité d’investissement chilienne', ], 'CLP' => [ - 0 => '$CL', - 1 => 'peso chilien', + '$CL', + 'peso chilien', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'yuan chinois (zone extracôtière)', + 'CNH', + 'yuan chinois (zone extracôtière)', ], 'CNY' => [ - 0 => 'CNY', - 1 => 'yuan renminbi chinois', + 'CNY', + 'yuan renminbi chinois', ], 'COP' => [ - 0 => '$CO', - 1 => 'peso colombien', + '$CO', + 'peso colombien', ], 'COU' => [ - 0 => 'COU', - 1 => 'unité de valeur réelle colombienne', + 'COU', + 'unité de valeur réelle colombienne', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'colón costaricain', + 'CRC', + 'colón costaricain', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'dinar serbo-monténégrin', + 'CSD', + 'dinar serbo-monténégrin', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'couronne forte tchécoslovaque', + 'CSK', + 'couronne forte tchécoslovaque', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'peso cubain convertible', + 'CUC', + 'peso cubain convertible', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'peso cubain', + 'CUP', + 'peso cubain', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'escudo capverdien', + 'CVE', + 'escudo capverdien', ], 'CYP' => [ - 0 => '£CY', - 1 => 'livre chypriote', + '£CY', + 'livre chypriote', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'couronne tchèque', + 'CZK', + 'couronne tchèque', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'mark est-allemand', + 'DDM', + 'mark est-allemand', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'mark allemand', + 'DEM', + 'mark allemand', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'franc djiboutien', + 'DJF', + 'franc djiboutien', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'couronne danoise', + 'DKK', + 'couronne danoise', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'peso dominicain', + 'DOP', + 'peso dominicain', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'dinar algérien', + 'DZD', + 'dinar algérien', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'sucre équatorien', + 'ECS', + 'sucre équatorien', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'unité de valeur constante équatoriale (UVC)', + 'ECV', + 'unité de valeur constante équatoriale (UVC)', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'couronne estonienne', + 'EEK', + 'couronne estonienne', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'livre égyptienne', + 'EGP', + 'livre égyptienne', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'nafka érythréen', + 'ERN', + 'nafka érythréen', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'peseta espagnole (compte A)', + 'ESA', + 'peseta espagnole (compte A)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'peseta espagnole (compte convertible)', + 'ESB', + 'peseta espagnole (compte convertible)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'peseta espagnole', + 'ESP', + 'peseta espagnole', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'birr éthiopien', + 'ETB', + 'birr éthiopien', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'mark finlandais', + 'FIM', + 'mark finlandais', ], 'FJD' => [ - 0 => '$FJ', - 1 => 'dollar fidjien', + '$FJ', + 'dollar fidjien', ], 'FKP' => [ - 0 => '£FK', - 1 => 'livre des îles Malouines', + '£FK', + 'livre des îles Malouines', ], 'FRF' => [ - 0 => 'F', - 1 => 'franc français', + 'F', + 'franc français', ], 'GBP' => [ - 0 => '£GB', - 1 => 'livre sterling', + '£GB', + 'livre sterling', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'coupon de lari géorgien', + 'GEK', + 'coupon de lari géorgien', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'lari géorgien', + 'GEL', + 'lari géorgien', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'cédi', + 'GHC', + 'cédi', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'cédi ghanéen', + 'GHS', + 'cédi ghanéen', ], 'GIP' => [ - 0 => '£GI', - 1 => 'livre de Gibraltar', + '£GI', + 'livre de Gibraltar', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'dalasi gambien', + 'GMD', + 'dalasi gambien', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'franc guinéen', + 'GNF', + 'franc guinéen', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'syli guinéen', + 'GNS', + 'syli guinéen', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'ekwélé équatoguinéen', + 'GQE', + 'ekwélé équatoguinéen', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'drachme grecque', + 'GRD', + 'drachme grecque', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'quetzal guatémaltèque', + 'GTQ', + 'quetzal guatémaltèque', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'escudo de Guinée portugaise', + 'GWE', + 'escudo de Guinée portugaise', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'peso bissau-guinéen', + 'GWP', + 'peso bissau-guinéen', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'dollar du Guyana', + 'GYD', + 'dollar du Guyana', ], 'HKD' => [ - 0 => 'HKD', - 1 => 'dollar de Hong Kong', + 'HKD', + 'dollar de Hong Kong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'lempira hondurien', + 'HNL', + 'lempira hondurien', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'dinar croate', + 'HRD', + 'dinar croate', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'kuna croate', + 'HRK', + 'kuna croate', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'gourde haïtienne', + 'HTG', + 'gourde haïtienne', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'forint hongrois', + 'HUF', + 'forint hongrois', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'roupie indonésienne', + 'IDR', + 'roupie indonésienne', ], 'IEP' => [ - 0 => '£IE', - 1 => 'livre irlandaise', + '£IE', + 'livre irlandaise', ], 'ILP' => [ - 0 => '£IL', - 1 => 'livre israélienne', + '£IL', + 'livre israélienne', ], 'ILS' => [ - 0 => '₪', - 1 => 'nouveau shekel israélien', + '₪', + 'nouveau shekel israélien', ], 'INR' => [ - 0 => '₹', - 1 => 'roupie indienne', + '₹', + 'roupie indienne', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'dinar irakien', + 'IQD', + 'dinar irakien', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'riyal iranien', + 'IRR', + 'riyal iranien', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'couronne islandaise', + 'ISK', + 'couronne islandaise', ], 'ITL' => [ - 0 => '₤IT', - 1 => 'lire italienne', + '₤IT', + 'lire italienne', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'dollar jamaïcain', + 'JMD', + 'dollar jamaïcain', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'dinar jordanien', + 'JOD', + 'dinar jordanien', ], 'JPY' => [ - 0 => 'JPY', - 1 => 'yen japonais', + 'JPY', + 'yen japonais', ], 'KES' => [ - 0 => 'KES', - 1 => 'shilling kényan', + 'KES', + 'shilling kényan', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'som kirghize', + 'KGS', + 'som kirghize', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'riel cambodgien', + 'KHR', + 'riel cambodgien', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'franc comorien', + 'KMF', + 'franc comorien', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'won nord-coréen', + 'KPW', + 'won nord-coréen', ], 'KRW' => [ - 0 => '₩', - 1 => 'won sud-coréen', + '₩', + 'won sud-coréen', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'dinar koweïtien', + 'KWD', + 'dinar koweïtien', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'dollar des îles Caïmans', + 'KYD', + 'dollar des îles Caïmans', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'tenge kazakh', + 'KZT', + 'tenge kazakh', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'kip laotien', + 'LAK', + 'kip laotien', ], 'LBP' => [ - 0 => '£LB', - 1 => 'livre libanaise', + '£LB', + 'livre libanaise', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'roupie srilankaise', + 'LKR', + 'roupie srilankaise', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'dollar libérien', + 'LRD', + 'dollar libérien', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'loti lesothan', + 'LSL', + 'loti lesothan', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'litas lituanien', + 'LTL', + 'litas lituanien', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'talonas lituanien', + 'LTT', + 'talonas lituanien', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'franc convertible luxembourgeois', + 'LUC', + 'franc convertible luxembourgeois', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'franc luxembourgeois', + 'LUF', + 'franc luxembourgeois', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'franc financier luxembourgeois', + 'LUL', + 'franc financier luxembourgeois', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'lats letton', + 'LVL', + 'lats letton', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'rouble letton', + 'LVR', + 'rouble letton', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'dinar libyen', + 'LYD', + 'dinar libyen', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'dirham marocain', + 'MAD', + 'dirham marocain', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'franc marocain', + 'MAF', + 'franc marocain', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'leu moldave', + 'MDL', + 'leu moldave', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'ariary malgache', + 'MGA', + 'ariary malgache', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'franc malgache', + 'MGF', + 'franc malgache', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'denar macédonien', + 'MKD', + 'denar macédonien', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'franc malien', + 'MLF', + 'franc malien', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'kyat myanmarais', + 'MMK', + 'kyat myanmarais', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'tugrik mongol', + 'MNT', + 'tugrik mongol', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'pataca macanaise', + 'MOP', + 'pataca macanaise', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'ouguiya mauritanien (1973–2017)', + 'MRO', + 'ouguiya mauritanien (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'ouguiya mauritanien', + 'MRU', + 'ouguiya mauritanien', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'lire maltaise', + 'MTL', + 'lire maltaise', ], 'MTP' => [ - 0 => '£MT', - 1 => 'livre maltaise', + '£MT', + 'livre maltaise', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'roupie mauricienne', + 'MUR', + 'roupie mauricienne', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'rufiyaa maldivien', + 'MVR', + 'rufiyaa maldivienne', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'kwacha malawite', + 'MWK', + 'kwacha malawite', ], 'MXN' => [ - 0 => '$MX', - 1 => 'peso mexicain', + '$MX', + 'peso mexicain', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'peso d’argent mexicain (1861–1992)', + 'MXP', + 'peso d’argent mexicain (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'unité de conversion mexicaine (UDI)', + 'MXV', + 'unité de conversion mexicaine (UDI)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'ringgit malais', + 'MYR', + 'ringgit malais', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'escudo mozambicain', + 'MZE', + 'escudo mozambicain', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'métical', + 'MZM', + 'métical', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'metical mozambicain', + 'MZN', + 'metical mozambicain', ], 'NAD' => [ - 0 => '$NA', - 1 => 'dollar namibien', + '$NA', + 'dollar namibien', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'naira nigérian', + 'NGN', + 'naira nigérian', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'cordoba', + 'NIC', + 'cordoba', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'córdoba oro nicaraguayen', + 'NIO', + 'córdoba oro nicaraguayen', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'florin néerlandais', + 'NLG', + 'florin néerlandais', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'couronne norvégienne', + 'NOK', + 'couronne norvégienne', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'roupie népalaise', + 'NPR', + 'roupie népalaise', ], 'NZD' => [ - 0 => '$NZ', - 1 => 'dollar néo-zélandais', + '$NZ', + 'dollar néo-zélandais', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'riyal omanais', + 'OMR', + 'riyal omanais', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'balboa panaméen', + 'PAB', + 'balboa panaméen', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'inti péruvien', + 'PEI', + 'inti péruvien', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'sol péruvien', + 'PEN', + 'sol péruvien', ], 'PES' => [ - 0 => 'PES', - 1 => 'sol péruvien (1863–1985)', + 'PES', + 'sol péruvien (1863–1985)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'kina papouan-néo-guinéen', + 'PGK', + 'kina papouan-néo-guinéen', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'peso philippin', + 'PHP', + 'peso philippin', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'roupie pakistanaise', + 'PKR', + 'roupie pakistanaise', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'zloty polonais', + 'PLN', + 'zloty polonais', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'zloty (1950–1995)', + 'PLZ', + 'zloty (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'escudo portugais', + 'PTE', + 'escudo portugais', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'guaraní paraguayen', + 'PYG', + 'guaraní paraguayen', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'riyal qatari', + 'QAR', + 'riyal qatari', ], 'RHD' => [ - 0 => '$RH', - 1 => 'dollar rhodésien', + '$RH', + 'dollar rhodésien', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'ancien leu roumain', + 'ROL', + 'ancien leu roumain', ], 'RON' => [ - 0 => 'RON', - 1 => 'leu roumain', + 'RON', + 'leu roumain', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'dinar serbe', + 'RSD', + 'dinar serbe', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'rouble russe', + 'RUB', + 'rouble russe', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'rouble russe (1991–1998)', + 'RUR', + 'rouble russe (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'franc rwandais', + 'RWF', + 'franc rwandais', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'riyal saoudien', + 'SAR', + 'riyal saoudien', ], 'SBD' => [ - 0 => '$SB', - 1 => 'dollar des îles Salomon', + '$SB', + 'dollar des îles Salomon', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'roupie des Seychelles', + 'SCR', + 'roupie des Seychelles', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'dinar soudanais', + 'SDD', + 'dinar soudanais', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'livre soudanaise', + 'SDG', + 'livre soudanaise', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'livre soudanaise (1956–2007)', + 'SDP', + 'livre soudanaise (1956–2007)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'couronne suédoise', + 'SEK', + 'couronne suédoise', ], 'SGD' => [ - 0 => '$SG', - 1 => 'dollar de Singapour', + '$SG', + 'dollar de Singapour', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'livre de Sainte-Hélène', + 'SHP', + 'livre de Sainte-Hélène', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'tolar slovène', + 'SIT', + 'tolar slovène', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'couronne slovaque', + 'SKK', + 'couronne slovaque', + ], + 'SLE' => [ + 'SLE', + 'leone sierra-léonais', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'leone sierra-léonais', + 'SLL', + 'leone sierra-léonais (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'shilling somalien', + 'SOS', + 'shilling somalien', ], 'SRD' => [ - 0 => '$SR', - 1 => 'dollar surinamais', + '$SR', + 'dollar surinamais', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'florin surinamais', + 'SRG', + 'florin surinamais', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'livre sud-soudanaise', + 'SSP', + 'livre sud-soudanaise', ], 'STD' => [ - 0 => 'STD', - 1 => 'dobra santoméen (1977–2017)', + 'STD', + 'dobra santoméen (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'dobra santoméen', + 'STN', + 'dobra santoméen', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'rouble soviétique', + 'SUR', + 'rouble soviétique', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'colón salvadorien', + 'SVC', + 'colón salvadorien', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'livre syrienne', + 'SYP', + 'livre syrienne', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'lilangeni swazi', + 'SZL', + 'lilangeni swazi', ], 'THB' => [ - 0 => 'THB', - 1 => 'baht thaïlandais', + 'THB', + 'baht thaïlandais', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'rouble tadjik', + 'TJR', + 'rouble tadjik', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'somoni tadjik', + 'TJS', + 'somoni tadjik', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'manat turkmène', + 'TMM', + 'manat turkmène', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'nouveau manat turkmène', + 'TMT', + 'nouveau manat turkmène', ], 'TND' => [ - 0 => 'TND', - 1 => 'dinar tunisien', + 'TND', + 'dinar tunisien', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'pa’anga tongan', + 'TOP', + 'pa’anga tongan', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'escudo timorais', + 'TPE', + 'escudo timorais', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'livre turque (1844–2005)', + 'TRL', + 'livre turque (1844–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'livre turque', + 'TRY', + 'livre turque', ], 'TTD' => [ - 0 => '$TT', - 1 => 'dollar de Trinité-et-Tobago', + '$TT', + 'dollar de Trinité-et-Tobago', ], 'TWD' => [ - 0 => 'TWD', - 1 => 'nouveau dollar taïwanais', + 'TWD', + 'nouveau dollar taïwanais', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'shilling tanzanien', + 'TZS', + 'shilling tanzanien', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'hryvnia ukrainienne', + 'UAH', + 'hryvnia ukrainienne', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'karbovanetz', + 'UAK', + 'karbovanetz', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'shilling ougandais (1966–1987)', + 'UGS', + 'shilling ougandais (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'shilling ougandais', + 'UGX', + 'shilling ougandais', ], 'USD' => [ - 0 => '$US', - 1 => 'dollar des États-Unis', + '$US', + 'dollar des États-Unis', ], 'USN' => [ - 0 => 'USN', - 1 => 'dollar des Etats-Unis (jour suivant)', + 'USN', + 'dollar des Etats-Unis (jour suivant)', ], 'USS' => [ - 0 => 'USS', - 1 => 'dollar des Etats-Unis (jour même)', + 'USS', + 'dollar des Etats-Unis (jour même)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'peso uruguayen (unités indexées)', + 'UYI', + 'peso uruguayen (unités indexées)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'peso uruguayen (1975–1993)', + 'UYP', + 'peso uruguayen (1975–1993)', ], 'UYU' => [ - 0 => '$UY', - 1 => 'peso uruguayen', + '$UY', + 'peso uruguayen', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'sum ouzbek', + 'UZS', + 'sum ouzbek', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'bolivar vénézuélien (1871–2008)', + 'VEB', + 'bolivar vénézuélien (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'bolivar vénézuélien (2008–2018)', + 'VEF', + 'bolivar vénézuélien (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'bolivar vénézuélien', + 'VES', + 'bolivar vénézuélien', ], 'VND' => [ - 0 => '₫', - 1 => 'dông vietnamien', + '₫', + 'dông vietnamien', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vatu vanuatuan', + 'VUV', + 'vatu vanuatuan', ], 'WST' => [ - 0 => '$WS', - 1 => 'tala samoan', + '$WS', + 'tala samoan', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'franc CFA (BEAC)', + 'FCFA', + 'franc CFA (BEAC)', ], 'XCD' => [ - 0 => 'XCD', - 1 => 'dollar des Caraïbes orientales', + 'XCD', + 'dollar des Caraïbes orientales', + ], + 'XCG' => [ + 'Cg.', + 'florin caribéen', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'unité de compte européenne (ECU)', + 'XEU', + 'unité de compte européenne (ECU)', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'franc or', + 'XFO', + 'franc or', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'franc UIC', + 'XFU', + 'franc UIC', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'franc CFA (BCEAO)', + 'F CFA', + 'franc CFA (BCEAO)', ], 'XPF' => [ - 0 => 'FCFP', - 1 => 'franc CFP', + 'FCFP', + 'franc CFP', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'type de fonds RINET', + 'XRE', + 'type de fonds RINET', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'dinar du Yémen', + 'YDD', + 'dinar du Yémen', ], 'YER' => [ - 0 => 'YER', - 1 => 'riyal yéménite', + 'YER', + 'riyal yéménite', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'nouveau dinar yougoslave', + 'YUD', + 'nouveau dinar yougoslave', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'dinar yougoslave Noviy', + 'YUM', + 'dinar yougoslave Noviy', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'dinar yougoslave convertible', + 'YUN', + 'dinar yougoslave convertible', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'rand sud-africain (financier)', + 'ZAL', + 'rand sud-africain (financier)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'rand sud-africain', + 'ZAR', + 'rand sud-africain', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'kwacha zambien (1968–2012)', + 'ZMK', + 'kwacha zambien (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'kwacha zambien', + 'ZMW', + 'kwacha zambien', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'nouveau zaïre zaïrien', + 'ZRN', + 'nouveau zaïre zaïrien', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'zaïre zaïrois', + 'ZRZ', + 'zaïre zaïrois', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'dollar zimbabwéen', + 'ZWD', + 'dollar zimbabwéen', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'dollar zimbabwéen (2009)', + 'ZWL', + 'dollar zimbabwéen (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'dollar zimbabwéen (2008)', + 'ZWR', + 'dollar zimbabwéen (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_BI.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_BI.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_BI.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_BI.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'BIF' => [ - 0 => 'FBu', - 1 => 'franc burundais', + 'FBu', + 'franc burundais', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_CA.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_CA.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_CA.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_CA.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,180 +3,180 @@ return [ 'Names' => [ 'ARS' => [ - 0 => 'ARS', - 1 => 'peso argentin', + 'ARS', + 'peso argentin', ], 'AUD' => [ - 0 => '$ AU', - 1 => 'dollar australien', + '$ AU', + 'dollar australien', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'manat azerbaïdjanais', + 'AZN', + 'manat azerbaïdjanais', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'dollar bermudien', + 'BMD', + 'dollar bermudien', ], 'BND' => [ - 0 => 'BND', - 1 => 'dollar brunéien', + 'BND', + 'dollar brunéien', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'dollar bélizéen', + 'BZD', + 'dollar bélizéen', ], 'CAD' => [ - 0 => '$', - 1 => 'dollar canadien', + '$', + 'dollar canadien', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'peso chilien', + 'CLP', + 'peso chilien', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'yuan renminbi chinois', + 'CN¥', + 'yuan renminbi chinois', ], 'COP' => [ - 0 => 'COP', - 1 => 'peso colombien', + 'COP', + 'peso colombien', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'escudo cap-verdien', + 'CVE', + 'escudo cap-verdien', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'dollar fidjien', + 'FJD', + 'dollar fidjien', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'livre des îles Malouines', + 'FKP', + 'livre des îles Malouines', ], 'GBP' => [ - 0 => '£', - 1 => 'livre sterling', + '£', + 'livre sterling', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'livre de Gibraltar', + 'GIP', + 'livre de Gibraltar', ], 'HKD' => [ - 0 => '$ HK', - 1 => 'dollar de Hong Kong', + '$ HK', + 'dollar de Hong Kong', ], 'ILS' => [ - 0 => 'ILS', - 1 => 'nouveau shekel israélien', + 'ILS', + 'nouveau shekel israélien', ], 'INR' => [ - 0 => 'INR', - 1 => 'roupie indienne', + 'INR', + 'roupie indienne', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'rial iranien', + 'IRR', + 'rial iranien', ], 'JPY' => [ - 0 => '¥', - 1 => 'yen japonais', + '¥', + 'yen japonais', ], 'KRW' => [ - 0 => 'KRW', - 1 => 'won sud-coréen', + 'KRW', + 'won sud-coréen', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'livre libanaise', + 'LBP', + 'livre libanaise', ], 'MXN' => [ - 0 => 'MXN', - 1 => 'peso mexicain', + 'MXN', + 'peso mexicain', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'dollar namibien', + 'NAD', + 'dollar namibien', ], 'NZD' => [ - 0 => '$ NZ', - 1 => 'dollar néo-zélandais', + '$ NZ', + 'dollar néo-zélandais', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'rial omanais', + 'OMR', + 'rial omanais', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'nouveau sol péruvien', + 'PEN', + 'nouveau sol péruvien', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'kina papou-néo-guinéen', + 'PGK', + 'kina papou-néo-guinéen', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'riyal du Qatar', + 'QAR', + 'riyal du Qatar', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'rial saoudien', + 'SAR', + 'rial saoudien', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'dollar des îles Salomon', + 'SBD', + 'dollar des îles Salomon', ], 'SGD' => [ - 0 => '$ SG', - 1 => 'dollar de Singapour', + '$ SG', + 'dollar de Singapour', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'dollar du Suriname', + 'SRD', + 'dollar du Suriname', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'pa’anga', + 'TOP', + 'pa’anga', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'dollar de Trinité-et-Tobago', + 'TTD', + 'dollar de Trinité-et-Tobago', ], 'USD' => [ - 0 => '$ US', - 1 => 'dollar des États-Unis', + '$ US', + 'dollar des États-Unis', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'peso uruguayen', + 'UYU', + 'peso uruguayen', ], 'VND' => [ - 0 => 'VND', - 1 => 'dông vietnamien', + 'VND', + 'dông vietnamien', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vatu', + 'VUV', + 'vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'tala', + 'WST', + 'tala', ], 'XAF' => [ - 0 => 'XAF', - 1 => 'franc CFA (BEAC)', + 'XAF', + 'franc CFA (BEAC)', ], 'XOF' => [ - 0 => 'XOF', - 1 => 'franc CFA (BCEAO)', + 'XOF', + 'franc CFA (BCEAO)', ], 'XPF' => [ - 0 => 'XPF', - 1 => 'franc CFP', + 'XPF', + 'franc CFP', ], 'YER' => [ - 0 => 'YER', - 1 => 'rial yéménite', + 'YER', + 'rial yéménite', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_CD.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_CD.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_CD.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_CD.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'CDF' => [ - 0 => 'FC', - 1 => 'franc congolais', + 'FC', + 'franc congolais', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_DJ.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_DJ.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_DJ.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_DJ.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'DJF' => [ - 0 => 'Fdj', - 1 => 'franc djiboutien', + 'Fdj', + 'franc djiboutien', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_DZ.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_DZ.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_DZ.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_DZ.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'DZD' => [ - 0 => 'DA', - 1 => 'dinar algérien', + 'DA', + 'dinar algérien', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_GN.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_GN.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_GN.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_GN.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GNF' => [ - 0 => 'FG', - 1 => 'franc guinéen', + 'FG', + 'franc guinéen', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_HT.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_HT.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_HT.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_HT.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'HTG' => [ - 0 => 'G', - 1 => 'gourde haïtienne', + 'G', + 'gourde haïtienne', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_KM.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_KM.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_KM.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_KM.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'KMF' => [ - 0 => 'CF', - 1 => 'franc comorien', + 'CF', + 'franc comorien', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_LU.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_LU.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_LU.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_LU.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'FRF' => [ - 0 => 'FRF', - 1 => 'franc français', + 'FRF', + 'franc français', ], 'LUF' => [ - 0 => 'F', - 1 => 'franc luxembourgeois', + 'F', + 'franc luxembourgeois', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MG.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MG.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MG.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MG.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'MGA' => [ - 0 => 'Ar', - 1 => 'ariary malgache', + 'Ar', + 'ariary malgache', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MR.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MR.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MR.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MR.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'MRU' => [ - 0 => 'UM', - 1 => 'ouguiya mauritanien', + 'UM', + 'ouguiya mauritanien', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MU.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MU.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MU.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_MU.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'MUR' => [ - 0 => 'Rs', - 1 => 'roupie mauricienne', + 'Rs', + 'roupie mauricienne', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_RW.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_RW.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_RW.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_RW.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'RWF' => [ - 0 => 'RF', - 1 => 'franc rwandais', + 'RF', + 'franc rwandais', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_SC.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_SC.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_SC.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_SC.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'SCR' => [ - 0 => 'SR', - 1 => 'roupie des Seychelles', + 'SR', + 'roupie des Seychelles', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_SY.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_SY.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_SY.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_SY.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'SYP' => [ - 0 => 'LS', - 1 => 'livre syrienne', + 'LS', + 'livre syrienne', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_TN.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_TN.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_TN.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_TN.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'TND' => [ - 0 => 'DT', - 1 => 'dinar tunisien', + 'DT', + 'dinar tunisien', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_VU.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_VU.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_VU.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fr_VU.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'VUV' => [ - 0 => 'VT', - 1 => 'vatu vanuatuan', + 'VT', + 'vatu vanuatuan', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fy.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fy.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fy.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/fy.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1136 +3,1140 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Andorrese peseta', + 'ADP', + 'Andorrese peseta', ], 'AED' => [ - 0 => 'AED', - 1 => 'Verenigde Arabyske Emiraten-dirham', + 'AED', + 'Verenigde Arabyske Emiraten-dirham', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Afghani (1927–2002)', + 'AFA', + 'Afghani (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afghaanske afghani', + 'AFN', + 'Afghaanske afghani', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Albanese lek', + 'ALL', + 'Albanese lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Armeense dram', + 'AMD', + 'Armeense dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Nederlânsk-Antilliaanske gûne', + 'ANG', + 'Nederlânsk-Antilliaanske gûne', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Angolese kwanza', + 'AOA', + 'Angolese kwanza', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Angolese kwanza (1977–1990)', + 'AOK', + 'Angolese kwanza (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Angolese nieuwe kwanza (1990–2000)', + 'AON', + 'Angolese nieuwe kwanza (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Angolese kwanza reajustado (1995–1999)', + 'AOR', + 'Angolese kwanza reajustado (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Argentynske austral', + 'ARA', + 'Argentynske austral', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'Argentynske peso ley (1970–1983)', + 'ARL', + 'Argentynske peso ley (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'Argentynske peso (1881–1970)', + 'ARM', + 'Argentynske peso (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Argentynske peso (1983–1985)', + 'ARP', + 'Argentynske peso (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Argentynske peso', + 'ARS', + 'Argentynske peso', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Eastenrykse schilling', + 'ATS', + 'Eastenrykse schilling', ], 'AUD' => [ - 0 => 'AU$', - 1 => 'Australyske dollar', + 'AU$', + 'Australyske dollar', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Arubaanske gulden', + 'AWG', + 'Arubaanske gulden', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Azerbeidzjaanske manat (1993–2006)', + 'AZM', + 'Azerbeidzjaanske manat (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Azerbeidzjaanske manat', + 'AZN', + 'Azerbeidzjaanske manat', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Bosnyske dinar', + 'BAD', + 'Bosnyske dinar', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Bosnyske convertibele mark', + 'BAM', + 'Bosnyske convertibele mark', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'Nije Bosnyske dinar (1994–1997)', + 'BAN', + 'Nije Bosnyske dinar (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Barbadaanske dollar', + 'BBD', + 'Barbadaanske dollar', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Bengalese taka', + 'BDT', + 'Bengalese taka', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Belgyske frank (convertibel)', + 'BEC', + 'Belgyske frank (convertibel)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Belgyske frank', + 'BEF', + 'Belgyske frank', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Belgyske frank (finansjeel)', + 'BEL', + 'Belgyske frank (finansjeel)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Bulgaarse harde lev', + 'BGL', + 'Bulgaarse harde lev', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'Bulgaarse socialistyske lev', + 'BGM', + 'Bulgaarse socialistyske lev', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Bulgaarse lev', + 'BGN', + 'Bulgaarse lev', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'Bulgaarse lev (1879–1952)', + 'BGO', + 'Bulgaarse lev (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Bahreinse dinar', + 'BHD', + 'Bahreinse dinar', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Burundese frank', + 'BIF', + 'Burundese frank', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermuda-dollar', + 'BMD', + 'Bermuda-dollar', ], 'BND' => [ - 0 => 'BND', - 1 => 'Bruneise dollar', + 'BND', + 'Bruneise dollar', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Boliviaanske boliviano', + 'BOB', + 'Boliviaanske boliviano', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'Boliviaanske boliviano (1863–1963)', + 'BOL', + 'Boliviaanske boliviano (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Boliviaanske peso', + 'BOP', + 'Boliviaanske peso', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Boliviaanske mvdol', + 'BOV', + 'Boliviaanske mvdol', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Braziliaanske cruzeiro novo (1967–1986)', + 'BRB', + 'Braziliaanske cruzeiro novo (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Braziliaanske cruzado', + 'BRC', + 'Braziliaanske cruzado', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Braziliaanske cruzeiro (1990–1993)', + 'BRE', + 'Braziliaanske cruzeiro (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Braziliaanske real', + 'R$', + 'Braziliaanske real', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Braziliaanske cruzado novo', + 'BRN', + 'Braziliaanske cruzado novo', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Braziliaanske cruzeiro', + 'BRR', + 'Braziliaanske cruzeiro', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'Braziliaanske cruzeiro (1942–1967)', + 'BRZ', + 'Braziliaanske cruzeiro (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Bahamaanske dollar', + 'BSD', + 'Bahamaanske dollar', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Bhutaanske ngultrum', + 'BTN', + 'Bhutaanske ngultrum', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Birmese kyat', + 'BUK', + 'Birmese kyat', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Botswaanske pula', + 'BWP', + 'Botswaanske pula', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Wit-Russyske nieuwe roebel (1994–1999)', + 'BYB', + 'Wit-Russyske nieuwe roebel (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Wit-Russyske roebel', + 'BYN', + 'Wit-Russyske roebel', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Wit-Russyske roebel (2000–2016)', + 'BYR', + 'Wit-Russyske roebel (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Belizaanske dollar', + 'BZD', + 'Belizaanske dollar', ], 'CAD' => [ - 0 => 'C$', - 1 => 'Canadese dollar', + 'C$', + 'Canadese dollar', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Congolese frank', + 'CDF', + 'Congolese frank', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'WIR euro', + 'CHE', + 'WIR euro', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Zwitserse frank', + 'CHF', + 'Zwitserse frank', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'WIR franc', + 'CHW', + 'WIR franc', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'Sileenske escudo', + 'CLE', + 'Sileenske escudo', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Sileenske unidades de fomento', + 'CLF', + 'Sileenske unidades de fomento', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Sileenske peso', + 'CLP', + 'Sileenske peso', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Sineeske yuan renminbi', + 'CN¥', + 'Sineeske yuan renminbi', ], 'COP' => [ - 0 => 'COP', - 1 => 'Kolombiaanske peso', + 'COP', + 'Kolombiaanske peso', ], 'COU' => [ - 0 => 'COU', - 1 => 'Unidad de Valor Real', + 'COU', + 'Unidad de Valor Real', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Costaricaanske colón', + 'CRC', + 'Costaricaanske colón', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Alde Servyske dinar', + 'CSD', + 'Alde Servyske dinar', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Tsjechoslowaakse harde koruna', + 'CSK', + 'Tsjechoslowaakse harde koruna', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Kubaanske convertibele peso', + 'CUC', + 'Kubaanske convertibele peso', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Kubaanske peso', + 'CUP', + 'Kubaanske peso', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Kaapverdyske escudo', + 'CVE', + 'Kaapverdyske escudo', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Cyprysk pûn', + 'CYP', + 'Cyprysk pûn', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Tsjechyske kroon', + 'CZK', + 'Tsjechyske kroon', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'East-Dútske ostmark', + 'DDM', + 'East-Dútske ostmark', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Dútske mark', + 'DEM', + 'Dútske mark', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Djiboutiaanske frank', + 'DJF', + 'Djiboutiaanske frank', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Deenske kroon', + 'DKK', + 'Deenske kroon', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Dominikaanske peso', + 'DOP', + 'Dominikaanske peso', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Algerynske dinar', + 'DZD', + 'Algerynske dinar', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Ecuadoraanske sucre', + 'ECS', + 'Ecuadoraanske sucre', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Ecuadoraanske unidad de valor constante (UVC)', + 'ECV', + 'Ecuadoraanske unidad de valor constante (UVC)', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Estlânske kroon', + 'EEK', + 'Estlânske kroon', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Egyptysk pûn', + 'EGP', + 'Egyptysk pûn', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Eritrese nakfa', + 'ERN', + 'Eritrese nakfa', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'Spaanske peseta (account A)', + 'ESA', + 'Spaanske peseta (account A)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'Spaanske peseta (convertibele account)', + 'ESB', + 'Spaanske peseta (convertibele account)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Spaanske peseta', + 'ESP', + 'Spaanske peseta', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Ethiopyske birr', + 'ETB', + 'Ethiopyske birr', ], 'EUR' => [ - 0 => '€', - 1 => 'Euro', + '€', + 'Euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Finse markka', + 'FIM', + 'Finse markka', ], 'FJD' => [ - 0 => 'FJ$', - 1 => 'Fiji-dollar', + 'FJ$', + 'Fiji-dollar', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Falklâneilânske pûn', + 'FKP', + 'Falklâneilânske pûn', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Franske franc', + 'FRF', + 'Franske franc', ], 'GBP' => [ - 0 => '£', - 1 => 'Brits pûn', + '£', + 'Brits pûn', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Georgyske kupon larit', + 'GEK', + 'Georgyske kupon larit', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Georgyske lari', + 'GEL', + 'Georgyske lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Ghanese cedi (1979–2007)', + 'GHC', + 'Ghanese cedi (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Ghanese cedi', + 'GHS', + 'Ghanese cedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Gibraltarees pûn', + 'GIP', + 'Gibraltarees pûn', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Gambiaanske dalasi', + 'GMD', + 'Gambiaanske dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Guinese franc', + 'GNF', + 'Guinese franc', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Guinese syli', + 'GNS', + 'Guinese syli', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Equatoriaal-Guinese ekwele guineana', + 'GQE', + 'Equatoriaal-Guinese ekwele guineana', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Grykse drachme', + 'GRD', + 'Grykse drachme', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Guatemalteekse quetzal', + 'GTQ', + 'Guatemalteekse quetzal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Portugees-Guinese escudo', + 'GWE', + 'Portugees-Guinese escudo', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Guinee-Bissause peso', + 'GWP', + 'Guinee-Bissause peso', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Guyaanske dollar', + 'GYD', + 'Guyaanske dollar', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Hongkongske dollar', + 'HK$', + 'Hongkongske dollar', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Hondurese lempira', + 'HNL', + 'Hondurese lempira', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Kroatyske dinar', + 'HRD', + 'Kroatyske dinar', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Kroatyske kuna', + 'HRK', + 'Kroatyske kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Haïtiaanske gourde', + 'HTG', + 'Haïtiaanske gourde', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Hongaarse forint', + 'HUF', + 'Hongaarse forint', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Indonesyske roepia', + 'IDR', + 'Indonesyske roepia', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Ierske pûn', + 'IEP', + 'Ierske pûn', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Israëlysk pûn', + 'ILP', + 'Israëlysk pûn', ], 'ILS' => [ - 0 => '₪', - 1 => 'Israëlyske nieuwe shekel', + '₪', + 'Israëlyske nieuwe shekel', ], 'INR' => [ - 0 => '₹', - 1 => 'Indiase roepie', + '₹', + 'Indiase roepie', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Iraakse dinar', + 'IQD', + 'Iraakse dinar', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Iraanske rial', + 'IRR', + 'Iraanske rial', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Yslânske kroon', + 'ISK', + 'Yslânske kroon', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Italiaanske lire', + 'ITL', + 'Italiaanske lire', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Jamaikaanske dollar', + 'JMD', + 'Jamaikaanske dollar', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Jordaanske dinar', + 'JOD', + 'Jordaanske dinar', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Japanse yen', + 'JP¥', + 'Japanse yen', ], 'KES' => [ - 0 => 'KES', - 1 => 'Keniaanske shilling', + 'KES', + 'Keniaanske shilling', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Kirgizyske som', + 'KGS', + 'Kirgizyske som', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Kambodjaanske riel', + 'KHR', + 'Kambodjaanske riel', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Komorese frank', + 'KMF', + 'Komorese frank', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Noard-Koreaanske won', + 'KPW', + 'Noard-Koreaanske won', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'Sûd-Koreaanske hwan (1953–1962)', + 'KRH', + 'Sûd-Koreaanske hwan (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'Alde Sûd-Koreaanske won (1945–1953)', + 'KRO', + 'Alde Sûd-Koreaanske won (1945–1953)', ], 'KRW' => [ - 0 => '₩', - 1 => 'Sûd-Koreaanske won', + '₩', + 'Sûd-Koreaanske won', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Koeweitse dinar', + 'KWD', + 'Koeweitse dinar', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Caymaneilânske dollar', + 'KYD', + 'Caymaneilânske dollar', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Kazachstaanske tenge', + 'KZT', + 'Kazachstaanske tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Laotiaanske kip', + 'LAK', + 'Laotiaanske kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Libaneeske pûn', + 'LBP', + 'Libaneeske pûn', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Sri Lankaanske roepie', + 'LKR', + 'Sri Lankaanske roepie', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Liberiaanske dollar', + 'LRD', + 'Liberiaanske dollar', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Lesothaanske loti', + 'LSL', + 'Lesothaanske loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litouwse litas', + 'LTL', + 'Litouwse litas', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Litouwse talonas', + 'LTT', + 'Litouwse talonas', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Lúksemboargske convertibele franc', + 'LUC', + 'Lúksemboargske convertibele franc', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Lúksemboargske frank', + 'LUF', + 'Lúksemboargske frank', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Lúksemboargske finansjele franc', + 'LUL', + 'Lúksemboargske finansjele franc', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Letse lats', + 'LVL', + 'Letse lats', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Letse roebel', + 'LVR', + 'Letse roebel', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Libyske dinar', + 'LYD', + 'Libyske dinar', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Marokkaanske dirham', + 'MAD', + 'Marokkaanske dirham', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Marokkaanske franc', + 'MAF', + 'Marokkaanske franc', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'Monegaskyske frank', + 'MCF', + 'Monegaskyske frank', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'Moldavyske cupon', + 'MDC', + 'Moldavyske cupon', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Moldavyske leu', + 'MDL', + 'Moldavyske leu', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Malagassyske ariary', + 'MGA', + 'Malagassyske ariary', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Malagassyske franc', + 'MGF', + 'Malagassyske franc', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Macedonyske denar', + 'MKD', + 'Macedonyske denar', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'Macedonyske denar (1992–1993)', + 'MKN', + 'Macedonyske denar (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Malinese franc', + 'MLF', + 'Malinese franc', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Myanmarese kyat', + 'MMK', + 'Myanmarese kyat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Mongoalske tugrik', + 'MNT', + 'Mongoalske tugrik', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Macause pataca', + 'MOP', + 'Macause pataca', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Mauritaanske ouguiya (1973–2017)', + 'MRO', + 'Mauritaanske ouguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Mauritaanske ouguiya', + 'MRU', + 'Mauritaanske ouguiya', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Maltese lire', + 'MTL', + 'Maltese lire', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Maltees pûn', + 'MTP', + 'Maltees pûn', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Mauritiaanske roepie', + 'MUR', + 'Mauritiaanske roepie', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Maldivyske rufiyaa', + 'MVR', + 'Maldivyske rufiyaa', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Malawyske kwacha', + 'MWK', + 'Malawyske kwacha', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Meksikaanske peso', + 'MX$', + 'Meksikaanske peso', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Meksikaanske sulveren peso (1861–1992)', + 'MXP', + 'Meksikaanske sulveren peso (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Meksikaanske unidad de inversion (UDI)', + 'MXV', + 'Meksikaanske unidad de inversion (UDI)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Maleisyske ringgit', + 'MYR', + 'Maleisyske ringgit', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Mozambikaanske escudo', + 'MZE', + 'Mozambikaanske escudo', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Alde Mozambikaanske metical', + 'MZM', + 'Alde Mozambikaanske metical', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Mozambikaanske metical', + 'MZN', + 'Mozambikaanske metical', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Namibyske dollar', + 'NAD', + 'Namibyske dollar', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Nigeriaanske naira', + 'NGN', + 'Nigeriaanske naira', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Nicaraguaanske córdoba (1988–1991)', + 'NIC', + 'Nicaraguaanske córdoba (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Nicaraguaanske córdoba', + 'NIO', + 'Nicaraguaanske córdoba', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Nederlânske gûne', + 'NLG', + 'Nederlânske gûne', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Noarske kroon', + 'NOK', + 'Noarske kroon', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Nepalese roepie', + 'NPR', + 'Nepalese roepie', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Nij-Seelânske dollar', + 'NZ$', + 'Nij-Seelânske dollar', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Omaanske rial', + 'OMR', + 'Omaanske rial', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Panamese balboa', + 'PAB', + 'Panamese balboa', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Peruaanske inti', + 'PEI', + 'Peruaanske inti', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Peruaanske sol', + 'PEN', + 'Peruaanske sol', ], 'PES' => [ - 0 => 'PES', - 1 => 'Peruaanske sol (1863–1985)', + 'PES', + 'Peruaanske sol (1863–1985)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Papuaanske kina', + 'PGK', + 'Papuaanske kina', ], 'PHP' => [ - 0 => '₱', - 1 => 'Filipynske peso', + '₱', + 'Filipynske peso', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Pakistaanske roepie', + 'PKR', + 'Pakistaanske roepie', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Poalske zloty', + 'PLN', + 'Poalske zloty', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Poalske zloty (1950–1995)', + 'PLZ', + 'Poalske zloty (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Portugeeske escudo', + 'PTE', + 'Portugeeske escudo', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Paraguayaanske guarani', + 'PYG', + 'Paraguayaanske guarani', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Katarese rial', + 'QAR', + 'Katarese rial', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Rhodesyske dollar', + 'RHD', + 'Rhodesyske dollar', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Alde Roemeenske leu', + 'ROL', + 'Alde Roemeenske leu', ], 'RON' => [ - 0 => 'RON', - 1 => 'Roemeenske leu', + 'RON', + 'Roemeenske leu', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Servyske dinar', + 'RSD', + 'Servyske dinar', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Russyske roebel', + 'RUB', + 'Russyske roebel', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Russyske roebel (1991–1998)', + 'RUR', + 'Russyske roebel (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Rwandese frank', + 'RWF', + 'Rwandese frank', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Saoedi-Arabyske riyal', + 'SAR', + 'Saoedi-Arabyske riyal', ], 'SBD' => [ - 0 => 'SI$', - 1 => 'Salomon-dollar', + 'SI$', + 'Salomon-dollar', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Seychelse roepie', + 'SCR', + 'Seychelse roepie', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Soedaneeske dinar', + 'SDD', + 'Soedaneeske dinar', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Soedaneeske pûn', + 'SDG', + 'Soedaneeske pûn', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Soedaneeske pûn (1957–1998)', + 'SDP', + 'Soedaneeske pûn (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Sweedske kroon', + 'SEK', + 'Sweedske kroon', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Singaporese dollar', + 'SGD', + 'Singaporese dollar', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Sint-Heleenske pûn', + 'SHP', + 'Sint-Heleenske pûn', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Sloveenske tolar', + 'SIT', + 'Sloveenske tolar', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Slowaakse koruna', + 'SKK', + 'Slowaakse koruna', + ], + 'SLE' => [ + 'SLE', + 'Sierraleoonse leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Sierraleoonse leone', + 'SLL', + 'Sierraleoonse leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Somalyske shilling', + 'SOS', + 'Somalyske shilling', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Surinaamske dollar', + 'SRD', + 'Surinaamske dollar', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Surinaamske gulden', + 'SRG', + 'Surinaamske gulden', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Sûd-Soedaneeske pûn', + 'SSP', + 'Sûd-Soedaneeske pûn', ], 'STD' => [ - 0 => 'STD', - 1 => 'Santomese dobra (1977–2017)', + 'STD', + 'Santomese dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Santomese dobra', + 'STN', + 'Santomese dobra', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Sovjet-roebel', + 'SUR', + 'Sovjet-roebel', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Salvadoraanske colón', + 'SVC', + 'Salvadoraanske colón', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Syrysk pûn', + 'SYP', + 'Syrysk pûn', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Swazyske lilangeni', + 'SZL', + 'Swazyske lilangeni', ], 'THB' => [ - 0 => '฿', - 1 => 'Thaise baht', + '฿', + 'Thaise baht', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Tadzjikistaanske roebel', + 'TJR', + 'Tadzjikistaanske roebel', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Tadzjikistaanske somoni', + 'TJS', + 'Tadzjikistaanske somoni', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Turkmeense manat (1993–2009)', + 'TMM', + 'Turkmeense manat (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Turkmeense manat', + 'TMT', + 'Turkmeense manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'Tunesyske dinar', + 'TND', + 'Tunesyske dinar', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Tongaanske paʻanga', + 'TOP', + 'Tongaanske paʻanga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Timorese escudo', + 'TPE', + 'Timorese escudo', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Turkse lire', + 'TRL', + 'Turkse lire', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Turkse lira', + 'TRY', + 'Turkse lira', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Trinidad en Tobago-dollar', + 'TTD', + 'Trinidad en Tobago-dollar', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Nije Taiwanese dollar', + 'NT$', + 'Nije Taiwanese dollar', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Tanzaniaanske shilling', + 'TZS', + 'Tanzaniaanske shilling', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Oekraïense hryvnia', + 'UAH', + 'Oekraïense hryvnia', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Oekraïense karbovanetz', + 'UAK', + 'Oekraïense karbovanetz', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Oegandese shilling (1966–1987)', + 'UGS', + 'Oegandese shilling (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Oegandese shilling', + 'UGX', + 'Oegandese shilling', ], 'USD' => [ - 0 => 'US$', - 1 => 'Amerikaanske dollar', + 'US$', + 'Amerikaanske dollar', ], 'USN' => [ - 0 => 'USN', - 1 => 'Amerikaanske dollar (folgjende dei)', + 'USN', + 'Amerikaanske dollar (folgjende dei)', ], 'USS' => [ - 0 => 'USS', - 1 => 'Amerikaanske dollar (zelfde dei)', + 'USS', + 'Amerikaanske dollar (zelfde dei)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Uruguayaanske peso en geïndexeerde eenheden', + 'UYI', + 'Uruguayaanske peso en geïndexeerde eenheden', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Uruguayaanske peso (1975–1993)', + 'UYP', + 'Uruguayaanske peso (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Uruguayaanske peso', + 'UYU', + 'Uruguayaanske peso', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Oezbekistaanske sum', + 'UZS', + 'Oezbekistaanske sum', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Fenezolaanske bolivar (1871–2008)', + 'VEB', + 'Fenezolaanske bolivar (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Fenezolaanske bolivar (2008–2018)', + 'VEF', + 'Fenezolaanske bolivar (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Fenezolaanske bolivar', + 'VES', + 'Fenezolaanske bolivar', ], 'VND' => [ - 0 => '₫', - 1 => 'Fietnameeske dong', + '₫', + 'Fietnameeske dong', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'Alde Fietnameeske dong (1978–1985)', + 'VNN', + 'Alde Fietnameeske dong (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vanuatuaanske vatu', + 'VUV', + 'Vanuatuaanske vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Samoaanske tala', + 'WST', + 'Samoaanske tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'CFA-frank', + 'FCFA', + 'CFA-frank', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'East-Karibyske dollar', + 'EC$', + 'East-Karibyske dollar', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'European Currency Unit', + 'XEU', + 'European Currency Unit', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Franse gouden franc', + 'XFO', + 'Franse gouden franc', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Franse UIC-franc', + 'XFU', + 'Franse UIC-franc', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'CFA-franc BCEAO', + 'F CFA', + 'CFA-franc BCEAO', ], 'XPF' => [ - 0 => 'XPF', - 1 => 'CFP-franc', + 'XPF', + 'CFP-franc', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'RINET-fondsen', + 'XRE', + 'RINET-fondsen', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Jemenityske dinar', + 'YDD', + 'Jemenityske dinar', ], 'YER' => [ - 0 => 'YER', - 1 => 'Jemenityske rial', + 'YER', + 'Jemenityske rial', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Joegoslavyske harde dinar', + 'YUD', + 'Joegoslavyske harde dinar', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Joegoslavyske noviy-dinar', + 'YUM', + 'Joegoslavyske noviy-dinar', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Joegoslavyske convertibele dinar', + 'YUN', + 'Joegoslavyske convertibele dinar', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'Joegoslavyske herfoarme dinar (1992–1993)', + 'YUR', + 'Joegoslavyske herfoarme dinar (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Sûd-Afrikaanske rand (finansjeel)', + 'ZAL', + 'Sûd-Afrikaanske rand (finansjeel)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Sûd-Afrikaanske rand', + 'ZAR', + 'Sûd-Afrikaanske rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Sambiaanske kwacha (1968–2012)', + 'ZMK', + 'Sambiaanske kwacha (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Sambiaanske kwacha', + 'ZMW', + 'Sambiaanske kwacha', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Saïreeske nije Saïre', + 'ZRN', + 'Saïreeske nije Saïre', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Saïreeske Saïre', + 'ZRZ', + 'Saïreeske Saïre', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Simbabwaanske dollar', + 'ZWD', + 'Simbabwaanske dollar', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Simbabwaanske dollar (2009)', + 'ZWL', + 'Simbabwaanske dollar (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Simbabwaanske dollar (2008)', + 'ZWR', + 'Simbabwaanske dollar (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ga.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ga.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ga.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ga.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1108 +3,1088 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Peseta Andóra', + 'ADP', + 'Peseta Andóra', ], 'AED' => [ - 0 => 'AED', - 1 => 'Dirham Aontas na nÉimíríochtaí Arabacha', + 'AED', + 'Dirham Aontas na nÉimíríochtaí Arabacha', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Afgainí (1927–2002)', + 'AFA', + 'Afgainí (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afghani na hAfganastáine', + 'AFN', + 'Afghani na hAfganastáine', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'Lek na hAlbáine (1946–1965)', + 'ALK', + 'Lek na hAlbáine (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Lek na hAlbáine', + 'ALL', + 'Lek na hAlbáine', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Dram na hAirméine', + 'AMD', + 'Dram na hAirméine', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Gildear Aintillí na hÍsiltíre', + 'ANG', + 'Gildear Aintillí na hÍsiltíre', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Kwanza Angóla', + 'AOA', + 'Kwanza Angóla', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Kwanza Angólach (1977–1990)', + 'AOK', + 'Kwanza Angólach (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Kwanza Nua Angólach (1990–2000)', + 'AON', + 'Kwanza Nua Angólach (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Kwanza Reajustado Angólach (1995–1999)', + 'AOR', + 'Kwanza Reajustado Angólach (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Austral Airgintíneach', + 'ARA', + 'Austral Airgintíneach', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'ARL', + 'ARL', + 'Peso Ley na hAirgintíne (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'Peso na hAirgintíne (1881–1970)', + 'ARM', + 'Peso na hAirgintíne (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Peso na hAirgintíne (1983–1985)', + 'ARP', + 'Peso na hAirgintíne (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Peso na hAirgintíne', + 'ARS', + 'Peso na hAirgintíne', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Scilling na hOstaire', + 'ATS', + 'Scilling na hOstaire', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Dollar na hAstráile', + 'A$', + 'Dollar na hAstráile', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Flóirín Arúba', + 'AWG', + 'Flóirín Arúba', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Manat na hAsarbaiseáine (1993–2006)', + 'AZM', + 'Manat na hAsarbaiseáine (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Manat na hAsarbaiseáine', + 'AZN', + 'Manat na hAsarbaiseáine', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Dínear Bhoisnia-Heirseagaivéin (1992–1994)', + 'BAD', + 'Dínear Bhoisnia-Heirseagaivéin (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Marg Inmhalartaithe na Boisnia-Heirseagaivéine', - ], - 'BAN' => [ - 0 => 'BAN', - 1 => 'BAN', + 'BAM', + 'Marg Inmhalartaithe na Boisnia-Heirseagaivéine', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Dollar Bharbadós', + 'BBD', + 'Dollar Bharbadós', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Taka na Banglaidéise', + 'BDT', + 'Taka na Banglaidéise', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Franc na Beilge (inmhalartaithe)', + 'BEC', + 'Franc na Beilge (inmhalartaithe)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Franc Beilgeach', + 'BEF', + 'Franc Beilgeach', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Franc na Beilge (airgeadais)', + 'BEL', + 'Franc na Beilge (airgeadais)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Lev Crua na Bulgáire', + 'BGL', + 'Lev Crua na Bulgáire', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Lev na Bulgáire', + 'BGN', + 'Lev na Bulgáire', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'Lev na Bulgáire (1879–1952)', + 'BGO', + 'Lev na Bulgáire (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Dinar Bhairéin', + 'BHD', + 'Dinar Bhairéin', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Franc na Burúine', + 'BIF', + 'Franc na Burúine', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Dollar Bheirmiúda', + 'BMD', + 'Dollar Bheirmiúda', ], 'BND' => [ - 0 => 'BND', - 1 => 'Dollar Bhrúiné', + 'BND', + 'Dollar Bhrúiné', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Boliviano', - ], - 'BOL' => [ - 0 => 'BOL', - 1 => 'BOL', + 'BOB', + 'Boliviano', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Peso na Bolaive', + 'BOP', + 'Peso na Bolaive', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Mvdol na Bolaive', + 'BOV', + 'Mvdol na Bolaive', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Cruzeiro Nua na Brasaíle (1967–1986)', + 'BRB', + 'Cruzeiro Nua na Brasaíle (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Cruzado na Brasaíle (1986–1989)', + 'BRC', + 'Cruzado na Brasaíle (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Cruzeiro na Brasaíle (1990–1993)', + 'BRE', + 'Cruzeiro na Brasaíle (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Real na Brasaíle', + 'R$', + 'Real na Brasaíle', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Cruzado Nua na Brasaíle (1989–1990)', + 'BRN', + 'Cruzado Nua na Brasaíle (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Cruzeiro na Brasaíle (1993–1994)', + 'BRR', + 'Cruzeiro na Brasaíle (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'Cruzeiro na Brasaíle (1942–1967)', + 'BRZ', + 'Cruzeiro na Brasaíle (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Dollar na mBahámaí', + 'BSD', + 'Dollar na mBahámaí', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Ngultrum na Bútáine', + 'BTN', + 'Ngultrum na Bútáine', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Kyat Bhurma', + 'BUK', + 'Kyat Bhurma', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Pula na Botsuáine', + 'BWP', + 'Pula na Botsuáine', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Rúbal Nua na Bealarúise (1994–1999)', + 'BYB', + 'Rúbal Nua na Bealarúise (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Rúbal na Bealarúise', + 'BYN', + 'Rúbal na Bealarúise', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Rúbal na Bealarúise (2000–2016)', + 'BYR', + 'Rúbal na Bealarúise (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Dollar na Beilíse', + 'BZD', + 'Dollar na Beilíse', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Dollar Cheanada', + 'CA$', + 'Dollar Cheanada', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Franc an Chongó', + 'CDF', + 'Franc an Chongó', + ], + 'CHE' => [ + 'CHE', + 'Euro WIR', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Franc na hEilvéise', + 'CHF', + 'Franc na hEilvéise', + ], + 'CHW' => [ + 'CHW', + 'Franc WIR', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'Escudo na Sile', + 'CLE', + 'Escudo na Sile', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Unidades de Fomento na Sile', + 'CLF', + 'Unidades de Fomento na Sile', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Peso na Sile', + 'CLP', + 'Peso na Sile', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Yuan na Síne (seachairgeadra)', + 'CNH', + 'Yuan na Síne (seachairgeadra)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Yuan na Síne', + 'CN¥', + 'Yuan na Síne', ], 'COP' => [ - 0 => 'COP', - 1 => 'Peso na Colóime', - ], - 'COU' => [ - 0 => 'COU', - 1 => 'COU', + 'COP', + 'Peso na Colóime', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Colón Chósta Ríce', + 'CRC', + 'Colón Chósta Ríce', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Dinar na Seirbia (2002–2006)', + 'CSD', + 'Dinar na Seirbia (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Koruna Crua na Seicslóvaice', + 'CSK', + 'Koruna Crua na Seicslóvaice', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Peso Inmhalartaithe Chúba', + 'CUC', + 'Peso Inmhalartaithe Chúba', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Peso Chúba', + 'CUP', + 'Peso Chúba', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Escudo Rinn Verde', + 'CVE', + 'Escudo Rinn Verde', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Punt na Cipire', + 'CYP', + 'Punt na Cipire', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Koruna Phoblacht na Seice', + 'CZK', + 'Koruna Phoblacht na Seice', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Marc Ghearmáin an Oirthir', + 'DDM', + 'Marc Ghearmáin an Oirthir', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Deutsche Mark', + 'DEM', + 'Deutsche Mark', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Franc Djibouti', + 'DJF', + 'Franc Djibouti', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Coróin na Danmhairge', + 'DKK', + 'Coróin na Danmhairge', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Peso na Poblachta Doiminicí', + 'DOP', + 'Peso na Poblachta Doiminicí', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Dinar na hAilgéire', + 'DZD', + 'Dinar na hAilgéire', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Sucre Eacuadóir', + 'ECS', + 'Sucre Eacuadóir', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Unidad de Valor Constante (UVC) Eacuadóir', + 'ECV', + 'Unidad de Valor Constante (UVC) Eacuadóir', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Kroon na hEastóine', + 'EEK', + 'Kroon na hEastóine', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Punt na hÉigipte', + 'EGP', + 'Punt na hÉigipte', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Nakfa na hEiritré', - ], - 'ESA' => [ - 0 => 'ESA', - 1 => 'ESA', - ], - 'ESB' => [ - 0 => 'ESB', - 1 => 'ESB', + 'ERN', + 'Nakfa na hEiritré', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Peseta na Spáinne', + 'ESP', + 'Peseta na Spáinne', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Birr na hAetóipe', + 'ETB', + 'Birr na hAetóipe', ], 'EUR' => [ - 0 => '€', - 1 => 'Euro', + '€', + 'Euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Markka Fionnlannach', + 'FIM', + 'Markka Fionnlannach', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Dollar Fhidsí', + 'FJD', + 'Dollar Fhidsí', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Punt Oileáin Fháclainne', + 'FKP', + 'Punt Oileáin Fháclainne', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Franc na Fraince', + 'FRF', + 'Franc na Fraince', ], 'GBP' => [ - 0 => '£', - 1 => 'Punt Steirling', + '£', + 'Punt Steirling', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Kupon Larit na Grúise', + 'GEK', + 'Kupon Larit na Grúise', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Lari na Seoirsia', + 'GEL', + 'Lari na Seoirsia', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Cedi Ghána (1979–2007)', + 'GHC', + 'Cedi Ghána (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Cedi Ghána', + 'GHS', + 'Cedi Ghána', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Punt Ghiobráltar', + 'GIP', + 'Punt Ghiobráltar', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Dalasi na Gaimbia', + 'GMD', + 'Dalasi na Gaimbia', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Franc na Guine', + 'GNF', + 'Franc na Guine', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Syli Guine', + 'GNS', + 'Syli Guine', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Ekwele Guineana na Guine Meánchiorclaí', + 'GQE', + 'Ekwele Guineana na Guine Meánchiorclaí', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Drachma Gréagach', + 'GRD', + 'Drachma Gréagach', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Quetzal Ghuatamala', + 'GTQ', + 'Quetzal Ghuatamala', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Escudo na Guine Portaingéalaí', + 'GWE', + 'Escudo na Guine Portaingéalaí', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Peso Guine-Bhissau', + 'GWP', + 'Peso Guine-Bhissau', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Dollar na Guáine', + 'GYD', + 'Dollar na Guáine', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Dollar Hong Cong', + 'HK$', + 'Dollar Hong Cong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Lempira Hondúras', + 'HNL', + 'Lempira Hondúras', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Dínear na Cróite', + 'HRD', + 'Dínear na Cróite', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Kuna na Cróite', + 'HRK', + 'Kuna na Cróite', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Gourde Háítí', + 'HTG', + 'Gourde Háítí', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Forint na hUngáire', + 'HUF', + 'Forint na hUngáire', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Rupiah na hIndinéise', + 'IDR', + 'Rupiah na hIndinéise', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Punt Éireannach', + 'IEP', + 'Punt Éireannach', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Punt Iosraelach', + 'ILP', + 'Punt Iosraelach', ], 'ILS' => [ - 0 => '₪', - 1 => 'Seiceal Nua Iosrael', + '₪', + 'Seiceal Nua Iosrael', ], 'INR' => [ - 0 => '₹', - 1 => 'Rúipí na hIndia', + '₹', + 'Rúipí na hIndia', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Dinar na hIaráice', + 'IQD', + 'Dinar na hIaráice', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Rial na hIaráine', + 'IRR', + 'Rial na hIaráine', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Króna na hÍoslainne', + 'ISK', + 'Króna na hÍoslainne', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Lira na hIodáile', + 'ITL', + 'Lira na hIodáile', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Dollar na hIamáice', + 'JMD', + 'Dollar na hIamáice', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Dinar na hIordáine', + 'JOD', + 'Dinar na hIordáine', ], 'JPY' => [ - 0 => '¥', - 1 => 'Yen na Seapáine', + '¥', + 'Yen na Seapáine', ], 'KES' => [ - 0 => 'KES', - 1 => 'Scilling na Céinia', + 'KES', + 'Scilling na Céinia', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Som na Cirgeastáine', + 'KGS', + 'Som na Cirgeastáine', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Riel na Cambóide', + 'KHR', + 'Riel na Cambóide', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Franc Oileáin Chomóra', + 'KMF', + 'Franc Oileáin Chomóra', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Won na Cóiré Thuaidh', - ], - 'KRH' => [ - 0 => 'KRH', - 1 => 'KRH', - ], - 'KRO' => [ - 0 => 'KRO', - 1 => 'KRO', + 'KPW', + 'Won na Cóiré Thuaidh', ], 'KRW' => [ - 0 => '₩', - 1 => 'Won na Cóiré Theas', + '₩', + 'Won na Cóiré Theas', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Dinar Chuáit', + 'KWD', + 'Dinar Chuáit', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Dollar Oileáin Cayman', + 'KYD', + 'Dollar Oileáin Cayman', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Tenge na Casacstáine', + 'KZT', + 'Tenge na Casacstáine', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Kip Laos', + 'LAK', + 'Kip Laos', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Punt na Liobáine', + 'LBP', + 'Punt na Liobáine', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Rúipí Shrí Lanca', + 'LKR', + 'Rúipí Shrí Lanca', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Dollar na Libéire', + 'LRD', + 'Dollar na Libéire', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Loti Leosóta', + 'LSL', + 'Loti Leosóta', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litas na Liotuáine', + 'LTL', + 'Litas na Liotuáine', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Talonas Liotuánach', + 'LTT', + 'Talonas Liotuánach', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Franc Inmhalartach Lucsamburgach', + 'LUC', + 'Franc Inmhalartach Lucsamburgach', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Franc Lucsamburg', + 'LUF', + 'Franc Lucsamburg', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Lats na Laitvia', + 'LVL', + 'Lats na Laitvia', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Rúbal na Laitvia', + 'LVR', + 'Rúbal na Laitvia', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Dinar na Libia', + 'LYD', + 'Dinar na Libia', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Dirham Mharacó', + 'MAD', + 'Dirham Mharacó', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Franc Mharacó', + 'MAF', + 'Franc Mharacó', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Leu na Moldóive', + 'MDL', + 'Leu na Moldóive', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Ariary Mhadagascar', + 'MGA', + 'Ariary Mhadagascar', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Franc Madagascar', + 'MGF', + 'Franc Madagascar', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Denar na Macadóine', - ], - 'MKN' => [ - 0 => 'MKN', - 1 => 'MKN', + 'MKD', + 'Denar na Macadóine', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Franc Mhailí', + 'MLF', + 'Franc Mhailí', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Kyat Mhaenmar', + 'MMK', + 'Kyat Mhaenmar', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Tugrik na Mongóile', + 'MNT', + 'Tugrik na Mongóile', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Pataca Mhacao', + 'MOP', + 'Pataca Mhacao', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Ouguiya na Máratáine (1973–2017)', + 'MRO', + 'Ouguiya na Máratáine (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Ouguiya na Máratáine', + 'MRU', + 'Ouguiya na Máratáine', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Lira Mhálta', + 'MTL', + 'Lira Mhálta', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Punt Mhálta', + 'MTP', + 'Punt Mhálta', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Rúipí Oileán Mhuirís', + 'MUR', + 'Rúipí Oileán Mhuirís', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'Rúipí Oileáin Mhaildíve', + 'MVP', + 'Rúipí Oileáin Mhaildíve', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Rufiyaa Oileáin Mhaildíve', + 'MVR', + 'Rufiyaa Oileáin Mhaildíve', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Kwacha na Maláive', + 'MWK', + 'Kwacha na Maláive', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Peso Mheicsiceo', + 'MX$', + 'Peso Mheicsiceo', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Peso Airgid Mheicsiceo (1861–1992)', + 'MXP', + 'Peso Airgid Mheicsiceo (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Aonad Infheistíochta Meicsiceach', + 'MXV', + 'Aonad Infheistíochta Meicsiceach', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Ringgit na Malaeisia', + 'MYR', + 'Ringgit na Malaeisia', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Escudo Mósaimbíce', + 'MZE', + 'Escudo Mósaimbíce', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Metical Mósaimbíce', + 'MZM', + 'Metical Mósaimbíce', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Metical Mhósaimbíc', + 'MZN', + 'Metical Mhósaimbíc', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Dollar na Namaibe', + 'NAD', + 'Dollar na Namaibe', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Naira na Nigéire', + 'NGN', + 'Naira na Nigéire', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Córdoba Nicearagua (1988–1991)', + 'NIC', + 'Córdoba Nicearagua (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Córdoba Nicearagua', + 'NIO', + 'Córdoba Nicearagua', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Guilder Ísiltíreach', + 'NLG', + 'Guilder Ísiltíreach', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Coróin na hIorua', + 'NOK', + 'Coróin na hIorua', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Rúipí Neipeal', + 'NPR', + 'Rúipí Neipeal', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Dollar na Nua-Shéalainne', + 'NZ$', + 'Dollar na Nua-Shéalainne', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Rial Óman', + 'OMR', + 'Rial Óman', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Balboa Phanama', + 'PAB', + 'Balboa Phanama', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Inti Pheiriú', + 'PEI', + 'Inti Pheiriú', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Sol Pheiriú', + 'PEN', + 'Sol Pheiriú', ], 'PES' => [ - 0 => 'PES', - 1 => 'Sol Pheiriú (1863–1965)', + 'PES', + 'Sol Pheiriú (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Kina Nua-Ghuine Phapua', + 'PGK', + 'Kina Nua-Ghuine Phapua', ], 'PHP' => [ - 0 => '₱', - 1 => 'Peso na nOileán Filipíneach', + '₱', + 'Peso na nOileán Filipíneach', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Rúipí na Pacastáine', + 'PKR', + 'Rúipí na Pacastáine', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Zloty na Polainne', + 'PLN', + 'Zloty na Polainne', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Zloty Polannach (1950–1995)', + 'PLZ', + 'Zloty Polannach (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Escudo na Portaingéile', + 'PTE', + 'Escudo na Portaingéile', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Guaraní Pharagua', + 'PYG', + 'Guaraní Pharagua', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Riyal Chatar', + 'QAR', + 'Riyal Chatar', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Leu na Rómáine (1952–2006)', + 'ROL', + 'Leu na Rómáine (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'Leu na Rómáine', + 'RON', + 'Leu na Rómáine', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Dinar na Seirbia', + 'RSD', + 'Dinar na Seirbia', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Rúbal na Rúise', + 'RUB', + 'Rúbal na Rúise', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Rúbal na Rúise (1991–1998)', + 'RUR', + 'Rúbal na Rúise (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Franc Ruanda', + 'RWF', + 'Franc Ruanda', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Riyal na hAraibe Sádaí', + 'SAR', + 'Riyal na hAraibe Sádaí', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Dollar Oileáin Sholomón', + 'SBD', + 'Dollar Oileáin Sholomón', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Rúipí na Séiséal', + 'SCR', + 'Rúipí na Séiséal', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Dinar na Súdáine (1992–2007)', + 'SDD', + 'Dinar na Súdáine (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Punt na Súdáine', + 'SDG', + 'Punt na Súdáine', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Punt na Súdáine (1957–1998)', + 'SDP', + 'Punt na Súdáine (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Coróin na Sualainne', + 'SEK', + 'Coróin na Sualainne', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Dollar Shingeapór', + 'SGD', + 'Dollar Shingeapór', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Punt San Héilin', + 'SHP', + 'Punt San Héilin', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Tolar na Slóivéine', + 'SIT', + 'Tolar na Slóivéine', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Koruna na Slóvaice', + 'SKK', + 'Koruna na Slóvaice', + ], + 'SLE' => [ + 'SLE', + 'Leone Shiarra Leon', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Leone Shiarra Leon', + 'SLL', + 'Leone Shiarra Leon (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Scilling na Somáile', + 'SOS', + 'Scilling na Somáile', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Dollar Shuranam', + 'SRD', + 'Dollar Shuranam', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Gildear Shuranam', + 'SRG', + 'Gildear Shuranam', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Punt na Súdáine Theas', + 'SSP', + 'Punt na Súdáine Theas', ], 'STD' => [ - 0 => 'STD', - 1 => 'Dobra São Tomé agus Príncipe (1977–2017)', + 'STD', + 'Dobra São Tomé agus Príncipe (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Dobra São Tomé agus Príncipe', + 'STN', + 'Dobra São Tomé agus Príncipe', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Rúbal an Aontais Shóivéadaigh', + 'SUR', + 'Rúbal an Aontais Shóivéadaigh', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Colón na Salvadóire', + 'SVC', + 'Colón na Salvadóire', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Punt na Siria', + 'SYP', + 'Punt na Siria', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Lilangeni na Suasalainne', + 'SZL', + 'Lilangeni na Suasalainne', ], 'THB' => [ - 0 => '฿', - 1 => 'Baht na Téalainne', + '฿', + 'Baht na Téalainne', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Rúbal na Táidsíceastáine', + 'TJR', + 'Rúbal na Táidsíceastáine', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Somoni na Táidsíceastáine', + 'TJS', + 'Somoni na Táidsíceastáine', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Manat na Tuircméanastáine (1993–2009)', + 'TMM', + 'Manat na Tuircméanastáine (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Manat na Tuircméanastáine', + 'TMT', + 'Manat na Tuircméanastáine', ], 'TND' => [ - 0 => 'TND', - 1 => 'Dinar na Túinéise', + 'TND', + 'Dinar na Túinéise', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Paʻanga Thonga', + 'TOP', + 'Paʻanga Thonga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Escudo Tíomóir', + 'TPE', + 'Escudo Tíomóir', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Lira na Tuirce (1922–2005)', + 'TRL', + 'Lira na Tuirce (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Lira na Tuirce', + 'TRY', + 'Lira na Tuirce', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Dollar Oileán na Tríonóide agus Tobága', + 'TTD', + 'Dollar Oileán na Tríonóide agus Tobága', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Dollar Nua na Téaváine', + 'NT$', + 'Dollar Nua na Téaváine', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Scilling na Tansáine', + 'TZS', + 'Scilling na Tansáine', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Hryvnia na hÚcráine', + 'UAH', + 'Hryvnia na hÚcráine', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Karbovanets Úcránach', + 'UAK', + 'Karbovanets Úcránach', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Scilling Uganda (1966–1987)', + 'UGS', + 'Scilling Uganda (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Scilling Uganda', + 'UGX', + 'Scilling Uganda', ], 'USD' => [ - 0 => '$', - 1 => 'Dollar S.A.M.', + '$', + 'Dollar S.A.M.', ], 'USN' => [ - 0 => 'USN', - 1 => 'Dollar S.A.M. (an chéad lá eile)', + 'USN', + 'Dollar S.A.M. (an chéad lá eile)', ], 'USS' => [ - 0 => 'USS', - 1 => 'Dollar S.A.M. (an lá céanna)', + 'USS', + 'Dollar S.A.M. (an lá céanna)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Peso Uragua (1975–1993)', + 'UYP', + 'Peso Uragua (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Peso Uragua', + 'UYU', + 'Peso Uragua', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Sum na hÚisbéiceastáine', + 'UZS', + 'Sum na hÚisbéiceastáine', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Bolívar Veiniséala (1871–2008)', + 'VEB', + 'Bolívar Veiniséala (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Bolívar Veiniséala (2008–2018)', + 'VEF', + 'Bolívar Veiniséala (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Bolívar Veiniséala', + 'VES', + 'Bolívar Veiniséala', ], 'VND' => [ - 0 => '₫', - 1 => 'Dong Vítneam', + '₫', + 'Dong Vítneam', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'Dong Vítneam (1978–1985)', + 'VNN', + 'Dong Vítneam (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vatu Vanuatú', + 'VUV', + 'Vatu Vanuatú', ], 'WST' => [ - 0 => 'WST', - 1 => 'Tala Shamó', + 'WST', + 'Tala Shamó', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Franc CFA na hAfraice Láir', + 'FCFA', + 'Franc CFA na hAfraice Láir', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Dollar na Cairibe Thoir', + 'EC$', + 'Dollar na Cairibe Thoir', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'Aonad Airgeadra Eorpach', + 'XEU', + 'Aonad Airgeadra Eorpach', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Franc Ór Francach', + 'XFO', + 'Franc Ór Francach', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'UIC-Franc Francach', + 'XFU', + 'UIC-Franc Francach', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Franc CFA Iarthar na hAfraice', + 'F CFA', + 'Franc CFA Iarthar na hAfraice', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'Franc CFP', - ], - 'XRE' => [ - 0 => 'XRE', - 1 => 'XRE', + 'CFPF', + 'Franc CFP', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Dínear Éimin', + 'YDD', + 'Dínear Éimin', ], 'YER' => [ - 0 => 'YER', - 1 => 'Rial Éimin', + 'YER', + 'Rial Éimin', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Dínear Crua Iúgslavach (1966–1990)', + 'YUD', + 'Dínear Crua Iúgslavach (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Dínear Nua Iúgslavach (1994–2002)', + 'YUM', + 'Dínear Nua Iúgslavach (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Dinar Inmhalartaithe Iúgslavach (1990–1992)', + 'YUN', + 'Dinar Inmhalartaithe Iúgslavach (1990–1992)', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'YUR', + 'YUR', + 'Dinar Leasaithe na hIúgsláive (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Rand na hAfraice Theas (airgeadúil)', + 'ZAL', + 'Rand na hAfraice Theas (airgeadúil)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Rand na hAfraice Theas', + 'ZAR', + 'Rand na hAfraice Theas', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Kwacha Saimbiach (1968–2012)', + 'ZMK', + 'Kwacha Saimbiach (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Kwacha na Saimbia', + 'ZMW', + 'Kwacha na Saimbia', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Zaire Nua Sáíreach', + 'ZRN', + 'Zaire Nua Sáíreach', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Zaire Sáíreach', + 'ZRZ', + 'Zaire Sáíreach', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Dollar Siombábach (1980–2008)', + 'ZWD', + 'Dollar Siombábach (1980–2008)', + ], + 'ZWL' => [ + 'ZWL', + 'Dollar na Siombáibe (2009)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gd.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gd.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gd.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gd.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1172 +3,1176 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Peseta Andorrach', + 'ADP', + 'Peseta Andorrach', ], 'AED' => [ - 0 => 'AED', - 1 => 'Dirham nan Iomaratan Arabach Aonaichte', + 'AED', + 'Dirham nan Iomaratan Arabach Aonaichte', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Afghani Afghanach (1927–2002)', + 'AFA', + 'Afghani Afghanach (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afghani Afghanach', + 'AFN', + 'Afghani Afghanach', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'Lek Albàineach (1946–1965)', + 'ALK', + 'Lek Albàineach (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Lek Albàineach', + 'ALL', + 'Lek Albàineach', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Dram Airmeineach', + 'AMD', + 'Dram Airmeineach', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Gulden Eileanan Aintilia nan Tìrean Ìsle', + 'ANG', + 'Gulden Eileanan Aintilia nan Tìrean Ìsle', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Kwanza Angòlach', + 'AOA', + 'Kwanza Angòlach', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Kwanza Angòlach (1977–1991)', + 'AOK', + 'Kwanza Angòlach (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Kwanza ùr Angòlach (1990–2000)', + 'AON', + 'Kwanza ùr Angòlach (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Kwanza ath-ghleusaichte Angòlach (1995–1999)', + 'AOR', + 'Kwanza ath-ghleusaichte Angòlach (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Austral Argantaineach', + 'ARA', + 'Austral Argantaineach', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'Peso ley Argantaineach (1970–1983)', + 'ARL', + 'Peso ley Argantaineach (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'Peso Argantaineach (1881–1970)', + 'ARM', + 'Peso Argantaineach (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Peso Argantaineach (1983–1985)', + 'ARP', + 'Peso Argantaineach (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Peso Argantaineach', + 'ARS', + 'Peso Argantaineach', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Schilling Ostaireach', + 'ATS', + 'Schilling Ostaireach', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Dolar Astràilianach', + 'A$', + 'Dolar Astràilianach', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Florin Arùbach', + 'AWG', + 'Florin Arùbach', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Manat Asarbaideànach (1993–2006)', + 'AZM', + 'Manat Asarbaideànach (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Manat Asarbaideànach', + 'AZN', + 'Manat Asarbaideànach', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Dinar Bhosna agus Hearsagobhana (1992–1994)', + 'BAD', + 'Dinar Bhosna agus Hearsagobhana (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Mark iompachail Bhosna agus Hearsagobhana', + 'BAM', + 'Mark iompachail Bhosna agus Hearsagobhana', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'Dinar ùr Bhosna agus Hearsagobhana (1994–1997)', + 'BAN', + 'Dinar ùr Bhosna agus Hearsagobhana (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Dolar Barbadach', + 'BBD', + 'Dolar Barbadach', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Taka Bangladaiseach', + 'BDT', + 'Taka Bangladaiseach', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Franc Beilgeach (iompachail)', + 'BEC', + 'Franc Beilgeach (iompachail)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Franc Beilgeach', + 'BEF', + 'Franc Beilgeach', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Franc Beilgeach (ionmhasail)', + 'BEL', + 'Franc Beilgeach (ionmhasail)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Lev cruaidh Bulgarach', + 'BGL', + 'Lev cruaidh Bulgarach', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'Lev sòisealach Bulgarach', + 'BGM', + 'Lev sòisealach Bulgarach', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Lev Bulgarach', + 'BGN', + 'Lev Bulgarach', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'Lev Bulgarach (1879–1952)', + 'BGO', + 'Lev Bulgarach (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Dinar Bachraineach', + 'BHD', + 'Dinar Bachraineach', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Franc Burundaidheach', + 'BIF', + 'Franc Burundaidheach', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Dolar Bearmùdach', + 'BMD', + 'Dolar Bearmùdach', ], 'BND' => [ - 0 => 'BND', - 1 => 'Dolar Brùnaigheach', + 'BND', + 'Dolar Brùnaigheach', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Boliviano Boilibhiach', + 'BOB', + 'Boliviano Boilibhiach', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'Boliviano Boilibhiach (1863–1963)', + 'BOL', + 'Boliviano Boilibhiach (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Peso Boilibhiach', + 'BOP', + 'Peso Boilibhiach', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Mvdol Boilibhiach', + 'BOV', + 'Mvdol Boilibhiach', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Cruzeiro ùr Braisileach (1967–1986)', + 'BRB', + 'Cruzeiro ùr Braisileach (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Cruzado Braisileach (1986–1989)', + 'BRC', + 'Cruzado Braisileach (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Cruzeiro Braisileach (1990–1993)', + 'BRE', + 'Cruzeiro Braisileach (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Real Braisileach', + 'R$', + 'Real Braisileach', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Cruzado ùr Braisileach (1989–1990)', + 'BRN', + 'Cruzado ùr Braisileach (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Cruzeiro Braisileach (1993–1994)', + 'BRR', + 'Cruzeiro Braisileach (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'Cruzeiro Braisileach (1942–1967)', + 'BRZ', + 'Cruzeiro Braisileach (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Dolar Bathamach', + 'BSD', + 'Dolar Bathamach', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Ngultrum Butànach', + 'BTN', + 'Ngultrum Butànach', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Kyat Burmach', + 'BUK', + 'Kyat Burmach', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Pula Botsuanach', + 'BWP', + 'Pula Botsuanach', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Rùbal ùr Bealaruiseach (1994–1999)', + 'BYB', + 'Rùbal ùr Bealaruiseach (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Rùbal Bealaruiseach', + 'BYN', + 'Rùbal Bealaruiseach', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Rùbal Bealaruiseach (2000–2016)', + 'BYR', + 'Rùbal Bealaruiseach (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Dolar Beilìseach', + 'BZD', + 'Dolar Beilìseach', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Dolar Canadach', + 'CA$', + 'Dolar Canadach', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Franc Congothach', + 'CDF', + 'Franc Congothach', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'Eòro WIR', + 'CHE', + 'Eòro WIR', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Franc Eilbheiseach', + 'CHF', + 'Franc Eilbheiseach', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'Franc WIR', + 'CHW', + 'Franc WIR', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'Escudo Sileach', + 'CLE', + 'Escudo Sileach', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Aonad cunntasachd Sileach (UF)', + 'CLF', + 'Aonad cunntasachd Sileach (UF)', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Peso Sileach', + 'CLP', + 'Peso Sileach', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Yuan Sìneach (far-thìreach)', + 'CNH', + 'Yuan Sìneach (far-thìreach)', ], 'CNX' => [ - 0 => 'CNX', - 1 => 'Dolar an t-sluagh-bhanca Shìnich', + 'CNX', + 'Dolar an t-sluagh-bhanca Shìnich', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Yuan Sìneach', + 'CN¥', + 'Yuan Sìneach', ], 'COP' => [ - 0 => 'COP', - 1 => 'Peso Coloimbeach', + 'COP', + 'Peso Coloimbeach', ], 'COU' => [ - 0 => 'COU', - 1 => 'Aonad fìor-luach Coloimbeach', + 'COU', + 'Aonad fìor-luach Coloimbeach', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Colón Costa Rìceach', + 'CRC', + 'Colón Costa Rìceach', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Dinar Sèirbeach (2002–2006)', + 'CSD', + 'Dinar Sèirbeach (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Koruna cruaidh Seic-Slòbhacach', + 'CSK', + 'Koruna cruaidh Seic-Slòbhacach', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Peso iompachail Cùbach', + 'CUC', + 'Peso iompachail Cùbach', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Peso Cùbach', + 'CUP', + 'Peso Cùbach', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Escudo a’ Chip Uaine', + 'CVE', + 'Escudo a’ Chip Uaine', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Punnd Cìoprasach', + 'CYP', + 'Punnd Cìoprasach', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Koruna Seiceach', + 'CZK', + 'Koruna Seiceach', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Mark na Gearmailte an Ear', + 'DDM', + 'Mark na Gearmailte an Ear', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Mark Gearmailteach', + 'DEM', + 'Mark Gearmailteach', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Franc Diobùtaidheach', + 'DJF', + 'Franc Diobùtaidheach', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Krone Danmhairgeach', + 'DKK', + 'Krone Danmhairgeach', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Peso Doiminiceach', + 'DOP', + 'Peso Doiminiceach', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Dinar Aildireach', + 'DZD', + 'Dinar Aildireach', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Sucre Eacuadorach', + 'ECS', + 'Sucre Eacuadorach', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Aonad luach chunbhalaich Eacuadorach', + 'ECV', + 'Aonad luach chunbhalaich Eacuadorach', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Kroon Eastoineach', + 'EEK', + 'Kroon Eastoineach', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Punnd Èipheiteach', + 'EGP', + 'Punnd Èipheiteach', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Nakfa Eartrach', + 'ERN', + 'Nakfa Eartrach', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'Peseta Spàinnteach (cunntas A)', + 'ESA', + 'Peseta Spàinnteach (cunntas A)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'Peseta Spàinnteach (cunntas iompachail)', + 'ESB', + 'Peseta Spàinnteach (cunntas iompachail)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Peseta Spàinnteach', + 'ESP', + 'Peseta Spàinnteach', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Birr Itiopach', + 'ETB', + 'Birr Itiopach', ], 'EUR' => [ - 0 => '€', - 1 => 'Eòro', + '€', + 'Eòro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Markka Fionnlannach', + 'FIM', + 'Markka Fionnlannach', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Dolar Fìditheach', + 'FJD', + 'Dolar Fìditheach', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Punnd Fàclannach', + 'FKP', + 'Punnd Fàclannach', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Franc Frangach', + 'FRF', + 'Franc Frangach', ], 'GBP' => [ - 0 => '£', - 1 => 'Punnd Sasannach', + '£', + 'Punnd Sasannach', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Kupon larit Cairtbheileach', + 'GEK', + 'Kupon larit Cairtbheileach', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Lari Cairtbheileach', + 'GEL', + 'Lari Cairtbheileach', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Cedi Gànach (1979–2007)', + 'GHC', + 'Cedi Gànach (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Cedi Gànach', + 'GHS', + 'Cedi Gànach', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Punnd Diobraltarach', + 'GIP', + 'Punnd Diobraltarach', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Dalasi Gaimbitheach', + 'GMD', + 'Dalasi Gaimbitheach', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Franc Ginitheach', + 'GNF', + 'Franc Ginitheach', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Syli Ginitheach', + 'GNS', + 'Syli Ginitheach', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Ekwele Gini Meadhan-Chriosaich', + 'GQE', + 'Ekwele Gini Meadhan-Chriosaich', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Drachma Greugach', + 'GRD', + 'Drachma Greugach', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Quetzal Guatamalach', + 'GTQ', + 'Quetzal Guatamalach', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Escudo Gini na Portagaile', + 'GWE', + 'Escudo Gini na Portagaile', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Peso Gini-Biosothach', + 'GWP', + 'Peso Gini-Biosothach', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Dolar Guidheànach', + 'GYD', + 'Dolar Guidheànach', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Dolar Hong Kong', + 'HK$', + 'Dolar Hong Kong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Lempira Hondùrach', + 'HNL', + 'Lempira Hondùrach', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Dinar Cròthaiseach', + 'HRD', + 'Dinar Cròthaiseach', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Kuna Cròthaiseach', + 'HRK', + 'Kuna Cròthaiseach', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Gourde Haidhteach', + 'HTG', + 'Gourde Haidhteach', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Forint Ungaireach', + 'HUF', + 'Forint Ungaireach', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Rupiah Innd-Innseach', + 'IDR', + 'Rupiah Innd-Innseach', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Punnd Èireannach', + 'IEP', + 'Punnd Èireannach', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Punnd Iosraeleach', + 'ILP', + 'Punnd Iosraeleach', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'Sheqel Iosraeleach (1980–1985)', + 'ILR', + 'Secel Iosraeleach (1980–1985)', ], 'ILS' => [ - 0 => '₪', - 1 => 'Sheqel ùr Iosraeleach', + '₪', + 'Secel ùr Iosraeleach', ], 'INR' => [ - 0 => '₹', - 1 => 'Rupee Innseanach', + '₹', + 'Rupee Innseanach', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Dinar Ioràcach', + 'IQD', + 'Dinar Ioràcach', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Rial Iorànach', + 'IRR', + 'Rial Iorànach', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'Króna Innis Tìleach (1918–1981)', + 'ISJ', + 'Króna Innis Tìleach (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Króna Innis Tìleach', + 'ISK', + 'Króna Innis Tìleach', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Lira Eadailteach', + 'ITL', + 'Lira Eadailteach', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Dolar Diameugach', + 'JMD', + 'Dolar Diameugach', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Dinar Iòrdanach', + 'JOD', + 'Dinar Iòrdanach', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Yen Seapanach', + 'JP¥', + 'Yen Seapanach', ], 'KES' => [ - 0 => 'KES', - 1 => 'Shilling Ceineach', + 'KES', + 'Shilling Ceineach', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Som Cìorgasach', + 'KGS', + 'Som Cìorgasach', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Riel Cambuideach', + 'KHR', + 'Riel Cambuideach', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Franc Comorosach', + 'KMF', + 'Franc Comorosach', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Won Choirèa a Tuath', + 'KPW', + 'Won Choirèa a Tuath', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'Hwan Choirèa a Deas (1953–1962)', + 'KRH', + 'Hwan Choirèa a Deas (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'Won Choirèa a Deas (1945–1953)', + 'KRO', + 'Won Choirèa a Deas (1945–1953)', ], 'KRW' => [ - 0 => '₩', - 1 => 'Won Choirèa a Deas', + '₩', + 'Won Choirèa a Deas', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Dinar Cuibhèiteach', + 'KWD', + 'Dinar Cuibhèiteach', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Dolar Caimeanach', + 'KYD', + 'Dolar Caimeanach', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Tenge Casachach', + 'KZT', + 'Tenge Casachach', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Kip Làthosach', + 'LAK', + 'Kip Làthosach', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Punnd Leabanach', + 'LBP', + 'Punnd Leabanach', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Rupee Sri Lancach', + 'LKR', + 'Rupee Sri Lancach', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Dolar Libèireach', + 'LRD', + 'Dolar Libèireach', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Loti Leasotach', + 'LSL', + 'Loti Leasotach', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litas Liotuaineach', + 'LTL', + 'Litas Liotuaineach', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Talonas Liotuaineach', + 'LTT', + 'Talonas Liotuaineach', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Franc iompachail Lugsamburgach', + 'LUC', + 'Franc iompachail Lugsamburgach', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Franc Lugsamburgach', + 'LUF', + 'Franc Lugsamburgach', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Franc ionmhasail Lugsamburgach', + 'LUL', + 'Franc ionmhasail Lugsamburgach', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Lats Laitbheach', + 'LVL', + 'Lats Laitbheach', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Rùbal Laitbheach', + 'LVR', + 'Rùbal Laitbheach', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Dinar Libitheach', + 'LYD', + 'Dinar Libitheach', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Dirham Morocach', + 'MAD', + 'Dirham Morocach', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Franc Morocach', + 'MAF', + 'Franc Morocach', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'Franc Monacach', + 'MCF', + 'Franc Monacach', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'Cupon Moldobhach', + 'MDC', + 'Cupon Moldobhach', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Leu Moldobhach', + 'MDL', + 'Leu Moldobhach', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Ariary Madagasgarach', + 'MGA', + 'Ariary Madagasgarach', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Franc Madagasgarach', + 'MGF', + 'Franc Madagasgarach', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Denar Masadonach', + 'MKD', + 'Denar Masadonach', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'Denar Masadonach (1992–1993)', + 'MKN', + 'Denar Masadonach (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Franc Màilitheach', + 'MLF', + 'Franc Màilitheach', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Kyat Miànmarach', + 'MMK', + 'Kyat Miànmarach', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Tugrik Mongolach', + 'MNT', + 'Tugrik Mongolach', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Pataca Macàthuach', + 'MOP', + 'Pataca Macàthuach', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Ouguiya Moratàineach (1973–2017)', + 'MRO', + 'Ouguiya Moratàineach (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Ouguiya Moratàineach', + 'MRU', + 'Ouguiya Moratàineach', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Lira Maltach', + 'MTL', + 'Lira Maltach', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Punnd Maltach', + 'MTP', + 'Punnd Maltach', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Rupee Moiriseasach', + 'MUR', + 'Rupee Moiriseasach', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'Rupee Maladaibheach', + 'MVP', + 'Rupee Maladaibheach', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Rufiyaa Maladaibheach', + 'MVR', + 'Rufiyaa Maladaibheach', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Kwacha Malabhaidheach', + 'MWK', + 'Kwacha Malabhaidheach', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Peso Meagsagach', + 'MX$', + 'Peso Meagsagach', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Peso airgid Meagsagach (1861–1992)', + 'MXP', + 'Peso airgid Meagsagach (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Aonad inbheistidh Meagsagach', + 'MXV', + 'Aonad inbheistidh Meagsagach', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Ringgit Malaidheach', + 'MYR', + 'Ringgit Malaidheach', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Escudo Mòsaimbiceach', + 'MZE', + 'Escudo Mòsaimbiceach', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Metical Mòsaimbiceach (1980–2006)', + 'MZM', + 'Metical Mòsaimbiceach (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Metical Mòsaimbiceach', + 'MZN', + 'Metical Mòsaimbiceach', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Dolar Naimibitheach', + 'NAD', + 'Dolar Naimibitheach', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Naira Nigèiriach', + 'NGN', + 'Naira Nigèiriach', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Córdoba Niocaragach (1988–1991)', + 'NIC', + 'Córdoba Niocaragach (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Córdoba Niocaragach', + 'NIO', + 'Córdoba Niocaragach', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Gulden Duitseach', + 'NLG', + 'Gulden Duitseach', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Krone Nirribheach', + 'NOK', + 'Krone Nirribheach', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Rupee Neapàlach', + 'NPR', + 'Rupee Neapàlach', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Dolar Shealainn Nuaidh', + 'NZ$', + 'Dolar Shealainn Nuaidh', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Rial Omànach', + 'OMR', + 'Rial Omànach', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Balboa Panamach', + 'PAB', + 'Balboa Panamach', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Inti Pearùthach', + 'PEI', + 'Inti Pearùthach', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Sol Pearùthach', + 'PEN', + 'Sol Pearùthach', ], 'PES' => [ - 0 => 'PES', - 1 => 'Sol Pearùthach (1863–1965)', + 'PES', + 'Sol Pearùthach (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Kina Ghini Nuaidh Paputhaiche', + 'PGK', + 'Kina Ghini Nuaidh Paputhaiche', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Peso Filipineach', + 'PHP', + 'Peso Filipineach', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Rupee Pagastànach', + 'PKR', + 'Rupee Pagastànach', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Złoty Pòlainneach', + 'PLN', + 'Złoty Pòlainneach', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Złoty Pòlainneach (1950–1995)', + 'PLZ', + 'Złoty Pòlainneach (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Escudo Portagaileach', + 'PTE', + 'Escudo Portagaileach', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Guaraní Paraguaidheach', + 'PYG', + 'Guaraní Paraguaidheach', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Rial Catarach', + 'QAR', + 'Rial Catarach', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Dolar Rhodesiach', + 'RHD', + 'Dolar Rhodesiach', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Leu Romàineach (1952–2006)', + 'ROL', + 'Leu Romàineach (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'Leu Romàineach', + 'RON', + 'Leu Romàineach', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Dinar Sèirbeach', + 'RSD', + 'Dinar Sèirbeach', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Rùbal Ruiseach', + 'RUB', + 'Rùbal Ruiseach', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Rùbal Ruiseach (1991–1998)', + 'RUR', + 'Rùbal Ruiseach (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Franc Rubhandach', + 'RWF', + 'Franc Rubhandach', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Riyal Sabhdach', + 'SAR', + 'Riyal Sabhdach', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Dolar Eileanan Sholaimh', + 'SBD', + 'Dolar Eileanan Sholaimh', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Rupee Seiseallach', + 'SCR', + 'Rupee Seiseallach', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Dinar Sudànach (1992–2007)', + 'SDD', + 'Dinar Sudànach (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Punnd Sudànach', + 'SDG', + 'Punnd Sudànach', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Punnd Sudànach (1957–1998)', + 'SDP', + 'Punnd Sudànach (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Krona Suaineach', + 'SEK', + 'Krona Suaineach', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Dolar Singeapòrach', + 'SGD', + 'Dolar Singeapòrach', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Punnd Eilean Naomh Eilidh', + 'SHP', + 'Punnd Eilean Naomh Eilidh', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Tolar Slòbhaineach', + 'SIT', + 'Tolar Slòbhaineach', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Koruna Slòbhacach', + 'SKK', + 'Koruna Slòbhacach', ], 'SLE' => [ - 0 => 'SLE', - 1 => 'Leone Siarra Leòmhannach ùr', + 'SLE', + 'Leone Siarra Leòmhannach ùr', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Leone Siarra Leòmhannach', + 'SLL', + 'Leone Siarra Leòmhannach', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Shilling Somàilitheach', + 'SOS', + 'Shilling Somàilitheach', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Dolar Suranamach', + 'SRD', + 'Dolar Suranamach', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Gulden Suranamach', + 'SRG', + 'Gulden Suranamach', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Punnd Sudàin a Deas', + 'SSP', + 'Punnd Sudàin a Deas', ], 'STD' => [ - 0 => 'STD', - 1 => 'Dobra São Tomé agus Príncipe (1977–2017)', + 'STD', + 'Dobra São Tomé agus Príncipe (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Dobra São Tomé agus Príncipe', + 'STN', + 'Dobra São Tomé agus Príncipe', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Rùbal Sovietach', + 'SUR', + 'Rùbal Sovietach', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Colón Salbhadorach', + 'SVC', + 'Colón Salbhadorach', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Punnd Siridheach', + 'SYP', + 'Punnd Siridheach', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Lilangeni Suasaidheach', + 'SZL', + 'Lilangeni Suasaidheach', ], 'THB' => [ - 0 => '฿', - 1 => 'Baht Tàidheach', + '฿', + 'Baht Tàidheach', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Rùbal Taidigeach', + 'TJR', + 'Rùbal Taidigeach', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Somoni Taidigeach', + 'TJS', + 'Somoni Taidigeach', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Manat Turcmanach (1993–2009)', + 'TMM', + 'Manat Turcmanach (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Manat Turcmanach', + 'TMT', + 'Manat Turcmanach', ], 'TND' => [ - 0 => 'TND', - 1 => 'Dinar Tuiniseach', + 'TND', + 'Dinar Tuiniseach', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Paʻanga Tongach', + 'TOP', + 'Paʻanga Tongach', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Escudo Tìomorach', + 'TPE', + 'Escudo Tìomorach', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Lira Turcach (1922–2005)', + 'TRL', + 'Lira Turcach (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Lira Turcach', + 'TRY', + 'Lira Turcach', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Dolar Thrianaid agus Thobago', + 'TTD', + 'Dolar Thrianaid agus Thobago', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Dolar ùr Taidh-Bhànach', + 'NT$', + 'Dolar ùr Taidh-Bhànach', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Shilling Tansanaidheach', + 'TZS', + 'Shilling Tansanaidheach', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Hryvnia Ucràineach', + 'UAH', + 'Hryvnia Ucràineach', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Karbovanets Ucràineach', + 'UAK', + 'Karbovanets Ucràineach', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Shilling Ugandach (1966–1987)', + 'UGS', + 'Shilling Ugandach (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Shilling Ugandach', + 'UGX', + 'Shilling Ugandach', ], 'USD' => [ - 0 => '$', - 1 => 'Dolar nan Stàitean Aonaichte', + '$', + 'Dolar nan Stàitean Aonaichte', ], 'USN' => [ - 0 => 'USN', - 1 => 'Dolar nan SA (an ath–latha)', + 'USN', + 'Dolar nan SA (an ath–latha)', ], 'USS' => [ - 0 => 'USS', - 1 => 'Dolar nan SA (an aon latha)', + 'USS', + 'Dolar nan SA (an aon latha)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Peso Uruguaidheach (aonadan inneacsaichte)', + 'UYI', + 'Peso Uruguaidheach (aonadan inneacsaichte)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Peso Uruguaidheach (1975–1993)', + 'UYP', + 'Peso Uruguaidheach (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Peso Uruguaidheach', + 'UYU', + 'Peso Uruguaidheach', ], 'UYW' => [ - 0 => 'UYW', - 1 => 'Aonad inneacs tuarastail ainmeach Uruguaidh', + 'UYW', + 'Aonad inneacs tuarastail ainmeach Uruguaidh', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Som Usbagach', + 'UZS', + 'Som Usbagach', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Bolívar Bheinisealach (1871–2008)', + 'VEB', + 'Bolívar Bheinisealach (1871–2008)', ], 'VED' => [ - 0 => 'VED', - 1 => 'Bolívar Soberano', + 'VED', + 'Bolívar Soberano', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Bolívar Bheinisealach (2008–2018)', + 'VEF', + 'Bolívar Bheinisealach (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Bolívar Bheinisealach', + 'VES', + 'Bolívar Bheinisealach', ], 'VND' => [ - 0 => '₫', - 1 => 'Dong Bhiet-Namach', + '₫', + 'Dong Bhiet-Namach', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'Dong Bhiet-Namach (1978–1985)', + 'VNN', + 'Dong Bhiet-Namach (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vatu Vanuatuthach', + 'VUV', + 'Vatu Vanuatuthach', ], 'WST' => [ - 0 => 'WST', - 1 => 'Tala Samothach', + 'WST', + 'Tala Samothach', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Franc CFA Meadhan-Afragach', + 'FCFA', + 'Franc CFA Meadhan-Afragach', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Dolar Caraibeach earach', + 'EC$', + 'Dolar Caraibeach earach', + ], + 'XCG' => [ + 'Cg.', + 'Gulden Caraibeach', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'Aonad airgeadra Eòrpach', + 'XEU', + 'Aonad airgeadra Eòrpach', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Franc òir Frangach', + 'XFO', + 'Franc òir Frangach', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Franc UIC Frangach', + 'XFU', + 'Franc UIC Frangach', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Franc CFA Afraga an Iar', + 'F CFA', + 'Franc CFA Afraga an Iar', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'Franc CFP', + 'CFPF', + 'Franc CFP', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'Aonad maoine RINET', + 'XRE', + 'Aonad maoine RINET', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Dinar Eamanach', + 'YDD', + 'Dinar Eamanach', ], 'YER' => [ - 0 => 'YER', - 1 => 'Rial Eamanach', + 'YER', + 'Rial Eamanach', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Dinar cruaidh Iùgoslabhach (1966–1990)', + 'YUD', + 'Dinar cruaidh Iùgoslabhach (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Dinar ùr Iùgoslabhach (1994–2002)', + 'YUM', + 'Dinar ùr Iùgoslabhach (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Dinar iompachail Iùgoslabhach (1990–1992)', + 'YUN', + 'Dinar iompachail Iùgoslabhach (1990–1992)', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'Dinar ath-leasaichte Iùgoslabhach (1992–1993)', + 'YUR', + 'Dinar ath-leasaichte Iùgoslabhach (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Rand Afraga a Deas (ionmhasail)', + 'ZAL', + 'Rand Afraga a Deas (ionmhasail)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Rand Afraga a Deas', + 'ZAR', + 'Rand Afraga a Deas', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Kwacha Sàimbitheach (1968–2012)', + 'ZMK', + 'Kwacha Sàimbitheach (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Kwacha Sàimbitheach', + 'ZMW', + 'Kwacha Sàimbitheach', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Zaïre ùr Zaïreach (1993–1998)', + 'ZRN', + 'Zaïre ùr Zaïreach (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Zaïre Zaïreach (1971–1993)', + 'ZRZ', + 'Zaïre Zaïreach (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Dolar Sìombabuthach (1980–2008)', + 'ZWD', + 'Dolar Sìombabuthach (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Dolar Sìombabuthach (2009)', + 'ZWL', + 'Dolar Sìombabuthach (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Dolar Sìombabuthach (2008)', + 'ZWR', + 'Dolar Sìombabuthach (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gl.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gl.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gl.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gl.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,824 +3,828 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'peseta andorrana', + 'ADP', + 'peseta andorrana', ], 'AED' => [ - 0 => 'AED', - 1 => 'dirham dos Emiratos Árabes Unidos', + 'AED', + 'dirham dos Emiratos Árabes Unidos', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afgani afgán', + 'AFN', + 'afgani afgán', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'lek albanés', + 'ALL', + 'lek albanés', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'dram armenio', + 'AMD', + 'dram armenio', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'florín das Antillas Neerlandesas', + 'ANG', + 'florín das Antillas Neerlandesas', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'kwanza angolano', + 'AOA', + 'kwanza angolano', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Peso arxentino (1983–1985)', + 'ARP', + 'Peso arxentino (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'peso arxentino', + 'ARS', + 'peso arxentino', ], 'AUD' => [ - 0 => 'A$', - 1 => 'dólar australiano', + 'A$', + 'dólar australiano', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'florín de Aruba', + 'AWG', + 'florín de Aruba', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'manat acerbaixano', + 'AZN', + 'manat acerbaixano', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'marco convertible de Bosnia e Hercegovina', + 'BAM', + 'marco convertible de Bosnia e Hercegovina', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'dólar de Barbados', + 'BBD', + 'dólar de Barbados', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'taka de Bangladesh', + 'BDT', + 'taka de Bangladesh', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Franco belga (convertible)', + 'BEC', + 'Franco belga (convertible)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Franco belga', + 'BEF', + 'Franco belga', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Franco belga (financeiro)', + 'BEL', + 'Franco belga (financeiro)', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'lev búlgaro', + 'BGN', + 'lev búlgaro', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'dinar de Bahrain', + 'BHD', + 'dinar de Bahrain', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'franco burundiano', + 'BIF', + 'franco burundiano', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'dólar bermudano', + 'BMD', + 'dólar bermudano', ], 'BND' => [ - 0 => 'BND', - 1 => 'dólar de Brunei', + 'BND', + 'dólar de Brunei', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'boliviano', + 'BOB', + 'boliviano', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Peso boliviano', + 'BOP', + 'Peso boliviano', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'MVDOL boliviano', + 'BOV', + 'MVDOL boliviano', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Cruzeiro novo brasileiro (1967–1986)', + 'BRB', + 'Cruzeiro novo brasileiro (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Cruzado brasileiro', + 'BRC', + 'Cruzado brasileiro', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Cruzeiro brasileiro (1990–1993)', + 'BRE', + 'Cruzeiro brasileiro (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'real brasileiro', + 'R$', + 'real brasileiro', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Cruzado novo brasileiro', + 'BRN', + 'Cruzado novo brasileiro', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Cruzeiro brasileiro', + 'BRR', + 'Cruzeiro brasileiro', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'dólar bahamés', + 'BSD', + 'dólar bahamés', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ngultrum butanés', + 'BTN', + 'ngultrum butanés', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'pula botswaniano', + 'BWP', + 'pula botswaniano', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'rublo belaruso', + 'BYN', + 'rublo belaruso', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Rublo bielorruso (2000–2016)', + 'BYR', + 'Rublo bielorruso (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'dólar belizense', + 'BZD', + 'dólar belizense', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'dólar canadense', + 'CA$', + 'dólar canadense', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'franco congolés', + 'CDF', + 'franco congolés', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'franco suízo', + 'CHF', + 'franco suízo', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Unidades de fomento chilenas', + 'CLF', + 'Unidades de fomento chilenas', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'peso chileno', + 'CLP', + 'peso chileno', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'iuán chinés (extracontinental)', + 'CNH', + 'iuán chinés (extracontinental)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'iuán chinés', + 'CN¥', + 'iuán chinés', ], 'COP' => [ - 0 => 'COP', - 1 => 'peso colombiano', + 'COP', + 'peso colombiano', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'colón costarriqueño', + 'CRC', + 'colón costarriqueño', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'peso cubano convertible', + 'CUC', + 'peso cubano convertible', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'peso cubano', + 'CUP', + 'peso cubano', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'escudo caboverdiano', + 'CVE', + 'escudo caboverdiano', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'coroa checa', + 'CZK', + 'coroa checa', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Marco alemán', + 'DEM', + 'Marco alemán', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'franco djibutiano', + 'DJF', + 'franco djibutiano', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'coroa dinamarquesa', + 'DKK', + 'coroa dinamarquesa', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'peso dominicano', + 'DOP', + 'peso dominicano', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'dinar alxeriano', + 'DZD', + 'dinar alxeriano', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Sucre ecuatoriano', + 'ECS', + 'Sucre ecuatoriano', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Unidade de valor constante ecuatoriana', + 'ECV', + 'Unidade de valor constante ecuatoriana', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'libra exipcia', + 'EGP', + 'libra exipcia', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'nakfa eritreo', + 'ERN', + 'nakfa eritreo', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'Peseta española (conta A)', + 'ESA', + 'Peseta española (conta A)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'Peseta española (conta convertible)', + 'ESB', + 'Peseta española (conta convertible)', ], 'ESP' => [ - 0 => '₧', - 1 => 'Peseta española', + '₧', + 'Peseta española', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'birr etíope', + 'ETB', + 'birr etíope', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'dólar fixiano', + 'FJD', + 'dólar fixiano', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'libra das Illas Malvinas', + 'FKP', + 'libra das Illas Malvinas', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Franco francés', + 'FRF', + 'Franco francés', ], 'GBP' => [ - 0 => '£', - 1 => 'libra esterlina', + '£', + 'libra esterlina', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'lari xeorxiano', + 'GEL', + 'lari xeorxiano', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'cedi ghanés', + 'GHS', + 'cedi ghanés', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'libra xibraltareña', + 'GIP', + 'libra xibraltareña', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'dalasi gambiano', + 'GMD', + 'dalasi gambiano', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'franco guineano', + 'GNF', + 'franco guineano', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Syli guineano', + 'GNS', + 'Syli guineano', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Ekwele guineana', + 'GQE', + 'Ekwele guineana', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Dracma grego', + 'GRD', + 'Dracma grego', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'quetzal guatemalteco', + 'GTQ', + 'quetzal guatemalteco', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'dólar güianés', + 'GYD', + 'dólar güianés', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'dólar de Hong Kong', + 'HK$', + 'dólar de Hong Kong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'lempira hondureño', + 'HNL', + 'lempira hondureño', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'kuna croata', + 'HRK', + 'kuna croata', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'gourde haitiana', + 'HTG', + 'gourde haitiana', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'florín húngaro', + 'HUF', + 'florín húngaro', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'rupia indonesia', + 'IDR', + 'rupia indonesia', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Libra irlandesa', + 'IEP', + 'Libra irlandesa', ], 'ILS' => [ - 0 => '₪', - 1 => 'novo shequel israelí', + '₪', + 'novo shequel israelí', ], 'INR' => [ - 0 => '₹', - 1 => 'rupia india', + '₹', + 'rupia india', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'dinar iraquí', + 'IQD', + 'dinar iraquí', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'rial iraniano', + 'IRR', + 'rial iraniano', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'coroa islandesa', + 'ISK', + 'coroa islandesa', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Lira italiana', + 'ITL', + 'Lira italiana', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'dólar xamaicano', + 'JMD', + 'dólar xamaicano', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'dinar xordano', + 'JOD', + 'dinar xordano', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'ien xaponés', + 'JP¥', + 'ien xaponés', ], 'KES' => [ - 0 => 'KES', - 1 => 'xilin kenyano', + 'KES', + 'xilin kenyano', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'som kirguiz', + 'KGS', + 'som kirguiz', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'riel camboxano', + 'KHR', + 'riel camboxano', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'franco comoriano', + 'KMF', + 'franco comoriano', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'won norcoreano', + 'KPW', + 'won norcoreano', ], 'KRW' => [ - 0 => '₩', - 1 => 'won surcoreano', + '₩', + 'won surcoreano', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'dinar kuwaití', + 'KWD', + 'dinar kuwaití', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'dólar das Illas Caimán', + 'KYD', + 'dólar das Illas Caimán', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'tenge kazako', + 'KZT', + 'tenge kazako', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'kip laosiano', + 'LAK', + 'kip laosiano', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'libra libanesa', + 'LBP', + 'libra libanesa', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'rupia srilankesa', + 'LKR', + 'rupia srilankesa', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'dólar liberiano', + 'LRD', + 'dólar liberiano', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'loti de Lesoto', + 'LSL', + 'loti de Lesoto', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litas lituana', + 'LTL', + 'Litas lituana', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Franco convertible luxemburgués', + 'LUC', + 'Franco convertible luxemburgués', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Franco luxemburgués', + 'LUF', + 'Franco luxemburgués', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Franco financeiro luxemburgués', + 'LUL', + 'Franco financeiro luxemburgués', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Lats letón', + 'LVL', + 'Lats letón', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'dinar libio', + 'LYD', + 'dinar libio', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'dirham marroquí', + 'MAD', + 'dirham marroquí', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Franco marroquí', + 'MAF', + 'Franco marroquí', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'leu moldavo', + 'MDL', + 'leu moldovo', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'ariary malgaxe', + 'MGA', + 'ariary malgaxe', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'dinar macedonio', + 'MKD', + 'dinar macedonio', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'kyat birmano', + 'MMK', + 'kyat birmano', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'tugrik mongol', + 'MNT', + 'tugrik mongol', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'pataca macaense', + 'MOP', + 'pataca macaense', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Ouguiya mauritano (1973–2017)', + 'MRO', + 'Ouguiya mauritano (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'ouguiya mauritano', + 'MRU', + 'ouguiya mauritano', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'rupia mauriciana', + 'MUR', + 'rupia mauriciana', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'rupia maldivana', + 'MVR', + 'rupia maldivana', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'kwacha de Malawi', + 'MWK', + 'kwacha de Malawi', ], 'MXN' => [ - 0 => '$MX', - 1 => 'peso mexicano', + '$MX', + 'peso mexicano', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Peso de prata mexicano (1861–1992)', + 'MXP', + 'Peso de prata mexicano (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Unidade de inversión mexicana', + 'MXV', + 'Unidade de inversión mexicana', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'ringgit malaio', + 'MYR', + 'ringgit malaio', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'metical mozambicano', + 'MZN', + 'metical mozambicano', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'dólar namibio', + 'NAD', + 'dólar namibio', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'naira nixeriano', + 'NGN', + 'naira nixeriano', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Córdoba nicaragüense', + 'NIC', + 'Córdoba nicaragüense', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'córdoba nicaraguano', + 'NIO', + 'córdoba nicaraguano', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Florín holandés', + 'NLG', + 'Florín holandés', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'coroa norueguesa', + 'NOK', + 'coroa norueguesa', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'rupia nepalesa', + 'NPR', + 'rupia nepalesa', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'dólar neozelandés', + 'NZ$', + 'dólar neozelandés', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'rial omaní', + 'OMR', + 'rial omaní', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'balboa panameño', + 'PAB', + 'balboa panameño', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Inti peruano', + 'PEI', + 'Inti peruano', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'sol peruano', + 'PEN', + 'sol peruano', ], 'PES' => [ - 0 => 'PES', - 1 => 'Sol peruano (1863–1965)', + 'PES', + 'Sol peruano (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'kina de Papúa-Nova Guinea', + 'PGK', + 'kina de Papúa-Nova Guinea', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'peso filipino', + 'PHP', + 'peso filipino', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'rupia paquistaní', + 'PKR', + 'rupia paquistaní', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'zloty polaco', + 'PLN', + 'zloty polaco', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Escudo portugués', + 'PTE', + 'Escudo portugués', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'guaraní paraguaio', + 'PYG', + 'guaraní paraguaio', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'rial qatarí', + 'QAR', + 'rial qatarí', ], 'RON' => [ - 0 => 'RON', - 1 => 'leu romanés', + 'RON', + 'leu romanés', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'dinar serbio', + 'RSD', + 'dinar serbio', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'rublo ruso', + 'RUB', + 'rublo ruso', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Rublo ruso (1991–1998)', + 'RUR', + 'Rublo ruso (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'franco ruandés', + 'RWF', + 'franco ruandés', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'rial saudita', + 'SAR', + 'rial saudita', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'dólar das Illas Salomón', + 'SBD', + 'dólar das Illas Salomón', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'rupia de Seychelles', + 'SCR', + 'rupia de Seychelles', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'libra sudanesa', + 'SDG', + 'libra sudanesa', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'coroa sueca', + 'SEK', + 'coroa sueca', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'dólar de Singapur', + 'SGD', + 'dólar de Singapur', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'libra de Santa Helena', + 'SHP', + 'libra de Santa Helena', + ], + 'SLE' => [ + 'SLE', + 'leone de Serra Leoa', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'leone de Serra Leoa', + 'SLL', + 'leone de Serra Leoa (1964–2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'xilin somalí', + 'SOS', + 'xilin somalí', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'dólar surinamés', + 'SRD', + 'dólar surinamés', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'libra sursudanesa', + 'SSP', + 'libra sursudanesa', ], 'STD' => [ - 0 => 'STD', - 1 => 'Dobra de São Tomé e Príncipe (1977–2017)', + 'STD', + 'Dobra de São Tomé e Príncipe (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'dobra de San Tomé e Príncipe', + 'STN', + 'dobra de San Tomé e Príncipe', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Rublo soviético', + 'SUR', + 'Rublo soviético', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Colón salvadoreño', + 'SVC', + 'Colón salvadoreño', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'libra siria', + 'SYP', + 'libra siria', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'lilangeni de Swazilandia', + 'SZL', + 'lilangeni de Swazilandia', ], 'THB' => [ - 0 => '฿', - 1 => 'baht tailandés', + '฿', + 'baht tailandés', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'somoni taxiquistano', + 'TJS', + 'somoni taxiquistano', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'manat turkmeno', + 'TMT', + 'manat turkmeno', ], 'TND' => [ - 0 => 'TND', - 1 => 'dinar tunisiano', + 'TND', + 'dinar tunisiano', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'paʻanga tongano', + 'TOP', + 'paʻanga tongano', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'lira turca', + 'TRY', + 'lira turca', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'dólar trinitense', + 'TTD', + 'dólar trinitense', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'novo dólar taiwanés', + 'NT$', + 'novo dólar taiwanés', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'xilin tanzano', + 'TZS', + 'xilin tanzano', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'hrivna ucraína', + 'UAH', + 'hrivna ucraína', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'xilin ugandés', + 'UGX', + 'xilin ugandés', ], 'USD' => [ - 0 => '$', - 1 => 'dólar estadounidense', + '$', + 'dólar estadounidense', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Peso en unidades indexadas uruguaio', + 'UYI', + 'Peso en unidades indexadas uruguaio', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Peso uruguaio (1975–1993)', + 'UYP', + 'Peso uruguaio (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'peso uruguaio', + 'UYU', + 'peso uruguaio', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'som uzbeko', + 'UZS', + 'som uzbeko', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Bolívar venezolano (1871–2008)', + 'VEB', + 'Bolívar venezolano (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Bolívar venezolano (2008–2018)', + 'VEF', + 'Bolívar venezolano (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'bolívar venezolano', + 'VES', + 'bolívar venezolano', ], 'VND' => [ - 0 => '₫', - 1 => 'dong vietnamita', + '₫', + 'dong vietnamita', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vatu vanuatiano', + 'VUV', + 'vatu vanuatiano', ], 'WST' => [ - 0 => 'WST', - 1 => 'tala samoano', + 'WST', + 'tala samoano', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'franco CFA (BEAC)', + 'FCFA', + 'franco CFA (BEAC)', ], 'XCD' => [ - 0 => 'XCD', - 1 => 'dólar do Caribe Oriental', + 'XCD', + 'dólar do Caribe Oriental', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'franco CFA (BCEAO)', + 'F CFA', + 'franco CFA (BCEAO)', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'franco CFP', + 'CFPF', + 'franco CFP', ], 'YER' => [ - 0 => 'YER', - 1 => 'rial iemení', + 'YER', + 'rial iemení', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'rand surafricano', + 'ZAR', + 'rand surafricano', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Kwacha zambiano (1968–2012)', + 'ZMK', + 'Kwacha zambiano (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'kwacha zambiano', + 'ZMW', + 'kwacha zambiano', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gu.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gu.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gu.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/gu.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,656 +3,660 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'યુનાઈટેડ આરબ અમિરાત દિરહામ', + 'AED', + 'યુનાઈટેડ આરબ અમિરાત દિરહામ', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'અફ્ગાન અફ્ગાની', + 'AFN', + 'અફ્ગાન અફ્ગાની', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'અલ્બેનિયન લેક', + 'ALL', + 'અલ્બેનિયન લેક', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'અર્મેનિયન ડ્રેમ', + 'AMD', + 'અર્મેનિયન ડ્રેમ', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'નેધરલેંડ એંટિલિન ગિલ્ડર', + 'ANG', + 'નેધરલેંડ એંટિલિન ગિલ્ડર', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'અંગોલિયન ક્વાન્ઝા', + 'AOA', + 'અંગોલિયન ક્વાન્ઝા', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'અર્જેન્ટીના પેસો', + 'ARS', + 'અર્જેન્ટીના પેસો', ], 'AUD' => [ - 0 => 'A$', - 1 => 'ઑસ્ટ્રેલિયન ડૉલર', + 'A$', + 'ઑસ્ટ્રેલિયન ડૉલર', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'અરુબન ફ્લોરિન', + 'AWG', + 'અરુબન ફ્લોરિન', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'અઝરબૈજાની મનાત', + 'AZN', + 'અઝરબૈજાની મનાત', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'બોસ્નિયા અને હર્ઝેગોવિના રૂપાંતર યોગ્ય માર્ક', + 'BAM', + 'બોસ્નિયા અને હર્ઝેગોવિના રૂપાંતર યોગ્ય માર્ક', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'બાર્બાડિયન ડોલર', + 'BBD', + 'બાર્બાડિયન ડોલર', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'બાંગ્લાદેશી ટાકા', + 'BDT', + 'બાંગ્લાદેશી ટાકા', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'બલ્ગેરીયન લેવ', + 'BGN', + 'બલ્ગેરીયન લેવ', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'બેહરિની દિનાર', + 'BHD', + 'બેહરિની દિનાર', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'બુરુન્ડિયન ફ્રેંક', + 'BIF', + 'બુરુન્ડિયન ફ્રેંક', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'બર્મુડન ડોલર', + 'BMD', + 'બર્મુડન ડોલર', ], 'BND' => [ - 0 => 'BND', - 1 => 'બ્રુનેઇ ડોલર', + 'BND', + 'બ્રુનેઇ ડોલર', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'બોલિવિયન બોલિવિયાનો', + 'BOB', + 'બોલિવિયન બોલિવિયાનો', ], 'BRL' => [ - 0 => 'R$', - 1 => 'બ્રાઝિલીયન રિઆલ', + 'R$', + 'બ્રાઝિલીયન રિઆલ', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'બહામિયન ડોલર', + 'BSD', + 'બહામિયન ડોલર', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ભુતાનિઝ એંગુલ્ત્રમ', + 'BTN', + 'ભુતાનિઝ એંગુલ્ત્રમ', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'બોત્સવાનન પુલા', + 'BWP', + 'બોત્સવાનન પુલા', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'બેલારુશિયન રૂબલ', + 'BYN', + 'બેલારુશિયન રૂબલ', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'બેલારુશિયન રૂબલ (2000–2016)', + 'BYR', + 'બેલારુશિયન રૂબલ (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'બેલિઝ ડોલર', + 'BZD', + 'બેલિઝ ડોલર', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'કેનેડિયન ડૉલર', + 'CA$', + 'કેનેડિયન ડૉલર', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'કોંગોલિઝ ફ્રેંક', + 'CDF', + 'કોંગોલિઝ ફ્રેંક', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'સ્વિસ ફ્રેંક', + 'CHF', + 'સ્વિસ ફ્રેંક', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'ચિલિઅન પેસો', + 'CLP', + 'ચિલિઅન પેસો', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'ચાઇનીઝ યુઆન (ઑફશોર)', + 'CNH', + 'ચાઇનીઝ યુઆન (ઑફશોર)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'ચાઇનિઝ યુઆન', + 'CN¥', + 'ચાઇનિઝ યુઆન', ], 'COP' => [ - 0 => 'COP', - 1 => 'કોલમ્બિયન પેસો', + 'COP', + 'કોલમ્બિયન પેસો', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'કોસ્ટા રિકન કોલોન', + 'CRC', + 'કોસ્ટા રિકન કોલોન', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'ક્યુબન રૂપાંતર યોગ્ય પેસો', + 'CUC', + 'ક્યુબન રૂપાંતર યોગ્ય પેસો', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'ક્યુબન પેસો', + 'CUP', + 'ક્યુબન પેસો', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'કેપ વર્દિયન એસ્કુડો', + 'CVE', + 'કેપ વર્દિયન એસ્કુડો', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'ચેક રીપબ્લિક કોરુના', + 'CZK', + 'ચેક રીપબ્લિક કોરુના', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'જિબુટિયન ફ્રેંક', + 'DJF', + 'જિબુટિયન ફ્રેંક', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'ડેનિશ ક્રોન', + 'DKK', + 'ડેનિશ ક્રોન', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'ડોમિનિકન પેસો', + 'DOP', + 'ડોમિનિકન પેસો', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'અલ્જિરિયન દિનાર', + 'DZD', + 'અલ્જિરિયન દિનાર', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'ઇજિપ્તિયન પાઉન્ડ', + 'EGP', + 'ઇજિપ્તિયન પાઉન્ડ', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'એરિટ્રેયન નક્ફા', + 'ERN', + 'એરિટ્રેયન નક્ફા', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'ઇથિયોપીયન બિર', + 'ETB', + 'ઇથિયોપીયન બિર', ], 'EUR' => [ - 0 => '€', - 1 => 'યુરો', + '€', + 'યુરો', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'ફિજિઅન ડોલર', + 'FJD', + 'ફિજિઅન ડોલર', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'ફૉકલેન્ડ આઇલેંડ્સ પાઉન્ડ', + 'FKP', + 'ફૉકલેન્ડ આઇલેંડ્સ પાઉન્ડ', ], 'GBP' => [ - 0 => '£', - 1 => 'બ્રિટિશ પાઉન્ડ', + '£', + 'બ્રિટિશ પાઉન્ડ', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'જ્યોર્જિઅન લારી', + 'GEL', + 'જ્યોર્જિઅન લારી', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'ઘાનાઇયન સેડી', + 'GHS', + 'ઘાનાઇયન સેડી', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'જીબ્રાલ્ટર પાઉન્ડ', + 'GIP', + 'જીબ્રાલ્ટર પાઉન્ડ', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'ગેમ્બિયન દલાસી', + 'GMD', + 'ગેમ્બિયન દલાસી', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'ગિનીયન ફ્રેંક', + 'GNF', + 'ગિનીયન ફ્રેંક', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'ગ્વાટેમાલા કુઇટ્ઝલ', + 'GTQ', + 'ગ્વાટેમાલા કુઇટ્ઝલ', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'ગયાનિઝ ડોલર', + 'GYD', + 'ગયાનિઝ ડોલર', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'હોંગ કોંગ ડૉલર', + 'HK$', + 'હોંગ કોંગ ડૉલર', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'હોન્ડ્યુરન લેમ્પિરા', + 'HNL', + 'હોન્ડ્યુરન લેમ્પિરા', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'ક્રોએશિયન ક્યુના', + 'HRK', + 'ક્રોએશિયન ક્યુના', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'હાઇટિઇન ગોર્ડ', + 'HTG', + 'હાઇટિઇન ગોર્ડ', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'હંગેરીયન ફોરિન્ત', + 'HUF', + 'હંગેરીયન ફોરિન્ત', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'ઇન્ડોનેશિયન રૂપિયા', + 'IDR', + 'ઇન્ડોનેશિયન રૂપિયા', ], 'ILS' => [ - 0 => '₪', - 1 => 'ઇઝરાયેલી ન્યુ શેકલ', + '₪', + 'ઇઝરાયેલી ન્યુ શેકલ', ], 'INR' => [ - 0 => '₹', - 1 => 'ભારતીય રૂપિયા', + '₹', + 'ભારતીય રૂપિયા', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'ઇરાકી દિનાર', + 'IQD', + 'ઇરાકી દિનાર', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'ઇરાનિયન રિયાલ', + 'IRR', + 'ઇરાનિયન રિયાલ', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'આઇસલેન્ડિક ક્રોના', + 'ISK', + 'આઇસલેન્ડિક ક્રોના', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'જમૈકિયન ડોલર', + 'JMD', + 'જમૈકિયન ડોલર', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'જોર્ડનિયન દિનાર', + 'JOD', + 'જોર્ડનિયન દિનાર', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'જાપાનીઝ યેન', + 'JP¥', + 'જાપાનીઝ યેન', ], 'KES' => [ - 0 => 'KES', - 1 => 'કેન્યેન શિલિંગ', + 'KES', + 'કેન્યેન શિલિંગ', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'કિર્ગિસ્તાની સોમ', + 'KGS', + 'કિર્ગિસ્તાની સોમ', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'કેમ્બોડિયન રીઅલ', + 'KHR', + 'કેમ્બોડિયન રીઅલ', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'કોમોરિઅન ફ્રેંક', + 'KMF', + 'કોમોરિઅન ફ્રેંક', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'ઉત્તર કોરિયન વન', + 'KPW', + 'ઉત્તર કોરિયન વન', ], 'KRW' => [ - 0 => '₩', - 1 => 'દક્ષિણ કોરિયન વન', + '₩', + 'દક્ષિણ કોરિયન વન', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'કુવૈતી દિનાર', + 'KWD', + 'કુવૈતી દિનાર', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'કેયમેન આઇલેંડ્સ ડોલર', + 'KYD', + 'કેયમેન આઇલેંડ્સ ડોલર', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'કઝાકિસ્તાની ટેંગ', + 'KZT', + 'કઝાકિસ્તાની ટેંગ', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'લાઓશિયન કિપ', + 'LAK', + 'લાઓશિયન કિપ', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'લેબેનિઝ પાઉન્ડ', + 'LBP', + 'લેબેનિઝ પાઉન્ડ', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'શ્રી લંકન રૂપી', + 'LKR', + 'શ્રી લંકન રૂપી', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'લિબેરિયન ડોલર', + 'LRD', + 'લિબેરિયન ડોલર', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'લેસોથો લોતી', + 'LSL', + 'લેસોથો લોતી', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'લિથુએનિયન લિતાસ', + 'LTL', + 'લિથુએનિયન લિતાસ', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'લાતવિયન લેત્સ', + 'LVL', + 'લાતવિયન લેત્સ', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'લિબ્યન દિનાર', + 'LYD', + 'લિબ્યન દિનાર', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'મોરોક્કન દિરહામ', + 'MAD', + 'મોરોક્કન દિરહામ', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'મોલડોવેન લિયુ', + 'MDL', + 'મોલડોવેન લિયુ', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'માલાગેસી અરીઆરી', + 'MGA', + 'માલાગેસી અરીઆરી', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'મેસેડોનિયન દિનાર', + 'MKD', + 'મેસેડોનિયન દિનાર', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'મ્યાંમાર ક્યાત', + 'MMK', + 'મ્યાંમાર ક્યાત', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'મોંગોલિયન ટગરિક', + 'MNT', + 'મોંગોલિયન ટગરિક', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'માકાનિઝ પતાકા', + 'MOP', + 'માકાનિઝ પતાકા', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'મોરીશેનિયન ઓગુયા (1973–2017)', + 'MRO', + 'મોરીશેનિયન ઓગુયા (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'મોરીશેનિયન ઓગુયા', + 'MRU', + 'મોરીશેનિયન ઓગુયા', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'મોરેશીઅન રૂપી', + 'MUR', + 'મોરેશીઅન રૂપી', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'માલ્દિવિયન રુફિયા', + 'MVR', + 'માલ્દિવિયન રુફિયા', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'માલાવિયન ક્વાચા', + 'MWK', + 'માલાવિયન ક્વાચા', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'મેક્સિકન પેસો', + 'MX$', + 'મેક્સિકન પેસો', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'મલેશિયન રિંગ્ગેટ', + 'MYR', + 'મલેશિયન રિંગ્ગેટ', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'મોઝામ્બિકન મેટિકલ', + 'MZN', + 'મોઝામ્બિકન મેટિકલ', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'નામિબિયન ડોલર', + 'NAD', + 'નામિબિયન ડોલર', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'નાઇજીરિયન નૈરા', + 'NGN', + 'નાઇજીરિયન નૈરા', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'નિકારાગુઅન કોર્ડોબા', + 'NIO', + 'નિકારાગુઅન કોર્ડોબા', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'નૉર્વેજિયન ક્રોન', + 'NOK', + 'નૉર્વેજિયન ક્રોન', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'નેપાલિઝ રૂપી', + 'NPR', + 'નેપાલિઝ રૂપી', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'ન્યૂઝિલેંડ ડૉલર', + 'NZ$', + 'ન્યૂઝિલેંડ ડૉલર', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'ઓમાની રિયાલ', + 'OMR', + 'ઓમાની રિયાલ', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'પનામેનિયન બાલ્બોઆ', + 'PAB', + 'પનામેનિયન બાલ્બોઆ', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'પેરુવિયન સોલ', + 'PEN', + 'પેરુવિયન સોલ', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'પાપુઆ ન્યૂ ગિનીયન કિના', + 'PGK', + 'પાપુઆ ન્યૂ ગિનીયન કિના', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'ફિલીપાઇન પેસો', + 'PHP', + 'ફિલીપાઇન પેસો', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'પાકિસ્તાની રૂપી', + 'PKR', + 'પાકિસ્તાની રૂપી', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'પોલિસ ઝ્લોટી', + 'PLN', + 'પોલિસ ઝ્લોટી', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'પરાગ્વેયન ગુઆરાની', + 'PYG', + 'પરાગ્વેયન ગુઆરાની', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'કતારી રિયાલ', + 'QAR', + 'કતારી રિયાલ', ], 'RON' => [ - 0 => 'RON', - 1 => 'રોમાનિયન લેઉ', + 'RON', + 'રોમાનિયન લેઉ', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'સર્બિયન દિનાર', + 'RSD', + 'સર્બિયન દિનાર', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'રશિયન રૂબલ', + 'RUB', + 'રશિયન રૂબલ', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'રવાંડન ફ્રેંક', + 'RWF', + 'રવાંડન ફ્રેંક', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'સાઉદી રિયાલ', + 'SAR', + 'સાઉદી રિયાલ', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'સોલોમન આઇલેંડ્સ ડોલર', + 'SBD', + 'સોલોમન આઇલેંડ્સ ડોલર', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'સેશેલોઈ રૂપી', + 'SCR', + 'સેશેલોઈ રૂપી', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'સુદાનિઝ પાઉન્ડ', + 'SDG', + 'સુદાનિઝ પાઉન્ડ', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'સ્વીડિશ ક્રોના', + 'SEK', + 'સ્વીડિશ ક્રોના', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'સિંગાપુર ડૉલર', + 'SGD', + 'સિંગાપુર ડૉલર', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'સેંટ હેલેના પાઉન્ડ', + 'SHP', + 'સેંટ હેલેના પાઉન્ડ', + ], + 'SLE' => [ + 'SLE', + 'સિએરા લિઓનિઅન લિઓન', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'સિએરા લિઓનિઅન લિઓન', + 'SLL', + 'સિએરા લિઓનિઅન લિઓન (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'સોમાલી શિલિંગ', + 'SOS', + 'સોમાલી શિલિંગ', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'સૂરીનામિઝ ડોલર', + 'SRD', + 'સૂરીનામિઝ ડોલર', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'દક્ષિણ સુદાનિઝ પાઉન્ડ', + 'SSP', + 'દક્ષિણ સુદાનિઝ પાઉન્ડ', ], 'STD' => [ - 0 => 'STD', - 1 => 'સાઓ ટૉમ એન્ડ પ્રિંસાઇપ ડોબ્રા (1977–2017)', + 'STD', + 'સાઓ ટૉમ એન્ડ પ્રિંસાઇપ ડોબ્રા (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'સાઓ ટૉમ એન્ડ પ્રિંસાઇપ ડોબ્રા', + 'STN', + 'સાઓ ટૉમ એન્ડ પ્રિંસાઇપ ડોબ્રા', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'સાઇરિયન પાઉન્ડ', + 'SYP', + 'સાઇરિયન પાઉન્ડ', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'સ્વાઝી લિલાન્ગેની', + 'SZL', + 'સ્વાઝી લિલાન્ગેની', ], 'THB' => [ - 0 => '฿', - 1 => 'થાઇ બાહ્ત', + '฿', + 'થાઇ બાહ્ત', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'તાજિકિસ્તાની સોમોની', + 'TJS', + 'તાજિકિસ્તાની સોમોની', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'તુર્કમેનિસ્તાની મનત', + 'TMT', + 'તુર્કમેનિસ્તાની મનત', ], 'TND' => [ - 0 => 'TND', - 1 => 'ટ્યુનિશિયન દિનાર', + 'TND', + 'ટ્યુનિશિયન દિનાર', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'ટોંગન પ’અંગા', + 'TOP', + 'ટોંગન પ’અંગા', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'તુર્કિશ લિરા', + 'TRY', + 'તુર્કિશ લિરા', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'ત્રિનિદાદ અને ટોબેગો ડોલર', + 'TTD', + 'ત્રિનિદાદ અને ટોબેગો ડોલર', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'ન્યુ તાઇવાન ડૉલર', + 'NT$', + 'ન્યુ તાઇવાન ડૉલર', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'તાન્ઝાનિયન શિલિંગ', + 'TZS', + 'તાન્ઝાનિયન શિલિંગ', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'યુક્રેનિયન હ્રિવિનિયા', + 'UAH', + 'યુક્રેનિયન હ્રિવિનિયા', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'યુગાંડન શિલિંગ', + 'UGX', + 'યુગાંડન શિલિંગ', ], 'USD' => [ - 0 => 'US$', - 1 => 'યુઍસ ડોલર', + 'US$', + 'યુઍસ ડોલર', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'ઉરુગ્વેયન પેસો', + 'UYU', + 'ઉરુગ્વેયન પેસો', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'ઉઝ્બેકિસ્તાન સોમ', + 'UZS', + 'ઉઝ્બેકિસ્તાન સોમ', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'વેનેઝુએલન બોલિવર (2008–2018)', + 'VEF', + 'વેનેઝુએલન બોલિવર (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'વેનેઝુએલન બોલિવર', + 'VES', + 'વેનેઝુએલન બોલિવર', ], 'VND' => [ - 0 => '₫', - 1 => 'વિયેતનામીસ ડોંગ', + '₫', + 'વિયેતનામીસ ડોંગ', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'વનૌતુ વાતુ', + 'VUV', + 'વનૌતુ વાતુ', ], 'WST' => [ - 0 => 'WST', - 1 => 'સમોઅન તાલા', + 'WST', + 'સમોઅન તાલા', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'મધ્ય આફ્રિકન [CFA] ફ્રેંક', + 'FCFA', + 'મધ્ય આફ્રિકન [CFA] ફ્રેંક', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'ઇસ્ટ કેરિબિયન ડોલર', + 'EC$', + 'ઇસ્ટ કેરિબિયન ડોલર', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'પશ્ચિમી આફ્રિકન [CFA] ફ્રેંક', + 'F CFA', + 'પશ્ચિમી આફ્રિકન [CFA] ફ્રેંક', ], 'XPF' => [ - 0 => 'CFPF', - 1 => '[CFP] ફ્રેંક', + 'CFPF', + '[CFP] ફ્રેંક', ], 'YER' => [ - 0 => 'YER', - 1 => 'યેમેની રિઆલ', + 'YER', + 'યેમેની રિઆલ', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'દક્ષિણ આફ્રિકી રેંડ', + 'ZAR', + 'દક્ષિણ આફ્રિકી રેંડ', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'ઝામ્બિયન ક્વાચા (1968–2012)', + 'ZMK', + 'ઝામ્બિયન ક્વાચા (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'ઝામ્બિયન ક્વાચા', + 'ZMW', + 'ઝામ્બિયન ક્વાચા', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ha.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ha.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ha.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ha.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,656 +3,660 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'Kuɗin Haɗaɗɗiyar Daular Larabawa', + 'AED', + 'Kuɗin Haɗaɗɗiyar Daular Larabawa', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afghani na ƙasar Afghanistan', + 'AFN', + 'Afghani na ƙasar Afghanistan', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Kuɗin Albania', + 'ALL', + 'Kuɗin Albania', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Kuɗin Armenia', + 'AMD', + 'Kuɗin Armenia', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Antillean Guilder na ƙasar Netherlands', + 'ANG', + 'Antillean Guilder na ƙasar Netherlands', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Kuɗin Angola', + 'AOA', + 'Kuɗin Angola', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Peso na ƙasar Argentina', + 'ARS', + 'Peso na ƙasar Argentina', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Dalar Ostareliya', + 'A$', + 'Dalar Ostareliya', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Florin na yankin Aruba', + 'AWG', + 'Florin na yankin Aruba', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Kuɗin Azerbaijani', + 'AZN', + 'Kuɗin Azerbaijani', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Kuɗaɗen Bosnia da Herzegovina', + 'BAM', + 'Kuɗaɗen Bosnia da Herzegovina', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Dalar ƙasar Barbados', + 'BBD', + 'Dalar ƙasar Barbados', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Taka na ƙasar Bangladesh', + 'BDT', + 'Taka na ƙasar Bangladesh', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Kuɗin Bulgeria', + 'BGN', + 'Kuɗin Bulgeria', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Kuɗin Baharan', + 'BHD', + 'Kuɗin Baharan', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Kuɗin Burundi', + 'BIF', + 'Kuɗin Burundi', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Dalar ƙasar Bermuda', + 'BMD', + 'Dalar ƙasar Bermuda', ], 'BND' => [ - 0 => 'BND', - 1 => 'Dalar Brunei', + 'BND', + 'Dalar Brunei', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Boloviano na ƙasar Bolivia', + 'BOB', + 'Boloviano na ƙasar Bolivia', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Ril Kudin Birazil', + 'R$', + 'Ril Kudin Birazil', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Dalar ƙasar Bahamas', + 'BSD', + 'Dalar ƙasar Bahamas', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Ngultrum na ƙasar Bhutan', + 'BTN', + 'Ngultrum na ƙasar Bhutan', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Kuɗin Baswana', + 'BWP', + 'Kuɗin Baswana', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Kuɗin Belarus', + 'BYN', + 'Kuɗin Belarus', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Dalar ƙasar Belize', + 'BZD', + 'Dalar ƙasar Belize', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Dalar Kanada', + 'CA$', + 'Dalar Kanada', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Kuɗin Kongo', + 'CDF', + 'Kuɗin Kongo', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Kuɗin Suwizalan', + 'CHF', + 'Kuɗin Suwizalan', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Peso na ƙasar Chile', + 'CLP', + 'Peso na ƙasar Chile', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Yuwan na ƙasar Sin (na wajen ƙasa)', + 'CNH', + 'Yuwan na ƙasar Sin (na wajen ƙasa)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Yuwan na ƙasar Sin', + 'CN¥', + 'Yuwan na ƙasar Sin', ], 'COP' => [ - 0 => 'COP', - 1 => 'Peso na ƙasar Columbia', + 'COP', + 'Peso na ƙasar Columbia', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Colón na ƙasar Costa Rica', + 'CRC', + 'Colón na ƙasar Costa Rica', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Peso mai fuska biyu na ƙasar Kuba', + 'CUC', + 'Peso mai fuska biyu na ƙasar Kuba', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Peso na ƙasar Kuba', + 'CUP', + 'Peso na ƙasar Kuba', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Kuɗin Tsibiran Kap Barde', + 'CVE', + 'Kuɗin Tsibiran Kap Barde', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Kuɗin Czech', + 'CZK', + 'Kuɗin Czech', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Kuɗin Jibuti', + 'DJF', + 'Kuɗin Jibuti', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Krone na ƙasar Denmark', + 'DKK', + 'Krone na ƙasar Denmark', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Peso na jamhuriyar Dominica', + 'DOP', + 'Peso na jamhuriyar Dominica', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Kuɗin Aljeriya', + 'DZD', + 'Kuɗin Aljeriya', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Fam kin Masar', + 'EGP', + 'Fam kin Masar', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Kuɗin Eritireya', + 'ERN', + 'Kuɗin Eritireya', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Kuɗin Habasha', + 'ETB', + 'Kuɗin Habasha', ], 'EUR' => [ - 0 => '€', - 1 => 'Yuro', + '€', + 'Yuro', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Dalar Fiji', + 'FJD', + 'Dalar Fiji', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Fam na ƙasar Tsibirai na Falkland', + 'FKP', + 'Fam na ƙasar Tsibirai na Falkland', ], 'GBP' => [ - 0 => '£', - 1 => 'Fam na Ingila', + '£', + 'Fam na Ingila', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Kuɗin Georgia', + 'GEL', + 'Kuɗin Georgia', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Cedi', + 'GHC', + 'Cedi', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Sidi na Ghana', + 'GHS', + 'Sidi na Ghana', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Kuɗin Gibraltal', + 'GIP', + 'Kuɗin Gibraltal', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Kuɗin Gambiya', + 'GMD', + 'Kuɗin Gambiya', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Kuɗin Guinea', + 'GNF', + 'Kuɗin Guinea', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Kuɗin Gini', + 'GNS', + 'Kuɗin Gini', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Quetzal na ƙasar Guatemala', + 'GTQ', + 'Quetzal na ƙasar Guatemala', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Dalar Guyana', + 'GYD', + 'Dalar Guyana', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Dalar Hong Kong', + 'HK$', + 'Dalar Hong Kong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Lempira na ƙasar Honduras', + 'HNL', + 'Lempira na ƙasar Honduras', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Kuɗin Croatia', + 'HRK', + 'Kuɗin Croatia', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Gourde na ƙasar Haiti', + 'HTG', + 'Gourde na ƙasar Haiti', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Kuɗin Hungary', + 'HUF', + 'Kuɗin Hungary', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Rupiah na ƙasar Indonesia', + 'IDR', + 'Rupiah na ƙasar Indonesia', ], 'ILS' => [ - 0 => '₪', - 1 => 'Sabbin Kuɗin Israʼila', + '₪', + 'Sabbin Kuɗin Israʼila', ], 'INR' => [ - 0 => '₹', - 1 => 'Kuɗin Indiya', + '₹', + 'Kuɗin Indiya', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Dinarin Iraqi', + 'IQD', + 'Dinarin Iraqi', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Riyal na ƙasar Iran', + 'IRR', + 'Riyal na ƙasar Iran', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Króna na ƙasar Iceland', + 'ISK', + 'Króna na ƙasar Iceland', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Dalar Jamaica', + 'JMD', + 'Dalar Jamaica', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Dinarin Jordan', + 'JOD', + 'Dinarin Jordan', ], 'JPY' => [ - 0 => '¥', - 1 => 'Yen na ƙasar Japan', + '¥', + 'Yen na ƙasar Japan', ], 'KES' => [ - 0 => 'KES', - 1 => 'Sulen Kenya', + 'KES', + 'Sulen Kenya', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Som na ƙasar Kyrgystani', + 'KGS', + 'Som na ƙasar Kyrgystani', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Riel na ƙasar Cambodia', + 'KHR', + 'Riel na ƙasar Cambodia', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Kuɗin Kwamoras', + 'KMF', + 'Kuɗin Kwamoras', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Won na ƙasar Koriya ta Arewa', + 'KPW', + 'Won na ƙasar Koriya ta Arewa', ], 'KRW' => [ - 0 => '₩', - 1 => 'Won na Koriya ta Kudu', + '₩', + 'Won na Koriya ta Kudu', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Dinarin Kuwaiti', + 'KWD', + 'Dinarin Kuwaiti', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Dalar ƙasar Tsibirai na Cayman', + 'KYD', + 'Dalar ƙasar Tsibirai na Cayman', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Tenge na ƙasar Kazkhstan', + 'KZT', + 'Tenge na ƙasar Kazkhstan', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Kuɗin Laos', + 'LAK', + 'Kuɗin Laos', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Kuɗin Lebanon', + 'LBP', + 'Kuɗin Lebanon', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Rupee na ƙasar Sri Lanka', + 'LKR', + 'Rupee na ƙasar Sri Lanka', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Dalar Laberiya', + 'LRD', + 'Dalar Laberiya', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Kuɗin Lesoto', + 'LSL', + 'Kuɗin Lesoto', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Kuɗin Libiya', + 'LYD', + 'Kuɗin Libiya', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Kuɗin Maroko', + 'MAD', + 'Kuɗin Maroko', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Kuɗaɗen Moldova', + 'MDL', + 'Kuɗaɗen Moldova', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Kuɗin Madagaskar', + 'MGA', + 'Kuɗin Madagaskar', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Dinarin Macedonia', + 'MKD', + 'Dinarin Macedonia', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Kuɗin Myanmar', + 'MMK', + 'Kuɗin Myanmar', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Tugrik na Mongolia', + 'MNT', + 'Tugrik na Mongolia', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Pataca na ƙasar Macao', + 'MOP', + 'Pataca na ƙasar Macao', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Kuɗin Moritaniya (1973–2017)', + 'MRO', + 'Kuɗin Moritaniya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Kuɗin Moritaniya', + 'MRU', + 'Kuɗin Moritaniya', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Kuɗin Moritus', + 'MUR', + 'Kuɗin Moritus', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Rufiyaa na ɓasar Maldives', + 'MVR', + 'Rufiyaa na ɓasar Maldives', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Kuɗin Malawi', + 'MWK', + 'Kuɗin Malawi', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Peso na ƙasar Mekziko', + 'MX$', + 'Peso na ƙasar Mekziko', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Kuɗin Malaysia', + 'MYR', + 'Kuɗin Malaysia', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Kuɗin Mozambik', + 'MZM', + 'Kuɗin Mozambik', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Metical na ƙasar Mozambique', + 'MZN', + 'Metical na ƙasar Mozambique', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Dalar Namibiya', + 'NAD', + 'Dalar Namibiya', ], 'NGN' => [ - 0 => '₦', - 1 => 'Nairar Najeriya', + '₦', + 'Nairar Najeriya', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Córdoba na ƙasar Nicaragua', + 'NIO', + 'Córdoba na ƙasar Nicaragua', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Krone na ƙasar Norway', + 'NOK', + 'Krone na ƙasar Norway', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Rupee na Nepal', + 'NPR', + 'Rupee na Nepal', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Dalar New Zealand', + 'NZ$', + 'Dalar New Zealand', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Riyal ɗin Oman', + 'OMR', + 'Riyal ɗin Oman', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Balboa na ƙasar Panama', + 'PAB', + 'Balboa na ƙasar Panama', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Sol na ƙasar Peru', + 'PEN', + 'Sol na ƙasar Peru', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Kina na ƙasar Papua Sabon Guinea', + 'PGK', + 'Kina na ƙasar Papua Sabon Guinea', ], 'PHP' => [ - 0 => '₱', - 1 => 'Kuɗin Philippine', + '₱', + 'Kuɗin Philippine', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Rupee na ƙasar Pakistan', + 'PKR', + 'Rupee na ƙasar Pakistan', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Kuɗin Polan', + 'PLN', + 'Kuɗin Polan', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Guarani na ƙasar Paraguay', + 'PYG', + 'Guarani na ƙasar Paraguay', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Riyal ɗin Qatar', + 'QAR', + 'Riyal ɗin Qatar', ], 'RON' => [ - 0 => 'RON', - 1 => 'Kuɗin Romania', + 'RON', + 'Kuɗin Romania', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Dinarin Serbia', + 'RSD', + 'Dinarin Serbia', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Ruble na ƙasar Rasha', + 'RUB', + 'Ruble na ƙasar Rasha', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Kuɗin Ruwanda', + 'RWF', + 'Kuɗin Ruwanda', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Riyal', + 'SAR', + 'Riyal', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Dalar Tsibirai na Solomon', + 'SBD', + 'Dalar Tsibirai na Solomon', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Kuɗin Saishal', + 'SCR', + 'Kuɗin Saishal', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Fam na Sudan', + 'SDG', + 'Fam na Sudan', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Krona na ƙasar Sweden', + 'SEK', + 'Krona na ƙasar Sweden', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Dalar Singapore', + 'SGD', + 'Dalar Singapore', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Fam kin San Helena', + 'SHP', + 'Fam kin San Helena', + ], + 'SLE' => [ + 'SLE', + 'Kuɗin Salewo', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Kuɗin Salewo', + 'SLL', + 'Kuɗin Salewo (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Sulen Somaliya', + 'SOS', + 'Sulen Somaliya', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Dalar ƙasar Suriname', + 'SRD', + 'Dalar ƙasar Suriname', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Fam na Kudancin Sudan', + 'SSP', + 'Fam na Kudancin Sudan', ], 'STD' => [ - 0 => 'STD', - 1 => 'Kuɗin Sawo Tome da Paransip (1977–2017)', + 'STD', + 'Kuɗin Sawo Tome da Paransip (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Kuɗin Sawo Tome da Paransip', + 'STN', + 'Kuɗin Sawo Tome da Paransip', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Kuɗin Siriya', + 'SYP', + 'Kuɗin Siriya', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Kuɗin Lilangeni', + 'SZL', + 'Kuɗin Lilangeni', ], 'THB' => [ - 0 => 'THB', - 1 => 'Baht na ƙasar Thailand', + 'THB', + 'Baht na ƙasar Thailand', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Somoni na ƙasar Tajikistan', + 'TJS', + 'Somoni na ƙasar Tajikistan', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Manat na ƙasar Turkmenistan', + 'TMT', + 'Manat na ƙasar Turkmenistan', ], 'TND' => [ - 0 => 'TND', - 1 => 'Kuɗin Tunisiya', + 'TND', + 'Kuɗin Tunisiya', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Paʻanga na ƙasar Tonga', + 'TOP', + 'Paʻanga na ƙasar Tonga', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Kuɗin Turkiyya', + 'TRY', + 'Kuɗin Turkiyya', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Dalar ƙasar Trinidad da Tobago', + 'TTD', + 'Dalar ƙasar Trinidad da Tobago', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Sabuwar Dalar Taiwan', + 'NT$', + 'Sabuwar Dalar Taiwan', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Sulen Tanzaniya', + 'TZS', + 'Sulen Tanzaniya', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Kudin Ukrainian', + 'UAH', + 'Kudin Ukrainian', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Sule Yuganda', + 'UGX', + 'Sule Yuganda', ], 'USD' => [ - 0 => '$', - 1 => 'Dalar Amurka', + '$', + 'Dalar Amurka', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Peso na ƙasar Uruguay', + 'UYU', + 'Peso na ƙasar Uruguay', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Som na ƙasar Uzbekistan', + 'UZS', + 'Som na ƙasar Uzbekistan', ], 'VES' => [ - 0 => 'VES', - 1 => 'Bolívar na ƙasar Venezuela', + 'VES', + 'Bolívar na ƙasar Venezuela', ], 'VND' => [ - 0 => '₫', - 1 => 'Kuɗin Vietnam', + '₫', + 'Kuɗin Vietnam', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vatu da ƙasar Vanuatu', + 'VUV', + 'Vatu da ƙasar Vanuatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Tala na ƙasar Samoa', + 'WST', + 'Tala na ƙasar Samoa', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Kuɗin Sefa na Afirka Ta Tsakiya', + 'FCFA', + 'Kuɗin Sefa na Afirka Ta Tsakiya', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Dalar Gabashin Karebiyan', + 'EC$', + 'Dalar Gabashin Karebiyan', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Kuɗin Sefa na Afirka Ta Yamma', + 'F CFA', + 'Kuɗin Sefa na Afirka Ta Yamma', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'Kuɗin CFP franc', + 'CFPF', + 'Kuɗin CFP franc', ], 'YER' => [ - 0 => 'YER', - 1 => 'Riyal ɗin Yemen', + 'YER', + 'Riyal ɗin Yemen', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Kuɗin Afirka Ta Kudu', + 'ZAR', + 'Kuɗin Afirka Ta Kudu', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Kuɗin Zambiya (1968–2012)', + 'ZMK', + 'Kuɗin Zambiya (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Kuɗin Zambiya', + 'ZMW', + 'Kuɗin Zambiya', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Dalar zimbabuwe', + 'ZWD', + 'Dalar zimbabuwe', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ha_GH.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ha_GH.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ha_GH.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ha_GH.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'GHS' => [ - 0 => 'GH₵', - 1 => 'Sidi na Ghana', + 'GH₵', + 'Sidi na Ghana', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/he.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/he.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/he.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/he.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,892 +3,896 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'פזטה אנדורית', + 'ADP', + 'פזטה אנדורית', ], 'AED' => [ - 0 => 'AED', - 1 => 'דירהם של איחוד הנסיכויות הערביות', + 'AED', + 'דירהם של איחוד הנסיכויות הערביות', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'אפגני אפגני', + 'AFN', + 'אפגני אפגני', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'לק אלבני', + 'ALL', + 'לק אלבני', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'דראם ארמני', + 'AMD', + 'דראם ארמני', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'גילדר של האנטילים ההולנדיים', + 'ANG', + 'גילדר של האנטילים ההולנדיים', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'קואנזה אנגולי', + 'AOA', + 'קואנזה אנגולי', ], 'AON' => [ - 0 => 'AON', - 1 => 'קואנזה חדש אנגולי (1990–2000)', + 'AON', + 'קואנזה חדש אנגולי (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'קואנזה רג׳וסטדו אנגולי (1995–1999)', + 'AOR', + 'קואנזה רג׳וסטדו אנגולי (1995–1999)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'פזו ארגנטינאי (1983–1985)', + 'ARP', + 'פזו ארגנטינאי (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'פסו ארגנטינאי', + 'ARS', + 'פסו ארגנטינאי', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'שילינג אוסטרי', + 'ATS', + 'שילינג אוסטרי', ], 'AUD' => [ - 0 => 'A$', - 1 => 'דולר אוסטרלי', + 'A$', + 'דולר אוסטרלי', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'פלורין של ארובה', + 'AWG', + 'פלורין של ארובה', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'מנאט אזרביג׳אני (1993–2006)', + 'AZM', + 'מנאט אזרביג׳אני (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'מאנאט אזרבייג׳ני', + 'AZN', + 'מאנאט אזרבייג׳ני', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'דינר של בוסניה־הרצגובינה', + 'BAD', + 'דינר של בוסניה־הרצגובינה', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'מארק סחיר של בוסניה והרצגובינה', + 'BAM', + 'מארק סחיר של בוסניה והרצגובינה', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'דולר ברבדיאני', + 'BBD', + 'דולר ברבדיאני', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'טאקה בנגלדשי', + 'BDT', + 'טאקה בנגלדשי', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'פרנק בלגי (בר המרה)', + 'BEC', + 'פרנק בלגי (בר המרה)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'פרנק בלגי', + 'BEF', + 'פרנק בלגי', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'לב בולגרי ישן', + 'BGL', + 'לב בולגרי ישן', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'לב בולגרי', + 'BGN', + 'לב בולגרי', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'דינר בחרייני', + 'BHD', + 'דינר בחרייני', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'פרנק בורונדי', + 'BIF', + 'פרנק בורונדי', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'דולר ברמודה', + 'BMD', + 'דולר ברמודה', ], 'BND' => [ - 0 => 'BND', - 1 => 'דולר ברוניי', + 'BND', + 'דולר ברוניי', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'בוליביאנו', + 'BOB', + 'בוליביאנו', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'פזו בוליבי', + 'BOP', + 'פזו בוליבי', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'קרוזיארו חדש ברזילאי (1967–1986)', + 'BRB', + 'קרוזיארו חדש ברזילאי (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'קרוזדו ברזילאי', + 'BRC', + 'קרוזדו ברזילאי', ], 'BRL' => [ - 0 => 'R$', - 1 => 'ריאל ברזילאי', + 'R$', + 'ריאל ברזילאי', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'דולר בהאמי', + 'BSD', + 'דולר בהאמי', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'נגולטרום בהוטני', + 'BTN', + 'נגולטרום בהוטני', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'פולה בוטסואני', + 'BWP', + 'פולה בוטסואני', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'רובל בלרוסי', + 'BYN', + 'רובל בלרוסי', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'רובל בלרוסי (2000–2016)', + 'BYR', + 'רובל בלרוסי (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'דולר בליזי', + 'BZD', + 'דולר בליזי', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'דולר קנדי', + 'CA$', + 'דולר קנדי', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'פרנק קונגולזי', + 'CDF', + 'פרנק קונגולזי', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'פרנק שוויצרי', + 'CHF', + 'פרנק שוויצרי', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'פסו צ׳ילאני', + 'CLP', + 'פסו צ׳ילאני', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'יואן סיני (CNH)', + 'CNH', + 'יואן סיני (CNH)', ], 'CNY' => [ - 0 => '‎CN¥‎', - 1 => 'יואן סיני', + '‎CN¥‎', + 'יואן סיני', ], 'COP' => [ - 0 => 'COP', - 1 => 'פסו קולומביאני', + 'COP', + 'פסו קולומביאני', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'קולון קוסטה־ריקני', + 'CRC', + 'קולון קוסטה־ריקני', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'דינר סרבי ישן', + 'CSD', + 'דינר סרבי ישן', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'פסו קובני להמרה', + 'CUC', + 'פסו קובני להמרה', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'פסו קובני', + 'CUP', + 'פסו קובני', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'אסקודו כף ורדה', + 'CVE', + 'אסקודו כף ורדה', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'לירה קפריסאית', + 'CYP', + 'לירה קפריסאית', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'קורונה צ׳כית', + 'CZK', + 'קורונה צ׳כית', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'מרק מזרח גרמני', + 'DDM', + 'מרק מזרח גרמני', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'מרק גרמני', + 'DEM', + 'מרק גרמני', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'פרנק ג׳יבוטי', + 'DJF', + 'פרנק ג׳יבוטי', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'כתר דני', + 'DKK', + 'כתר דני', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'פסו דומיניקני', + 'DOP', + 'פסו דומיניקני', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'דינר אלג׳ירי', + 'DZD', + 'דינר אלג׳ירי', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'סוקר אקואדורי', + 'ECS', + 'סוקר אקואדורי', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'קרון אסטוני', + 'EEK', + 'קרון אסטוני', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'לירה מצרית', + 'EGP', + 'לירה מצרית', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'נאקפה אריתראי', + 'ERN', + 'נאקפה אריתראי', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'פסטה ספרדי', + 'ESP', + 'פסטה ספרדי', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'ביר אתיופי', + 'ETB', + 'ביר אתיופי', ], 'EUR' => [ - 0 => '€', - 1 => 'אירו', + '€', + 'אירו', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'מרק פיני', + 'FIM', + 'מרק פיני', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'דולר פיג׳י', + 'FJD', + 'דולר פיג׳י', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'לירה של איי פוקלנד', + 'FKP', + 'לירה של איי פוקלנד', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'פרנק צרפתי', + 'FRF', + 'פרנק צרפתי', ], 'GBP' => [ - 0 => '£', - 1 => 'לירה שטרלינג', + '£', + 'לירה שטרלינג', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'לארי גאורגי', + 'GEL', + 'לארי גאורגי', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'סדי גאני', + 'GHS', + 'סדי גאני', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'פאונד גיברלטר', + 'GIP', + 'פאונד גיברלטר', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'דלסי גמבי', + 'GMD', + 'דלסי גמבי', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'פרנק גינאי', + 'GNF', + 'פרנק גינאי', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'דרכמה', + 'GRD', + 'דרכמה', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'קצאל גואטמלי', + 'GTQ', + 'קצאל גואטמלי', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'פזו גינאי', + 'GWP', + 'פזו גינאי', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'דולר גיאני', + 'GYD', + 'דולר גיאני', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'דולר הונג קונגי', + 'HK$', + 'דולר הונג קונגי', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'למפירה הונדורי', + 'HNL', + 'למפירה הונדורי', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'קונה קרואטי', + 'HRK', + 'קונה קרואטי', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'גורד האיטי', + 'HTG', + 'גורד האיטי', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'פורינט הונגרי', + 'HUF', + 'פורינט הונגרי', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'רופיה אינדונזית', + 'IDR', + 'רופיה אינדונזית', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'לירה אירית', + 'IEP', + 'לירה אירית', ], 'ILP' => [ - 0 => 'ל״י', - 1 => 'לירה ישראלית', + 'ל״י', + 'לירה ישראלית', ], 'ILS' => [ - 0 => '₪', - 1 => 'שקל חדש', + '₪', + 'שקל חדש', ], 'INR' => [ - 0 => '₹', - 1 => 'רופי הודי', + '₹', + 'רופי הודי', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'דינר עיראקי', + 'IQD', + 'דינר עיראקי', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'ריאל איראני', + 'IRR', + 'ריאל איראני', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'כתר איסלנדי', + 'ISK', + 'כתר איסלנדי', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'לירה איטלקית', + 'ITL', + 'לירה איטלקית', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'דולר ג׳מייקני', + 'JMD', + 'דולר ג׳מייקני', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'דינר ירדני', + 'JOD', + 'דינר ירדני', ], 'JPY' => [ - 0 => '¥', - 1 => 'ין יפני', + '¥', + 'ין יפני', ], 'KES' => [ - 0 => 'KES', - 1 => 'שילינג קנייתי', + 'KES', + 'שילינג קנייתי', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'סום קירגיזי', + 'KGS', + 'סום קירגיזי', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'ריל קמבודי', + 'KHR', + 'ריל קמבודי', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'פרנק קומורואי', + 'KMF', + 'פרנק קומורואי', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'וון צפון קוריאני', + 'KPW', + 'וון צפון קוריאני', ], 'KRW' => [ - 0 => '₩', - 1 => 'וון דרום קוריאני', + '₩', + 'וון דרום קוריאני', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'דינר כוויתי', + 'KWD', + 'דינר כוויתי', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'דולר קיימני', + 'KYD', + 'דולר קיימני', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'טנגה קזחסטני', + 'KZT', + 'טנגה קזחסטני', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'קיפ לאי', + 'LAK', + 'קיפ לאי', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'לירה לבנונית', + 'LBP', + 'לירה לבנונית', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'רופי סרי לנקי', + 'LKR', + 'רופי סרי לנקי', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'דולר ליברי', + 'LRD', + 'דולר ליברי', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'לוטי לסותי', + 'LSL', + 'לוטי לסותי', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'ליטא ליטאי', + 'LTL', + 'ליטא ליטאי', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'פרנק לוקסמבורגי', + 'LUF', + 'פרנק לוקסמבורגי', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'לט לטבי', + 'LVL', + 'לט לטבי', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'דינר לובי', + 'LYD', + 'דינר לובי', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'דירהם מרוקאי', + 'MAD', + 'דירהם מרוקאי', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'פרנק מרוקאי', + 'MAF', + 'פרנק מרוקאי', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'לאו מולדובני', + 'MDL', + 'לאו מולדובני', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'אריארי מלגשי', + 'MGA', + 'אריארי מלגשי', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'פרנק מדגסקארי', + 'MGF', + 'פרנק מדגסקארי', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'דינר מקדוני', + 'MKD', + 'דינר מקדוני', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'קיאט מיאנמרי', + 'MMK', + 'קיאט מיאנמרי', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'טוגרוג מונגולי', + 'MNT', + 'טוגרוג מונגולי', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'פטקה של מקאו', + 'MOP', + 'פטקה של מקאו', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'אואוגויה מאוריטני (1973–2017)', + 'MRO', + 'אואוגויה מאוריטני (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'אואוגויה מאוריטני', + 'MRU', + 'אואוגויה מאוריטני', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'לירה מלטית', + 'MTL', + 'לירה מלטית', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'רופי מאוריציני', + 'MUR', + 'רופי מאוריציני', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'רופיה מלדיבית', + 'MVR', + 'רופיה מלדיבית', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'קואצ׳ה מלאווי', + 'MWK', + 'קואצ׳ה מלאווי', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'פסו מקסיקני', + 'MX$', + 'פסו מקסיקני', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'פזו מקסיקני (1861 – 1992)', + 'MXP', + 'פזו מקסיקני (1861 – 1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'יחידת השקעות מקסיקנית', + 'MXV', + 'יחידת השקעות מקסיקנית', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'רינגיט מלזי', + 'MYR', + 'רינגיט מלזי', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'אסקודו מוזמביקי', + 'MZE', + 'אסקודו מוזמביקי', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'מטיקל', + 'MZM', + 'מטיקל', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'מטיקל מוזמביני', + 'MZN', + 'מטיקל מוזמביני', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'דולר נמיבי', + 'NAD', + 'דולר נמיבי', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'נאירה ניגרי', + 'NGN', + 'נאירה ניגרי', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'קורדובה (1988–1991)', + 'NIC', + 'קורדובה (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'קורדובה ניקרגואה', + 'NIO', + 'קורדובה ניקרגואה', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'גילדן הולנדי', + 'NLG', + 'גילדן הולנדי', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'כתר נורווגי', + 'NOK', + 'כתר נורווגי', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'רופי נפאלי', + 'NPR', + 'רופי נפאלי', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'דולר ניו זילנדי', + 'NZ$', + 'דולר ניו זילנדי', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'ריאל עומאני', + 'OMR', + 'ריאל עומאני', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'בלבואה פנמי', + 'PAB', + 'בלבואה פנמי', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'סול פרואני', + 'PEN', + 'סול פרואני', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'קינה של פפואה גינאה החדשה', + 'PGK', + 'קינה של פפואה גינאה החדשה', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'פסו פיליפיני', + 'PHP', + 'פסו פיליפיני', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'רופי פקיסטני', + 'PKR', + 'רופי פקיסטני', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'זלוטי פולני', + 'PLN', + 'זלוטי פולני', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'אסקודו פורטוגלי', + 'PTE', + 'אסקודו פורטוגלי', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'גוארני פרגוואי', + 'PYG', + 'גוארני פרגוואי', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'ריאל קטארי', + 'QAR', + 'ריאל קטארי', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'לאו רומני ישן', + 'ROL', + 'לאו רומני ישן', ], 'RON' => [ - 0 => 'RON', - 1 => 'לאו רומני', + 'RON', + 'לאו רומני', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'דינר סרבי', + 'RSD', + 'דינר סרבי', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'רובל רוסי', + 'RUB', + 'רובל רוסי', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'רובל רוסי (1991 – 1998)', + 'RUR', + 'רובל רוסי (1991 – 1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'פרנק רואנדי', + 'RWF', + 'פרנק רואנדי', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'ריאל סעודי', + 'SAR', + 'ריאל סעודי', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'דולר איי שלמה', + 'SBD', + 'דולר איי שלמה', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'רופי סיישלי', + 'SCR', + 'רופי סיישלי', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'דינר סודני', + 'SDD', + 'דינר סודני', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'לירה סודנית', + 'SDG', + 'לירה סודנית', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'לירה סודנית (1957–1998)', + 'SDP', + 'לירה סודנית (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'כתר שוודי', + 'SEK', + 'כתר שוודי', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'דולר סינגפורי', + 'SGD', + 'דולר סינגפורי', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'פאונד סנט הלני', + 'SHP', + 'פאונד סנט הלני', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'טולאר סלובני', + 'SIT', + 'טולאר סלובני', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'קורונה סלובקי', + 'SKK', + 'קורונה סלובקי', + ], + 'SLE' => [ + 'SLE', + 'ליאון סיירה לאוני', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'ליאון סיירה לאוני', + 'SLL', + 'ליאון סיירה לאוני - 1964-2022', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'שילינג סומלי', + 'SOS', + 'שילינג סומלי', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'דולר סורינאמי', + 'SRD', + 'דולר סורינאמי', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'גילדר סורינאמי', + 'SRG', + 'גילדר סורינאמי', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'לירה דרום-סודנית', + 'SSP', + 'לירה דרום-סודנית', ], 'STD' => [ - 0 => 'STD', - 1 => 'דוברה של סן טומה ופרינסיפה (1977–2017)', + 'STD', + 'דוברה של סן טומה ופרינסיפה (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'דוברה של סאו טומה ופרינסיפה', + 'STN', + 'דוברה של סאו טומה ופרינסיפה', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'רובל סובייטי', + 'SUR', + 'רובל סובייטי', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'קולון סלבדורי', + 'SVC', + 'קולון סלבדורי', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'לירה סורית', + 'SYP', + 'לירה סורית', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'לילנגני סווזילנדי', + 'SZL', + 'לילנגני סווזילנדי', ], 'THB' => [ - 0 => '฿', - 1 => 'בהט תאילנדי', + '฿', + 'בהט תאילנדי', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'סומוני טג׳קיסטני', + 'TJS', + 'סומוני טג׳קיסטני', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'מנאט טורקמאני', + 'TMM', + 'מנאט טורקמאני', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'מאנאט טורקמני', + 'TMT', + 'מאנאט טורקמני', ], 'TND' => [ - 0 => 'TND', - 1 => 'דינר טוניסאי', + 'TND', + 'דינר טוניסאי', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'פאנגה טונגי', + 'TOP', + 'פאנגה טונגי', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'אסקודו טימוראי', + 'TPE', + 'אסקודו טימוראי', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'לירה טורקית', + 'TRL', + 'לירה טורקית', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'לירה טורקית חדשה', + 'TRY', + 'לירה טורקית חדשה', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'דולר טרינידדי', + 'TTD', + 'דולר טרינידדי', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'דולר טייוואני חדש', + 'NT$', + 'דולר טייוואני חדש', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'שילינג טנזני', + 'TZS', + 'שילינג טנזני', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'הריבנה אוקראיני', + 'UAH', + 'הריבנה אוקראיני', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'שילינג אוגנדי (1966 – 1987)', + 'UGS', + 'שילינג אוגנדי (1966 – 1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'שילינג אוגנדי', + 'UGX', + 'שילינג אוגנדי', ], 'USD' => [ - 0 => '$', - 1 => 'דולר אמריקאי', + '$', + 'דולר אמריקאי', ], 'USN' => [ - 0 => 'USN', - 1 => 'דולר אמריקאי (היום הבא)', + 'USN', + 'דולר אמריקאי (היום הבא)', ], 'USS' => [ - 0 => 'USS', - 1 => 'דולר אמריקאי (היום הזה)', + 'USS', + 'דולר אמריקאי (היום הזה)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'פסו אורוגוואי', + 'UYU', + 'פסו אורוגוואי', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'סום אוזבקי', + 'UZS', + 'סום אוזבקי', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'בוליבר ונצואלי (1871–2008)', + 'VEB', + 'בוליבר ונצואלי (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'בוליבר ונצואלי (2008–2018)', + 'VEF', + 'בוליבר ונצואלי (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'בוליבר ונצואלי', + 'VES', + 'בוליבר ונצואלי', ], 'VND' => [ - 0 => '₫', - 1 => 'דונג וייטנאמי', + '₫', + 'דונג וייטנאמי', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'ואטו של ונואטו', + 'VUV', + 'ואטו של ונואטו', ], 'WST' => [ - 0 => 'WST', - 1 => 'טאלה סמואי', + 'WST', + 'טאלה סמואי', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'פרנק CFA מרכז אפריקני', + 'FCFA', + 'פרנק CFA מרכז אפריקני', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'דולר מזרח קריבי', + 'EC$', + 'דולר מזרח קריבי', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'פרנק זהב', + 'XFO', + 'פרנק זהב', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'פרנק CFA מערב אפריקני', + 'F CFA', + 'פרנק CFA מערב אפריקני', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'פרנק פולינזיה הצרפתית', + 'CFPF', + 'פרנק פולינזיה הצרפתית', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'דינר תימני', + 'YDD', + 'דינר תימני', ], 'YER' => [ - 0 => 'YER', - 1 => 'ריאל תימני', + 'YER', + 'ריאל תימני', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'ראנד דרום אפריקאי (כספי)', + 'ZAL', + 'ראנד דרום אפריקאי (כספי)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'ראנד דרום אפריקאי', + 'ZAR', + 'ראנד דרום אפריקאי', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'קוואצ׳ה זמבית (1968–2012)', + 'ZMK', + 'קוואצ׳ה זמבית (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'קוואצ׳ה זמבי', + 'ZMW', + 'קוואצ׳ה זמבי', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'זאיר חדש', + 'ZRN', + 'זאיר חדש', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'דולר זימבבואי', + 'ZWD', + 'דולר זימבבואי', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hi.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hi.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hi.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hi.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,756 +3,760 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'संयुक्त अरब अमीरात दिरहाम', + 'AED', + 'संयुक्त अरब अमीरात दिरहाम', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'अफगानी (1927–2002)', + 'AFA', + 'अफगानी (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'अफ़गान अफ़गानी', + 'AFN', + 'अफ़गान अफ़गानी', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'अल्बानियाई लेक', + 'ALL', + 'अल्बानियाई लेक', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'आर्मेनियाई द्राम', + 'AMD', + 'आर्मेनियाई द्राम', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'नीदरलैंड एंटीलियन गिल्डर', + 'ANG', + 'नीदरलैंड एंटीलियन गिल्डर', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'अंगोला क्वांज़ा', + 'AOA', + 'अंगोला क्वांज़ा', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'अर्जेंटीनी पेसो', + 'ARS', + 'अर्जेंटीनी पेसो', ], 'AUD' => [ - 0 => 'A$', - 1 => 'ऑस्ट्रेलियाई डॉलर', + 'A$', + 'ऑस्ट्रेलियाई डॉलर', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'अरूबाई फ़्लोरिन', + 'AWG', + 'अरूबाई फ़्लोरिन', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'अज़रबैजानी मैनेट', + 'AZN', + 'अज़रबैजानी मैनेट', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'बोस्निया हर्ज़ेगोविना परिवर्तनीय मार्क', + 'BAM', + 'बोस्निया हर्ज़ेगोविना परिवर्तनीय मार्क', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'बार्बेडियन डॉलर', + 'BBD', + 'बार्बेडियन डॉलर', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'बांग्लादेशी टका', + 'BDT', + 'बांग्लादेशी टका', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'बुल्गारियाई लेव', + 'BGN', + 'बुल्गारियाई लेव', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'बहरीनी दिनार', + 'BHD', + 'बहरीनी दिनार', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'बुरूंडी फ़्रैंक', + 'BIF', + 'बुरूंडी फ़्रैंक', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'बरमूडा डॉलर', + 'BMD', + 'बरमूडा डॉलर', ], 'BND' => [ - 0 => 'BND', - 1 => 'ब्रूनेई डॉलर', + 'BND', + 'ब्रूनेई डॉलर', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'बोलिवियाई बोलिवियानो', + 'BOB', + 'बोलिवियाई बोलिवियानो', ], 'BRL' => [ - 0 => 'R$', - 1 => 'ब्राज़ीली रियाल', + 'R$', + 'ब्राज़ीली रियाल', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'बहामाई डॉलर', + 'BSD', + 'बहामाई डॉलर', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'भूटानी नंगलट्रम', + 'BTN', + 'भूटानी नंगलट्रम', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'बर्मी क्यात', + 'BUK', + 'बर्मी क्यात', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'बोत्सवानियाई पुला', + 'BWP', + 'बोत्सवानियाई पुला', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'बेलारूसी रूबल', + 'BYN', + 'बेलारूसी रूबल', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'बेलारूसी रूबल (2000–2016)', + 'BYR', + 'बेलारूसी रूबल (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'बेलीज़ डॉलर', + 'BZD', + 'बेलीज़ डॉलर', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'कनाडाई डॉलर', + 'CA$', + 'कनाडाई डॉलर', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'कोंगोली फ़्रैंक', + 'CDF', + 'कोंगोली फ़्रैंक', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'स्विस फ़्रैंक', + 'CHF', + 'स्विस फ़्रैंक', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'चिली पेसो', + 'CLP', + 'चिली पेसो', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'चीनी युआन (ऑफ़शोर)', + 'CNH', + 'चीनी युआन (ऑफ़शोर)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'चीनी युआन', + 'CN¥', + 'चीनी युआन', ], 'COP' => [ - 0 => 'COP', - 1 => 'कोलंबियाई पेसो', + 'COP', + 'कोलंबियाई पेसो', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'कोस्टा रिका कोलोन', + 'CRC', + 'कोस्टा रिका कोलोन', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'सर्बिय का ढीनार', + 'CSD', + 'सर्बिय का ढीनार', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'क्यूबाई परिवर्तनीय पेसो', + 'CUC', + 'क्यूबाई परिवर्तनीय पेसो', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'क्यूबाई पेसो', + 'CUP', + 'क्यूबाई पेसो', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'केप वर्ड एस्कूडो', + 'CVE', + 'केप वर्ड एस्कूडो', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'साईप्रस पाऊंड', + 'CYP', + 'साईप्रस पाऊंड', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'चेक गणराज्य कोरुना', + 'CZK', + 'चेक गणराज्य कोरुना', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'डच मार्क', + 'DEM', + 'डच मार्क', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'जिबूती फ़्रैंक', + 'DJF', + 'जिबूती फ़्रैंक', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'डैनिश क्रोन', + 'DKK', + 'डैनिश क्रोन', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'डोमिनिकन पेसो', + 'DOP', + 'डोमिनिकन पेसो', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'अल्जीरियाई दिनार', + 'DZD', + 'अल्जीरियाई दिनार', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'एस्टोनियाई क्रून्', + 'EEK', + 'एस्टोनियाई क्रून्', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'मिस्र पाउंड', + 'EGP', + 'मिस्र पाउंड', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'इरीट्रियन नाक्फ़ा', + 'ERN', + 'इरीट्रियन नाक्फ़ा', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'इथियोपियन बिर', + 'ETB', + 'इथियोपियन बिर', ], 'EUR' => [ - 0 => '€', - 1 => 'यूरो', + '€', + 'यूरो', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'फ़िजी डॉलर', + 'FJD', + 'फ़िजी डॉलर', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'फ़ॉकलैंड द्वीपसमूह पाउंड', + 'FKP', + 'फ़ॉकलैंड द्वीपसमूह पाउंड', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'फ़्रांसीसी फ़्रैंक', + 'FRF', + 'फ़्रांसीसी फ़्रैंक', ], 'GBP' => [ - 0 => '£', - 1 => 'ब्रिटिश पाउंड स्टर्लिंग', + '£', + 'ब्रिटिश पाउंड स्टर्लिंग', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'जॉर्जियन लारी', + 'GEL', + 'जॉर्जियन लारी', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'घानियन सेडी', + 'GHS', + 'घानियन सेडी', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'जिब्राल्टर पाउंड', + 'GIP', + 'जिब्राल्टर पाउंड', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'गैंबियन डलासी', + 'GMD', + 'गैंबियन डलासी', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'गिनीयन फ़्रैंक', + 'GNF', + 'गिनीयन फ़्रैंक', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'ग्वाटेमाला क्वेटज़ल', + 'GTQ', + 'ग्वाटेमाला क्वेटज़ल', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'गयानीज़ डॉलर', + 'GYD', + 'गयानीज़ डॉलर', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'हाँगकाँग डॉलर', + 'HK$', + 'हाँगकाँग डॉलर', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'होंडुरन लेम्पिरा', + 'HNL', + 'होंडुरन लेम्पिरा', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'क्रोएशियन दिनार', + 'HRD', + 'क्रोएशियन दिनार', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'क्रोएशियाई कुना', + 'HRK', + 'क्रोएशियाई कुना', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'हैतियाई गर्ड', + 'HTG', + 'हैतियाई गर्ड', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'हंगेरियन फ़ोरिंट', + 'HUF', + 'हंगेरियन फ़ोरिंट', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'इंडोनेशियाई रुपिया', + 'IDR', + 'इंडोनेशियाई रुपिया', ], 'ILS' => [ - 0 => '₪', - 1 => 'इज़राइली न्यू शेकेल', + '₪', + 'इज़राइली न्यू शेकेल', ], 'INR' => [ - 0 => '₹', - 1 => 'भारतीय रुपया', + '₹', + 'भारतीय रुपया', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'इराकी दिनार', + 'IQD', + 'इराकी दिनार', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'ईरानी रियाल', + 'IRR', + 'ईरानी रियाल', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'आइसलैंडिक क्रोना', + 'ISK', + 'आइसलैंडिक क्रोना', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'इतली का लीरा', + 'ITL', + 'इतली का लीरा', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'जमैकन डॉलर', + 'JMD', + 'जमैकन डॉलर', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'जॉर्डनियन दिनार', + 'JOD', + 'जॉर्डनियन दिनार', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'जापानी येन', + 'JP¥', + 'जापानी येन', ], 'KES' => [ - 0 => 'KES', - 1 => 'केन्याई शिलिंग', + 'KES', + 'केन्याई शिलिंग', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'किर्गिस्तानी सोम', + 'KGS', + 'किर्गिस्तानी सोम', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'कंबोडियाई रियाल', + 'KHR', + 'कंबोडियाई रियाल', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'कोमोरियन फ़्रैंक', + 'KMF', + 'कोमोरियन फ़्रैंक', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'उत्तर कोरियाई वॉन', + 'KPW', + 'उत्तर कोरियाई वॉन', ], 'KRW' => [ - 0 => '₩', - 1 => 'दक्षिण कोरियाई वॉन', + '₩', + 'दक्षिण कोरियाई वॉन', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'कुवैती दिनार', + 'KWD', + 'कुवैती दिनार', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'कैमेन द्वीपसमूह डॉलर', + 'KYD', + 'कैमेन द्वीपसमूह डॉलर', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'कज़ाखिस्तानी टेंज़', + 'KZT', + 'कज़ाखिस्तानी टेंज़', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'लाओशियन किप', + 'LAK', + 'लाओशियन किप', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'लेबनानी पाउंड', + 'LBP', + 'लेबनानी पाउंड', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'श्रीलंकाई रुपया', + 'LKR', + 'श्रीलंकाई रुपया', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'लाइबेरियाई डॉलर', + 'LRD', + 'लाइबेरियाई डॉलर', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'लेसोथो लोटी', + 'LSL', + 'लेसोथो लोटी', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'लिथुआनियाई लितास', + 'LTL', + 'लिथुआनियाई लितास', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'लात्वियन लैत्स', + 'LVL', + 'लात्वियन लैत्स', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'लीबियाई दिनार', + 'LYD', + 'लीबियाई दिनार', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'मोरक्को दिरहम', + 'MAD', + 'मोरक्को दिरहम', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'मोरक्को फ्रैंक', + 'MAF', + 'मोरक्को फ्रैंक', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'मोल्डोवन लियू', + 'MDL', + 'मोल्डोवन लियू', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'मालागासी आरियरी', + 'MGA', + 'मालागासी आरियरी', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'मैसीडोनियन दिनार', + 'MKD', + 'मैसीडोनियन दिनार', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'म्यांमार क्याट', + 'MMK', + 'म्यांमार क्याट', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'मंगोलियाई टगरिक', + 'MNT', + 'मंगोलियाई टगरिक', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'मेकानीज़ पाटाका', + 'MOP', + 'मेकानीज़ पाटाका', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'मॉरीटेनियन ओगुइया (1973–2017)', + 'MRO', + 'मॉरीटेनियन ओगुइया (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'मॉरीटेनियन ओगुइया', + 'MRU', + 'मॉरीटेनियन ओगुइया', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'मॉरिशियन रुपया', + 'MUR', + 'मॉरिशियन रुपया', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'मालदीवी रुफ़िया', + 'MVR', + 'मालदीवी रुफ़िया', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'मालावियन क्वाचा', + 'MWK', + 'मालावियन क्वाचा', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'मैक्सिकन पेसो', + 'MX$', + 'मैक्सिकन पेसो', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'मलेशियाई रिंगित', + 'MYR', + 'मलेशियाई रिंगित', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'मोज़ाम्बिकन मेटिकल', + 'MZN', + 'मोज़ाम्बिकन मेटिकल', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'नामीबियाई डॉलर', + 'NAD', + 'नामीबियाई डॉलर', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'नाइजीरियाई नाइरा', + 'NGN', + 'नाइजीरियाई नाइरा', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'निकारागुअन कोरडोबा', + 'NIO', + 'निकारागुअन कोरडोबा', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'नॉर्वेजियन क्रोन', + 'NOK', + 'नॉर्वेजियन क्रोन', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'नेपाली रुपया', + 'NPR', + 'नेपाली रुपया', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'न्यूज़ीलैंड डॉलर', + 'NZ$', + 'न्यूज़ीलैंड डॉलर', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'ओमानी रियाल', + 'OMR', + 'ओमानी रियाल', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'पनामेनियन बैल्बोआ', + 'PAB', + 'पनामेनियन बैल्बोआ', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'पेरूवियन सोल', + 'PEN', + 'पेरूवियन सोल', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'पापुआ न्यू गिनीयन किना', + 'PGK', + 'पापुआ न्यू गिनीयन किना', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'फ़िलिपीनी पेसो', + 'PHP', + 'फ़िलिपीनी पेसो', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'पाकिस्तानी रुपया', + 'PKR', + 'पाकिस्तानी रुपया', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'पोलिश ज़्लॉटी', + 'PLN', + 'पोलिश ज़्लॉटी', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'पैराग्वियन गुआरानी', + 'PYG', + 'पैराग्वियन गुआरानी', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'क़तरी रियाल', + 'QAR', + 'क़तरी रियाल', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'रोडेशियाई डालर', + 'RHD', + 'रोडेशियाई डालर', ], 'RON' => [ - 0 => 'RON', - 1 => 'रोमानियाई ल्यू', + 'RON', + 'रोमानियाई ल्यू', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'सर्बियन दिनार', + 'RSD', + 'सर्बियन दिनार', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'रूसी रूबल', + 'RUB', + 'रूसी रूबल', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'रवांडाई फ़्रैंक', + 'RWF', + 'रवांडाई फ़्रैंक', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'सउदी रियाल', + 'SAR', + 'सउदी रियाल', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'सोलोमन द्वीपसमूह डॉलर', + 'SBD', + 'सोलोमन द्वीपसमूह डॉलर', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'सेशेल्सियाई रुपया', + 'SCR', + 'सेशेल्सियाई रुपया', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'पुरानी सूडानी दिनार', + 'SDD', + 'पुरानी सूडानी दिनार', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'सूडानी पाउंड', + 'SDG', + 'सूडानी पाउंड', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'पुराना सूडानी पाउंड', + 'SDP', + 'पुराना सूडानी पाउंड', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'स्वीडीश क्रोना', + 'SEK', + 'स्वीडीश क्रोना', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'सिंगापुर डॉलर', + 'SGD', + 'सिंगापुर डॉलर', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'सेंट हेलेना पाउंड', + 'SHP', + 'सेंट हेलेना पाउंड', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'स्लोवेनियाई तोलार', + 'SIT', + 'स्लोवेनियाई तोलार', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'स्लोवाक कोरुना', + 'SKK', + 'स्लोवाक कोरुना', + ], + 'SLE' => [ + 'SLE', + 'सिएरा लियोनियन लियोन', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'सिएरा लियोनियन लियोन', + 'SLL', + 'सिएरा लियोनियन लियोन (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'सोमाली शिलिंग', + 'SOS', + 'सोमाली शिलिंग', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'सूरीनामी डॉलर', + 'SRD', + 'सूरीनामी डॉलर', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'सूरीनामी गिल्डर', + 'SRG', + 'सूरीनामी गिल्डर', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'दक्षिण सूडानी पाउंड', + 'SSP', + 'दक्षिण सूडानी पाउंड', ], 'STD' => [ - 0 => 'STD', - 1 => 'साओ तोम और प्रिंसिपे डोबरा (1977–2017)', + 'STD', + 'साओ तोम और प्रिंसिपे डोबरा (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'साओ टोम और प्रिंसिपे डोबरा', + 'STN', + 'साओ टोम और प्रिंसिपे डोबरा', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'सोवियत रूबल', + 'SUR', + 'सोवियत रूबल', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'सीरियाई पाउंड', + 'SYP', + 'सीरियाई पाउंड', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'स्वाज़ी लिलांजेनी', + 'SZL', + 'स्वाज़ी लिलांजेनी', ], 'THB' => [ - 0 => '฿', - 1 => 'थाई बहत', + '฿', + 'थाई बहत', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'तजाखी रूबल', + 'TJR', + 'तजाखी रूबल', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'ताजिकिस्तानी सोमोनी', + 'TJS', + 'ताजिकिस्तानी सोमोनी', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'तुर्कमेनिस्तानी मैनत', + 'TMT', + 'तुर्कमेनिस्तानी मैनत', ], 'TND' => [ - 0 => 'TND', - 1 => 'ट्यूनीशियाई दिनार', + 'TND', + 'ट्यूनीशियाई दिनार', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'टोंगन पांगा', + 'TOP', + 'टोंगन पांगा', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'तिमोरी एस्कूडो', + 'TPE', + 'तिमोरी एस्कूडो', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'पुरानी तुर्की लीरा', + 'TRL', + 'पुरानी तुर्की लीरा', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'तुर्की लीरा', + 'TRY', + 'तुर्की लीरा', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'त्रिनिदाद और टोबैगो डॉलर', + 'TTD', + 'त्रिनिदाद और टोबैगो डॉलर', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'नया ताईवानी डॉलर', + 'NT$', + 'नया ताईवानी डॉलर', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'तंज़ानियाई शिलिंग', + 'TZS', + 'तंज़ानियाई शिलिंग', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'यूक्रेनियन रिव्निया', + 'UAH', + 'यूक्रेनियन रिव्निया', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'युगांडाई शिलिंग', + 'UGX', + 'युगांडाई शिलिंग', ], 'USD' => [ - 0 => '$', - 1 => 'यूएस डॉलर', + '$', + 'यूएस डॉलर', ], 'USN' => [ - 0 => 'USN', - 1 => 'अमेरीकी डालर (कल)', + 'USN', + 'अमेरीकी डालर (कल)', ], 'USS' => [ - 0 => 'USS', - 1 => 'अमेरीकी डालर (आज)', + 'USS', + 'अमेरीकी डालर (आज)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'उरुग्वियन पेसो', + 'UYU', + 'उरुग्वियन पेसो', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'उज़्बेकिस्तानी सोम', + 'UZS', + 'उज़्बेकिस्तानी सोम', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'वेनेज़ुएला बोलिवर (1871–2008)', + 'VEB', + 'वेनेज़ुएला बोलिवर (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'वेनेज़ुएला बोलिवर (2008–2018)', + 'VEF', + 'वेनेज़ुएला बोलिवर (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'वेनेज़ुएला बोलिवर', + 'VES', + 'वेनेज़ुएला बोलिवर', ], 'VND' => [ - 0 => '₫', - 1 => 'वियतनामी डोंग', + '₫', + 'वियतनामी डोंग', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'वियतनामी डोंग (1978–1985)', + 'VNN', + 'वियतनामी डोंग (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'वनुआतू वातू', + 'VUV', + 'वनुआतू वातू', ], 'WST' => [ - 0 => 'WST', - 1 => 'समोआई ताला', + 'WST', + 'समोआई ताला', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'केंद्रीय अफ़्रीकी CFA फ़्रैंक', + 'FCFA', + 'केंद्रीय अफ़्रीकी CFA फ़्रैंक', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'पूर्वी कैरिबियाई डॉलर', + 'EC$', + 'पूर्वी कैरिबियाई डॉलर', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'यूरोपीय मुद्रा इकाई', + 'XEU', + 'यूरोपीय मुद्रा इकाई', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'पश्चिमी अफ़्रीकी CFA फ़्रैंक', + 'F CFA', + 'पश्चिमी अफ़्रीकी CFA फ़्रैंक', ], 'XPF' => [ - 0 => 'CFPF', - 1 => '[CFP] फ़्रैंक', + 'CFPF', + '[CFP] फ़्रैंक', ], 'YER' => [ - 0 => 'YER', - 1 => 'यमनी रियाल', + 'YER', + 'यमनी रियाल', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'दक्षिण अफ़्रीकी रैंड', + 'ZAR', + 'दक्षिण अफ़्रीकी रैंड', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'ज़ाम्बियन क्वाचा (1968–2012)', + 'ZMK', + 'ज़ाम्बियन क्वाचा (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'ज़ाम्बियन क्वाचा', + 'ZMW', + 'ज़ाम्बियन क्वाचा', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hi_Latn.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hi_Latn.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hi_Latn.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hi_Latn.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,28 +3,28 @@ return [ 'Names' => [ 'CRC' => [ - 0 => 'CRC', - 1 => 'Costa Rican colon', + 'CRC', + 'Costa Rican colon', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Icelandic krona', + 'ISK', + 'Icelandic krona', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Nicaraguan cordoba', + 'NIO', + 'Nicaraguan cordoba', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Russian ruble', + 'RUB', + 'Russian ruble', ], 'STN' => [ - 0 => 'STN', - 1 => 'Sao Tome & Principe Dobra', + 'STN', + 'Sao Tome & Principe Dobra', ], 'VES' => [ - 0 => 'VES', - 1 => 'Venezuelan bolivar', + 'VES', + 'Venezuelan bolivar', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hr.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hr.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hr.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hr.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1160 +3,1156 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'andorska pezeta', + 'ADP', + 'andorska pezeta', ], 'AED' => [ - 0 => 'AED', - 1 => 'UAE dirham', + 'AED', + 'UAE dirham', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'afganistanski afgani (1927.–2002.)', + 'AFA', + 'afganistanski afgani (1927.–2002.)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afganistanski afgani', + 'AFN', + 'afganistanski afgani', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'stari albanski lek', + 'ALK', + 'stari albanski lek', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'albanski lek', + 'ALL', + 'albanski lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'armenski dram', + 'AMD', + 'armenski dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'nizozemskoantilski gulden', + 'ANG', + 'nizozemskoantilski gulden', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'angolska kvanza', + 'AOA', + 'angolska kvanza', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'angolska kvanza (1977.–1990.)', + 'AOK', + 'angolska kvanza (1977.–1990.)', ], 'AON' => [ - 0 => 'AON', - 1 => 'angolska nova kvanza (1990.–2000.)', + 'AON', + 'angolska nova kvanza (1990.–2000.)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'angolska kvanza (1995.–1999.)', + 'AOR', + 'angolska kvanza (1995.–1999.)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'argentinski austral', + 'ARA', + 'argentinski austral', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'argentinski pezo lej (1970.–1983.)', + 'ARL', + 'argentinski pezo lej (1970.–1983.)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'argentinski pezo (1881.–1970.)', + 'ARM', + 'argentinski pezo (1881.–1970.)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'argentinski pezo (1983.–1985.)', + 'ARP', + 'argentinski pezo (1983.–1985.)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'argentinski pezo', + 'ARS', + 'argentinski pezo', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'austrijski šiling', + 'ATS', + 'austrijski šiling', ], 'AUD' => [ - 0 => 'AUD', - 1 => 'australski dolar', + 'AUD', + 'australski dolar', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'arupski florin', + 'AWG', + 'arupski florin', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'azerbajdžanski manat (1993.–2006.)', + 'AZM', + 'azerbajdžanski manat (1993.–2006.)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'azerbajdžanski manat', + 'AZN', + 'azerbajdžanski manat', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'bosansko-hercegovački dinar', + 'BAD', + 'bosansko-hercegovački dinar', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'konvertibilna marka', + 'BAM', + 'konvertibilna marka', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'bosansko-hercegovački novi dinar', + 'BAN', + 'bosansko-hercegovački novi dinar', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'barbadoski dolar', + 'BBD', + 'barbadoski dolar', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'bangladeška taka', + 'BDT', + 'bangladeška taka', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'belgijski franak (konvertibilan)', + 'BEC', + 'belgijski franak (konvertibilan)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'belgijski franak', + 'BEF', + 'belgijski franak', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'belgijski franak (financijski)', + 'BEL', + 'belgijski franak (financijski)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'bugarski čvrsti lev', + 'BGL', + 'bugarski čvrsti lev', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'bugarski socijalistički lev', + 'BGM', + 'bugarski socijalistički lev', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'bugarski lev', + 'BGN', + 'bugarski lev', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'stari bugarski lev', + 'BGO', + 'stari bugarski lev', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'bahreinski dinar', + 'BHD', + 'bahreinski dinar', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'burundski franak', + 'BIF', + 'burundski franak', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'bermudski dolar', + 'BMD', + 'bermudski dolar', ], 'BND' => [ - 0 => 'BND', - 1 => 'brunejski dolar', + 'BND', + 'brunejski dolar', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'bolivijski bolivijano', + 'BOB', + 'bolivijski bolivijano', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'stari bolivijski bolivijano', + 'BOL', + 'stari bolivijski bolivijano', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'bolivijski pezo', + 'BOP', + 'bolivijski pezo', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'bolivijski mvdol', + 'BOV', + 'bolivijski mvdol', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'brazilski novi cruzeiro (1967.–1986.)', + 'BRB', + 'brazilski novi cruzeiro (1967.–1986.)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'brazilski cruzado', + 'BRC', + 'brazilski cruzado', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'brazilski cruzeiro (1990.–1993.)', + 'BRE', + 'brazilski cruzeiro (1990.–1993.)', ], 'BRL' => [ - 0 => 'BRL', - 1 => 'brazilski real', + 'BRL', + 'brazilski real', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'brazilski novi cruzado', + 'BRN', + 'brazilski novi cruzado', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'brazilski cruzeiro', - ], - 'BRZ' => [ - 0 => 'BRZ', - 1 => 'BRZ', + 'BRR', + 'brazilski cruzeiro', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'bahamski dolar', + 'BSD', + 'bahamski dolar', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'butanski ngultrum', + 'BTN', + 'butanski ngultrum', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'burmanski kyat', + 'BUK', + 'burmanski kyat', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'bocvanska pula', + 'BWP', + 'bocvanska pula', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'bjeloruska nova rublja (1994–1999)', + 'BYB', + 'bjeloruska nova rublja (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'bjeloruski rubalj', + 'BYN', + 'bjeloruski rubalj', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'bjeloruska rublja (2000–2016)', + 'BYR', + 'bjeloruska rublja (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'belizeanski dolar', + 'BZD', + 'belizeanski dolar', ], 'CAD' => [ - 0 => 'CAD', - 1 => 'kanadski dolar', + 'CAD', + 'kanadski dolar', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'kongoanski franak', + 'CDF', + 'kongoanski franak', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'WIR euro', + 'CHE', + 'WIR euro', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'švicarski franak', + 'CHF', + 'švicarski franak', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'WIR franak', + 'CHW', + 'WIR franak', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'čileanski eskudo', + 'CLE', + 'čileanski eskudo', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'čileanski unidades de fomentos', + 'CLF', + 'čileanski unidades de fomentos', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'čileanski pezo', + 'CLP', + 'čileanski pezo', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'kineski juan (offshore)', + 'CNH', + 'kineski juan (offshore)', ], 'CNX' => [ - 0 => 'CNX', - 1 => 'kineski narodni dolar', + 'CNX', + 'kineski narodni dolar', ], 'CNY' => [ - 0 => 'CNY', - 1 => 'kineski yuan', + 'CNY', + 'kineski yuan', ], 'COP' => [ - 0 => 'COP', - 1 => 'kolumbijski pezo', + 'COP', + 'kolumbijski pezo', ], 'COU' => [ - 0 => 'COU', - 1 => 'unidad de valor real', + 'COU', + 'unidad de valor real', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'kostarikanski kolon', + 'CRC', + 'kostarikanski kolon', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'stari srpski dinar', + 'CSD', + 'stari srpski dinar', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'čehoslovačka kruna', + 'CSK', + 'čehoslovačka kruna', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'kubanski konvertibilni pezo', + 'CUC', + 'kubanski konvertibilni pezo', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'kubanski pezo', + 'CUP', + 'kubanski pezo', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'zelenortski eskudo', + 'CVE', + 'zelenortski eskudo', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'ciparska funta', + 'CYP', + 'ciparska funta', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'češka kruna', + 'CZK', + 'češka kruna', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'istočnonjemačka marka', + 'DDM', + 'istočnonjemačka marka', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'njemačka marka', + 'DEM', + 'njemačka marka', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'džibutski franak', + 'DJF', + 'džibutski franak', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'danska kruna', + 'DKK', + 'danska kruna', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'dominikanski pezo', + 'DOP', + 'dominikanski pezo', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'alžirski dinar', + 'DZD', + 'alžirski dinar', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'ekvatorska sukra', + 'ECS', + 'ekvatorska sukra', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'ekvatorski unidad de valor constante (UVC)', + 'ECV', + 'ekvatorski unidad de valor constante (UVC)', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'estonska kruna', + 'EEK', + 'estonska kruna', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'egipatska funta', + 'EGP', + 'egipatska funta', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'eritrejska nakfa', + 'ERN', + 'eritrejska nakfa', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'španjolska pezeta (A račun)', + 'ESA', + 'španjolska pezeta (A račun)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'španjolska pezeta (konvertibilni račun)', + 'ESB', + 'španjolska pezeta (konvertibilni račun)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'španjolska pezeta', + 'ESP', + 'španjolska pezeta', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'etiopski bir', + 'ETB', + 'etiopski bir', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'finska marka', + 'FIM', + 'finska marka', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'fidžijski dolar', + 'FJD', + 'fidžijski dolar', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'falklandska funta', + 'FKP', + 'falklandska funta', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'francuski franak', + 'FRF', + 'francuski franak', ], 'GBP' => [ - 0 => 'GBP', - 1 => 'britanska funta', + 'GBP', + 'britanska funta', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'gruzijski kupon larit', + 'GEK', + 'gruzijski kupon larit', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'gruzijski lari', + 'GEL', + 'gruzijski lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'ganski cedi (1979.–2007.)', + 'GHC', + 'ganski cedi (1979.–2007.)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'ganski cedi', + 'GHS', + 'ganski cedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'gibraltarska funta', + 'GIP', + 'gibraltarska funta', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'gambijski dalas', + 'GMD', + 'gambijski dalas', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'gvinejski franak', + 'GNF', + 'gvinejski franak', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'gvinejski syli', + 'GNS', + 'gvinejski syli', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'ekvatorski gvinejski ekwele', + 'GQE', + 'ekvatorski gvinejski ekwele', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'grčka drahma', + 'GRD', + 'grčka drahma', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'gvatemalski kvecal', + 'GTQ', + 'gvatemalski kvecal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'portugalski gvinejski eskudo', + 'GWE', + 'portugalski gvinejski eskudo', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'gvinejskobisauski pezo', + 'GWP', + 'gvinejskobisauski pezo', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'gvajanski dolar', + 'GYD', + 'gvajanski dolar', ], 'HKD' => [ - 0 => 'HKD', - 1 => 'hongkonški dolar', + 'HKD', + 'hongkonški dolar', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'honduraška lempira', + 'HNL', + 'honduraška lempira', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'hrvatski dinar', + 'HRD', + 'hrvatski dinar', ], 'HRK' => [ - 0 => 'kn', - 1 => 'hrvatska kuna', + 'kn', + 'hrvatska kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'haićanski gourd', + 'HTG', + 'haićanski gourd', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'mađarska forinta', + 'HUF', + 'mađarska forinta', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'indonezijska rupija', + 'IDR', + 'indonezijska rupija', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'irska funta', + 'IEP', + 'irska funta', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'izraelska funta', + 'ILP', + 'izraelska funta', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'stari izraelski šekel', + 'ILR', + 'stari izraelski šekel', ], 'ILS' => [ - 0 => 'ILS', - 1 => 'novi izraelski šekel', + 'ILS', + 'novi izraelski šekel', ], 'INR' => [ - 0 => 'INR', - 1 => 'indijska rupija', + 'INR', + 'indijska rupija', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'irački dinar', + 'IQD', + 'irački dinar', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'iranski rijal', + 'IRR', + 'iranski rijal', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'stara islandska kruna', + 'ISJ', + 'stara islandska kruna', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'islandska kruna', + 'ISK', + 'islandska kruna', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'talijanska lira', + 'ITL', + 'talijanska lira', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'jamajčanski dolar', + 'JMD', + 'jamajčanski dolar', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'jordanski dinar', + 'JOD', + 'jordanski dinar', ], 'JPY' => [ - 0 => 'JPY', - 1 => 'japanski jen', + 'JPY', + 'japanski jen', ], 'KES' => [ - 0 => 'KES', - 1 => 'kenijski šiling', + 'KES', + 'kenijski šiling', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'kirgiski som', + 'KGS', + 'kirgiski som', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'kambodžanski rijal', + 'KHR', + 'kambodžanski rijal', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'komorski franak', + 'KMF', + 'komorski franak', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'sjevernokorejski won', + 'KPW', + 'sjevernokorejski won', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'južnokorejski hvan', + 'KRH', + 'južnokorejski hvan', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'stari južnokorejski von', + 'KRO', + 'stari južnokorejski von', ], 'KRW' => [ - 0 => 'KRW', - 1 => 'južnokorejski won', + 'KRW', + 'južnokorejski won', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'kuvajtski dinar', + 'KWD', + 'kuvajtski dinar', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'kajmanski dolar', + 'KYD', + 'kajmanski dolar', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'kazahstanski tenge', + 'KZT', + 'kazahstanski tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'laoski kip', + 'LAK', + 'laoski kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'libanonska funta', + 'LBP', + 'libanonska funta', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'šrilankanska rupija', + 'LKR', + 'šrilankanska rupija', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'liberijski dolar', + 'LRD', + 'liberijski dolar', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'lesotski loti', + 'LSL', + 'lesotski loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'litavski litas', + 'LTL', + 'litavski litas', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'litavski talonas', + 'LTT', + 'litavski talonas', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'luksemburški konvertibilni franak', + 'LUC', + 'luksemburški konvertibilni franak', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'luksemburški franak', + 'LUF', + 'luksemburški franak', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'luksemburški financijski franak', + 'LUL', + 'luksemburški financijski franak', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'letonski lats', + 'LVL', + 'letonski lats', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'letonska rublja', + 'LVR', + 'letonska rublja', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'libijski dinar', + 'LYD', + 'libijski dinar', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'marokanski dirham', + 'MAD', + 'marokanski dirham', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'marokanski franak', - ], - 'MCF' => [ - 0 => 'MCF', - 1 => 'MCF', + 'MAF', + 'marokanski franak', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'moldavski kupon', + 'MDC', + 'moldavski kupon', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'moldavski lej', + 'MDL', + 'moldavski lej', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'malgaški arijari', + 'MGA', + 'malgaški arijari', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'madagaskarski franak', + 'MGF', + 'madagaskarski franak', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'makedonski denar', + 'MKD', + 'makedonski denar', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'stari makedonski denar', + 'MKN', + 'stari makedonski denar', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'malijski franak', + 'MLF', + 'malijski franak', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'mjanmarski kjat', + 'MMK', + 'mjanmarski kjat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'mongolski tugrik', + 'MNT', + 'mongolski tugrik', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'makaoška pataka', + 'MOP', + 'makaoška pataka', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'mauritanijska ouguja (1973. – 2017.)', + 'MRO', + 'mauritanijska ouguja (1973. – 2017.)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'mauritanijska ouguja', + 'MRU', + 'mauretanska ouguja', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'malteška lira', + 'MTL', + 'malteška lira', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'malteška funta', + 'MTP', + 'malteška funta', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'mauricijska rupija', + 'MUR', + 'mauricijska rupija', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'maldivijska rupija', + 'MVP', + 'maldivijska rupija', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'maldivijska rufija', + 'MVR', + 'maldivijska rufija', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'malavijska kvača', + 'MWK', + 'malavijska kvača', ], 'MXN' => [ - 0 => 'MXN', - 1 => 'meksički pezo', + 'MXN', + 'meksički pezo', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'meksički srebrni pezo (1861–1992)', + 'MXP', + 'meksički srebrni pezo (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'meksički unidad de inversion (UDI)', + 'MXV', + 'meksički unidad de inversion (UDI)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'malezijski ringit', + 'MYR', + 'malezijski ringit', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'mozambijski eskudo', + 'MZE', + 'mozambijski eskudo', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'stari mozambijski metikal', + 'MZM', + 'stari mozambijski metikal', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'mozambički metikal', + 'MZN', + 'mozambički metikal', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'namibijski dolar', + 'NAD', + 'namibijski dolar', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'nigerijska naira', + 'NGN', + 'nigerijska naira', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'nikaragvanska kordoba', + 'NIC', + 'nikaragvanska kordoba', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'nikaragvanska zlatna kordoba', + 'NIO', + 'nikaragvanska zlatna kordoba', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'nizozemski gulden', + 'NLG', + 'nizozemski gulden', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'norveška kruna', + 'NOK', + 'norveška kruna', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'nepalska rupija', + 'NPR', + 'nepalska rupija', ], 'NZD' => [ - 0 => 'NZD', - 1 => 'novozelandski dolar', + 'NZD', + 'novozelandski dolar', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'omanski rijal', + 'OMR', + 'omanski rijal', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'panamska balboa', + 'PAB', + 'panamska balboa', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'peruanski inti', + 'PEI', + 'peruanski inti', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'peruanski sol', + 'PEN', + 'peruanski sol', ], 'PES' => [ - 0 => 'PES', - 1 => 'peruanski sol (1863–1965)', + 'PES', + 'peruanski sol (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'kina Papue Nove Gvineje', + 'PGK', + 'kina Papue Nove Gvineje', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'filipinski pezo', + 'PHP', + 'filipinski pezo', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'pakistanska rupija', + 'PKR', + 'pakistanska rupija', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'poljska zlota', + 'PLN', + 'poljska zlota', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'poljska zlota (1950.–1995.)', + 'PLZ', + 'poljska zlota (1950.–1995.)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'portugalski eskudo', + 'PTE', + 'portugalski eskudo', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'paragvajski gvarani', + 'PYG', + 'paragvajski gvarani', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'katarski rial', + 'QAR', + 'katarski rial', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'rodezijski dolar', + 'RHD', + 'rodezijski dolar', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'starorumunjski lek', + 'ROL', + 'starorumunjski lek', ], 'RON' => [ - 0 => 'RON', - 1 => 'rumunjski lej', + 'RON', + 'rumunjski lej', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'srpski dinar', + 'RSD', + 'srpski dinar', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'ruski rubalj', + 'RUB', + 'ruski rubalj', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'ruska rublja (1991.–1998.)', + 'RUR', + 'ruska rublja (1991.–1998.)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'ruandski franak', + 'RWF', + 'ruandski franak', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'saudijski rijal', + 'SAR', + 'saudijski rijal', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'solmonskootočni dolar', + 'SBD', + 'solmonskootočni dolar', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'sejšelska rupija', + 'SCR', + 'sejšelska rupija', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'sudanski dinar', + 'SDD', + 'sudanski dinar', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'sudanska funta', + 'SDG', + 'sudanska funta', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'stara sudanska funta', + 'SDP', + 'stara sudanska funta', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'švedska kruna', + 'SEK', + 'švedska kruna', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'singapurski dolar', + 'SGD', + 'singapurski dolar', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'svetohelenska funta', + 'SHP', + 'svetohelenska funta', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'slovenski tolar', + 'SIT', + 'slovenski tolar', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'slovačka kruna', + 'SKK', + 'slovačka kruna', + ], + 'SLE' => [ + 'SLE', + 'sijeraleonski leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'sijeraleonski leone', + 'SLL', + 'sijeraleonski leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'somalijski šiling', + 'SOS', + 'somalijski šiling', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'surinamski dolar', + 'SRD', + 'surinamski dolar', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'surinamski gulden', + 'SRG', + 'surinamski gulden', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'južnosudanska funta', + 'SSP', + 'južnosudanska funta', ], 'STD' => [ - 0 => 'STD', - 1 => 'dobra Svetog Tome i Principa (1977–2017)', + 'STD', + 'dobra Svetog Tome i Principa (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'dobra Svetog Tome i Principa', + 'STN', + 'dobra Svetog Tome i Principa', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'sovjetska rublja', + 'SUR', + 'sovjetska rublja', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'salvadorski kolon', + 'SVC', + 'salvadorski kolon', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'sirijska funta', + 'SYP', + 'sirijska funta', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'svazi lilangeni', + 'SZL', + 'svazi lilangeni', ], 'THB' => [ - 0 => 'THB', - 1 => 'tajlandski baht', + 'THB', + 'tajlandski baht', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'tajikistanska rublja', + 'TJR', + 'tajikistanska rublja', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'tadžikistanski somoni', + 'TJS', + 'tadžikistanski somoni', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'turkmenistanski manat (1993.–2009.)', + 'TMM', + 'turkmenistanski manat (1993.–2009.)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'turkmenistanski manat', + 'TMT', + 'turkmenistanski manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'tuniski dinar', + 'TND', + 'tuniski dinar', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'tongaška pa’anga', + 'TOP', + 'tongaška pa’anga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'timorski eskudo', + 'TPE', + 'timorski eskudo', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'turska lira (1922.–2005.)', + 'TRL', + 'turska lira (1922.–2005.)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'turska lira', + 'TRY', + 'turska lira', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'trininadtobaški dolar', + 'TTD', + 'trininadtobaški dolar', ], 'TWD' => [ - 0 => 'TWD', - 1 => 'novotajvanski dolar', + 'TWD', + 'novotajvanski dolar', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'tanzanijski šiling', + 'TZS', + 'tanzanijski šiling', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'ukrajinska hrivnja', + 'UAH', + 'ukrajinska hrivnja', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'ukrajinski karbovanet', + 'UAK', + 'ukrajinski karbovanet', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'ugandski šiling (1966.–1987.)', + 'UGS', + 'ugandski šiling (1966.–1987.)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'ugandski šiling', + 'UGX', + 'ugandski šiling', ], 'USD' => [ - 0 => 'USD', - 1 => 'američki dolar', + 'USD', + 'američki dolar', ], 'USN' => [ - 0 => 'USN', - 1 => 'američki dolar (sljedeći dan)', + 'USN', + 'američki dolar (sljedeći dan)', ], 'USS' => [ - 0 => 'USS', - 1 => 'američki dolar (isti dan)', + 'USS', + 'američki dolar (isti dan)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'urugvajski pezo en unidades indexadas', + 'UYI', + 'urugvajski pezo en unidades indexadas', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'urugvajski pezo (1975.–1993.)', + 'UYP', + 'urugvajski pezo (1975.–1993.)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'urugvajski pezo', + 'UYU', + 'urugvajski pezo', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'uzbekistanski som', + 'UZS', + 'uzbekistanski som', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'venezuelanski bolivar (1871.–2008.)', + 'VEB', + 'venezuelanski bolivar (1871.–2008.)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'venezuelanski bolivar (2008. – 2018.)', + 'VEF', + 'venezuelanski bolivar (2008. – 2018.)', ], 'VES' => [ - 0 => 'VES', - 1 => 'venezuelanski bolivar', + 'VES', + 'venezuelanski bolivar', ], 'VND' => [ - 0 => 'VND', - 1 => 'vijetnamski dong', + 'VND', + 'vijetnamski dong', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'vijetnamski dong (1978.–1985.)', + 'VNN', + 'vijetnamski dong (1978.–1985.)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vanuatski vatu', + 'VUV', + 'vanuatski vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'samoanska tala', + 'WST', + 'samoanska tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'CFA franak BEAC', + 'FCFA', + 'CFA franak BEAC', ], 'XCD' => [ - 0 => 'XCD', - 1 => 'istočnokaripski dolar', + 'XCD', + 'istočnokaripski dolar', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'europska monetarna jedinica (ECU)', + 'XEU', + 'europska monetarna jedinica (ECU)', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'francuski zlatni franak', + 'XFO', + 'francuski zlatni franak', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'francuski UIC-franak', + 'XFU', + 'francuski UIC-franak', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'CFA franak BCEAO', + 'F CFA', + 'CFA franak BCEAO', ], 'XPF' => [ - 0 => 'XPF', - 1 => 'CFP franak', + 'XPF', + 'CFP franak', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'RINET fondovi', + 'XRE', + 'RINET fondovi', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'jemenski dinar', + 'YDD', + 'jemenski dinar', ], 'YER' => [ - 0 => 'YER', - 1 => 'jemenski rijal', + 'YER', + 'jemenski rijal', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'jugoslavenski čvrsti dinar', + 'YUD', + 'jugoslavenski čvrsti dinar', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'jugoslavenski novi dinar', + 'YUM', + 'jugoslavenski novi dinar', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'jugoslavenski konvertibilni dinar', + 'YUN', + 'jugoslavenski konvertibilni dinar', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'jugoslavenski reformirani dinar', + 'YUR', + 'jugoslavenski reformirani dinar', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'južnoafrički rand (financijski)', + 'ZAL', + 'južnoafrički rand (financijski)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'južnoafrički rand', + 'ZAR', + 'južnoafrički rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'zambijska kvača (1968–2012)', + 'ZMK', + 'zambijska kvača (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'zambijska kvača', + 'ZMW', + 'zambijska kvača', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'zairski novi zair', + 'ZRN', + 'zairski novi zair', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'zairski zair', + 'ZRZ', + 'zairski zair', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'zimbabveanski dolar (1980.–2008.)', + 'ZWD', + 'zimbabveanski dolar (1980.–2008.)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'zimbabveanski dolar (2009)', + 'ZWL', + 'zimbabveanski dolar (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'zimbabveanski dolar (2008)', + 'ZWR', + 'zimbabveanski dolar (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hr_BA.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hr_BA.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hr_BA.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hr_BA.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'BAM' => [ - 0 => 'KM', - 1 => 'konvertibilna marka', + 'KM', + 'konvertibilna marka', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hu.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hu.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hu.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hu.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1112 +3,1116 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Andorrai peseta', + 'ADP', + 'Andorrai peseta', ], 'AED' => [ - 0 => 'AED', - 1 => 'EAE-dirham', + 'AED', + 'EAE-dirham', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'afgán afghani (1927–2002)', + 'AFA', + 'afgán afghani (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afgán afghani', + 'AFN', + 'afgán afghani', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'albán lek (1946–1965)', + 'ALK', + 'albán lek (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'albán lek', + 'ALL', + 'albán lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'örmény dram', + 'AMD', + 'örmény dram', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'holland antilláki forint', + 'ANG', + 'holland antilláki forint', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'angolai kwanza', + 'AOA', + 'angolai kwanza', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Angolai kwanza (1977–1990)', + 'AOK', + 'Angolai kwanza (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Angolai új kwanza (1990–2000)', + 'AON', + 'Angolai új kwanza (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Angolai kwanza reajustado (1995–1999)', + 'AOR', + 'Angolai kwanza reajustado (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Argentín austral', + 'ARA', + 'Argentín austral', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Argentín peso (1983–1985)', + 'ARP', + 'Argentín peso (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'argentin peso', + 'ARS', + 'argentin peso', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Osztrák schilling', + 'ATS', + 'Osztrák schilling', ], 'AUD' => [ - 0 => 'AUD', - 1 => 'ausztrál dollár', + 'AUD', + 'ausztrál dollár', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'arubai florin', + 'AWG', + 'arubai florin', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'azerbajdzsáni manat (1993–2006)', + 'AZM', + 'azerbajdzsáni manat (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'azerbajdzsáni manat', + 'AZN', + 'azerbajdzsáni manat', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Bosznia-hercegovinai dínár (1992–1994)', + 'BAD', + 'Bosznia-hercegovinai dínár (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'bosznia-hercegovinai konvertibilis márka', + 'BAM', + 'bosznia-hercegovinai konvertibilis márka', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'bosznia-hercegovinai új dínár (1994–1997)', + 'BAN', + 'bosznia-hercegovinai új dínár (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'barbadosi dollár', + 'BBD', + 'barbadosi dollár', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'bangladesi taka', + 'BDT', + 'bangladesi taka', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Belga frank (konvertibilis)', + 'BEC', + 'Belga frank (konvertibilis)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Belga frank', + 'BEF', + 'Belga frank', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Belga frank (pénzügyi)', + 'BEL', + 'Belga frank (pénzügyi)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Bolgár kemény leva', + 'BGL', + 'Bolgár kemény leva', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'bolgár szocialista leva', + 'BGM', + 'bolgár szocialista leva', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'bolgár új leva', + 'BGN', + 'bolgár új leva', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'bolgár leva (1879–1952)', + 'BGO', + 'bolgár leva (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'bahreini dinár', + 'BHD', + 'bahreini dinár', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'burundi frank', + 'BIF', + 'burundi frank', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'bermudai dollár', + 'BMD', + 'bermudai dollár', ], 'BND' => [ - 0 => 'BND', - 1 => 'brunei dollár', + 'BND', + 'brunei dollár', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'bolíviai boliviano', + 'BOB', + 'bolíviai boliviano', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Bolíviai peso', + 'BOP', + 'Bolíviai peso', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Bolíviai mvdol', + 'BOV', + 'Bolíviai mvdol', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Brazi cruzeiro novo (1967–1986)', + 'BRB', + 'Brazi cruzeiro novo (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Brazi cruzado (1986–1989)', + 'BRC', + 'Brazi cruzado (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Brazil cruzeiro (1990–1993)', + 'BRE', + 'Brazil cruzeiro (1990–1993)', ], 'BRL' => [ - 0 => 'BRL', - 1 => 'brazil real', + 'BRL', + 'brazil real', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Brazil cruzado novo (1989–1990)', + 'BRN', + 'Brazil cruzado novo (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Brazil cruzeiro (1993–1994)', + 'BRR', + 'Brazil cruzeiro (1993–1994)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'bahamai dollár', + 'BSD', + 'bahamai dollár', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'bhutáni ngultrum', + 'BTN', + 'bhutáni ngultrum', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Burmai kyat', + 'BUK', + 'Burmai kyat', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'botswanai pula', + 'BWP', + 'botswanai pula', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Fehérorosz új rubel (1994–1999)', + 'BYB', + 'Fehérorosz új rubel (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'belarusz rubel', + 'BYN', + 'belarusz rubel', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'fehérorosz rubel (2000–2016)', + 'BYR', + 'fehérorosz rubel (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'belize-i dollár', + 'BZD', + 'belize-i dollár', ], 'CAD' => [ - 0 => 'CAD', - 1 => 'kanadai dollár', + 'CAD', + 'kanadai dollár', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'kongói frank', + 'CDF', + 'kongói frank', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'WIR euro', + 'CHE', + 'WIR euro', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'svájci frank', + 'CHF', + 'svájci frank', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'WIR frank', + 'CHW', + 'WIR frank', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Chilei unidades de fomento', + 'CLF', + 'Chilei unidades de fomento', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'chilei peso', + 'CLP', + 'chilei peso', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'kínai jüan (offshore)', + 'CNH', + 'kínai jüan (offshore)', ], 'CNY' => [ - 0 => 'CNY', - 1 => 'kínai jüan', + 'CNY', + 'kínai jüan', ], 'COP' => [ - 0 => 'COP', - 1 => 'kolumbiai peso', + 'COP', + 'kolumbiai peso', ], 'COU' => [ - 0 => 'COU', - 1 => 'Unidad de Valor Real', + 'COU', + 'Unidad de Valor Real', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Costa Rica-i colon', + 'CRC', + 'Costa Rica-i colon', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'szerb dinár', + 'CSD', + 'szerb dinár (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Csehszlovák kemény korona', + 'CSK', + 'Csehszlovák kemény korona', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'kubai konvertibilis peso', + 'CUC', + 'kubai konvertibilis peso', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'kubai peso', + 'CUP', + 'kubai peso', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Zöld-foki escudo', + 'CVE', + 'Zöld-foki escudo', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Ciprusi font', + 'CYP', + 'Ciprusi font', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'cseh korona', + 'CZK', + 'cseh korona', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Kelet-Német márka', + 'DDM', + 'Kelet-Német márka', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Német márka', + 'DEM', + 'Német márka', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'dzsibuti frank', + 'DJF', + 'dzsibuti frank', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'dán korona', + 'DKK', + 'dán korona', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'dominikai peso', + 'DOP', + 'dominikai peso', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'algériai dínár', + 'DZD', + 'algériai dínár', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Ecuadori sucre', + 'ECS', + 'Ecuadori sucre', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Ecuadori Unidad de Valor Constante (UVC)', + 'ECV', + 'Ecuadori Unidad de Valor Constante (UVC)', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Észt korona', + 'EEK', + 'Észt korona', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'egyiptomi font', + 'EGP', + 'egyiptomi font', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'eritreai nakfa', + 'ERN', + 'eritreai nakfa', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'spanyol peseta (A–kontó)', + 'ESA', + 'spanyol peseta (A–kontó)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'spanyol peseta (konvertibilis kontó)', + 'ESB', + 'spanyol peseta (konvertibilis kontó)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Spanyol peseta', + 'ESP', + 'Spanyol peseta', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'etiópiai birr', + 'ETB', + 'etiópiai birr', ], 'EUR' => [ - 0 => 'EUR', - 1 => 'euró', + 'EUR', + 'euró', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Finn markka', + 'FIM', + 'Finn markka', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'fidzsi dollár', + 'FJD', + 'fidzsi dollár', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'falkland-szigeteki font', + 'FKP', + 'falkland-szigeteki font', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Francia frank', + 'FRF', + 'Francia frank', ], 'GBP' => [ - 0 => 'GBP', - 1 => 'angol font', + 'GBP', + 'angol font', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Grúz kupon larit', + 'GEK', + 'Grúz kupon larit', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'grúz lari', + 'GEL', + 'grúz lari', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Ghánai cedi (1979–2007)', + 'GHC', + 'Ghánai cedi (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'ghánai cedi', + 'GHS', + 'ghánai cedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'gibraltári font', + 'GIP', + 'gibraltári font', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'gambiai dalasi', + 'GMD', + 'gambiai dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'guineai frank', + 'GNF', + 'guineai frank', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Guineai syli', + 'GNS', + 'Guineai syli', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Egyenlítői-guineai ekwele guineana', + 'GQE', + 'Egyenlítői-guineai ekwele guineana', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Görög drachma', + 'GRD', + 'Görög drachma', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'guatemalai quetzal', + 'GTQ', + 'guatemalai quetzal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Portugál guinea escudo', + 'GWE', + 'Portugál guinea escudo', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Guinea-Bissaui peso', + 'GWP', + 'Guinea-Bissaui peso', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'guyanai dollár', + 'GYD', + 'guyanai dollár', ], 'HKD' => [ - 0 => 'HKD', - 1 => 'hongkongi dollár', + 'HKD', + 'hongkongi dollár', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'hodurasi lempira', + 'HNL', + 'hondurasi lempira', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Horvát dínár', + 'HRD', + 'Horvát dínár', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'horvát kuna', + 'HRK', + 'horvát kuna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'haiti gourde', + 'HTG', + 'haiti gourde', ], 'HUF' => [ - 0 => 'Ft', - 1 => 'magyar forint', + 'Ft', + 'magyar forint', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'indonéz rúpia', + 'IDR', + 'indonéz rúpia', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Ír font', + 'IEP', + 'Ír font', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Izraeli font', + 'ILP', + 'Izraeli font', ], 'ILS' => [ - 0 => 'ILS', - 1 => 'izraeli új sékel', + 'ILS', + 'izraeli új sékel', ], 'INR' => [ - 0 => 'INR', - 1 => 'indiai rúpia', + 'INR', + 'indiai rúpia', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'iraki dínár', + 'IQD', + 'iraki dínár', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'iráni rial', + 'IRR', + 'iráni riál', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'izlandi korona', + 'ISK', + 'izlandi korona', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Olasz líra', + 'ITL', + 'Olasz líra', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'jamaicai dollár', + 'JMD', + 'jamaicai dollár', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'jordániai dínár', + 'JOD', + 'jordániai dínár', ], 'JPY' => [ - 0 => '¥', - 1 => 'japán jen', + '¥', + 'japán jen', ], 'KES' => [ - 0 => 'KES', - 1 => 'kenyai shilling', + 'KES', + 'kenyai shilling', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'kirgizisztáni szom', + 'KGS', + 'kirgizisztáni szom', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'kambodzsai riel', + 'KHR', + 'kambodzsai riel', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'comorei frank', + 'KMF', + 'comorei frank', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'észak-koreai won', + 'KPW', + 'észak-koreai won', ], 'KRW' => [ - 0 => 'KRW', - 1 => 'dél-koreai won', + 'KRW', + 'dél-koreai won', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'kuvaiti dínár', + 'KWD', + 'kuvaiti dínár', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'kajmán-szigeteki dollár', + 'KYD', + 'kajmán-szigeteki dollár', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'kazahsztáni tenge', + 'KZT', + 'kazahsztáni tenge', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'laoszi kip', + 'LAK', + 'laoszi kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'libanoni font', + 'LBP', + 'libanoni font', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Srí Lanka-i rúpia', + 'LKR', + 'Srí Lanka-i rúpia', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'libériai dollár', + 'LRD', + 'libériai dollár', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'lesothoi loti', + 'LSL', + 'lesothoi loti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'litvániai litas', + 'LTL', + 'litvániai litas', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Litvániai talonas', + 'LTT', + 'Litvániai talonas', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'luxemburgi konvertibilis frank', + 'LUC', + 'luxemburgi konvertibilis frank', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Luxemburgi frank', + 'LUF', + 'Luxemburgi frank', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'luxemburgi pénzügyi frank', + 'LUL', + 'luxemburgi pénzügyi frank', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'lett lats', + 'LVL', + 'lett lats', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Lett rubel', + 'LVR', + 'Lett rubel', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'líbiai dínár', + 'LYD', + 'líbiai dínár', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'marokkói dirham', + 'MAD', + 'marokkói dirham', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Marokkói frank', + 'MAF', + 'Marokkói frank', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'moldáv kupon', + 'MDC', + 'moldáv kupon', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'moldován lei', + 'MDL', + 'moldován lei', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'madagaszkári ariary', + 'MGA', + 'madagaszkári ariary', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Madagaszkári frank', + 'MGF', + 'Madagaszkári frank', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'macedon dínár', + 'MKD', + 'macedón dénár', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'macedón dénár (1992–1993)', + 'MKN', + 'macedón dénár (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Mali frank', + 'MLF', + 'Mali frank', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'mianmari kyat', + 'MMK', + 'mianmari kyat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'mongóliai tugrik', + 'MNT', + 'mongóliai tugrik', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'makaói pataca', + 'MOP', + 'makaói pataca', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'mauritániai ouguiya (1973–2017)', + 'MRO', + 'mauritániai ouguiya (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'mauritániai ouguiya', + 'MRU', + 'mauritániai ouguiya', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Máltai líra', + 'MTL', + 'Máltai líra', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Máltai font', + 'MTP', + 'Máltai font', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'mauritiusi rúpia', + 'MUR', + 'mauritiusi rúpia', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'maldív-szigeteki rufiyaa', + 'MVR', + 'maldív-szigeteki rufiyaa', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'malawi kwacha', + 'MWK', + 'malawi kwacha', ], 'MXN' => [ - 0 => 'MXN', - 1 => 'mexikói peso', + 'MXN', + 'mexikói peso', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Mexikói ezüst peso (1861–1992)', + 'MXP', + 'Mexikói ezüst peso (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Mexikói Unidad de Inversion (UDI)', + 'MXV', + 'Mexikói Unidad de Inversion (UDI)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'malajziai ringgit', + 'MYR', + 'malajziai ringgit', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Mozambik escudo', + 'MZE', + 'Mozambik escudo', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Mozambik metical', + 'MZM', + 'Mozambik metical', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'mozambiki metikális', + 'MZN', + 'mozambiki metikális', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'namíbiai dollár', + 'NAD', + 'namíbiai dollár', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'nigériai naira', + 'NGN', + 'nigériai naira', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Nikaraguai cordoba', + 'NIC', + 'Nikaraguai cordoba', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'nicaraguai córdoba', + 'NIO', + 'nicaraguai córdoba', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Holland forint', + 'NLG', + 'Holland forint', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'norvég korona', + 'NOK', + 'norvég korona', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'nepáli rúpia', + 'NPR', + 'nepáli rúpia', ], 'NZD' => [ - 0 => 'NZD', - 1 => 'új-zélandi dollár', + 'NZD', + 'új-zélandi dollár', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'ománi rial', + 'OMR', + 'ománi riál', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'panamai balboa', + 'PAB', + 'panamai balboa', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'perui inti', + 'PEI', + 'perui inti', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'perui sol', + 'PEN', + 'perui sol', ], 'PES' => [ - 0 => 'PES', - 1 => 'perui sol (1863–1965)', + 'PES', + 'perui sol (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'pápua új-guineai kina', + 'PGK', + 'pápua új-guineai kina', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'fülöp-szigeteki peso', + 'PHP', + 'fülöp-szigeteki peso', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'pakisztáni rúpia', + 'PKR', + 'pakisztáni rúpia', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'lengyel zloty', + 'PLN', + 'lengyel zloty', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Lengyel zloty (1950–1995)', + 'PLZ', + 'Lengyel zloty (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Portugál escudo', + 'PTE', + 'Portugál escudo', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'paraguayi guarani', + 'PYG', + 'paraguayi guarani', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'katari rial', + 'QAR', + 'katari riál', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'rhodéziai dollár', + 'RHD', + 'rhodéziai dollár', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'román lej (1952–2006)', + 'ROL', + 'román lej (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'román lej', + 'RON', + 'román lej', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'szerb dínár', + 'RSD', + 'szerb dinár', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'orosz rubel', + 'RUB', + 'orosz rubel', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'orosz rubel (1991–1998)', + 'RUR', + 'orosz rubel (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'ruandai frank', + 'RWF', + 'ruandai frank', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'szaúdi riyal', + 'SAR', + 'szaúdi riál', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'salamon-szigeteki dollár', + 'SBD', + 'salamon-szigeteki dollár', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'seychelle-szigeteki rúpia', + 'SCR', + 'seychelle-szigeteki rúpia', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Szudáni dínár (1992–2007)', + 'SDD', + 'Szudáni dínár (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'szudáni font', + 'SDG', + 'szudáni font', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Szudáni font (1957–1998)', + 'SDP', + 'Szudáni font (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'svéd korona', + 'SEK', + 'svéd korona', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'szingapúri dollár', + 'SGD', + 'szingapúri dollár', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Szent Ilona-i font', + 'SHP', + 'Szent Ilona-i font', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Szlovén tolar', + 'SIT', + 'Szlovén tolar', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Szlovák korona', + 'SKK', + 'Szlovák korona', + ], + 'SLE' => [ + 'SLE', + 'Sierra Leone-i leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Sierra Leone-i leone', + 'SLL', + 'Sierra Leone-i leone (1964–2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'szomáli shilling', + 'SOS', + 'szomáli shilling', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'suriname-i dollár', + 'SRD', + 'suriname-i dollár', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Suriname-i gulden', + 'SRG', + 'Suriname-i gulden', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'dél-szudáni font', + 'SSP', + 'dél-szudáni font', ], 'STD' => [ - 0 => 'STD', - 1 => 'São Tomé és Príncipe-i dobra (1977–2017)', + 'STD', + 'São Tomé és Príncipe-i dobra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'São Tomé és Príncipe-i dobra', + 'STN', + 'São Tomé és Príncipe-i dobra', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Szovjet rubel', + 'SUR', + 'Szovjet rubel', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Salvadori colón', + 'SVC', + 'Salvadori colón', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'szíriai font', + 'SYP', + 'szíriai font', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'szvázi lilangeni', + 'SZL', + 'szvázi lilangeni', ], 'THB' => [ - 0 => 'THB', - 1 => 'thai baht', + 'THB', + 'thai baht', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Tádzsikisztáni rubel', + 'TJR', + 'Tádzsikisztáni rubel', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'tádzsikisztáni somoni', + 'TJS', + 'tádzsikisztáni somoni', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'türkmenisztáni manat (1993–2009)', + 'TMM', + 'türkmenisztáni manat (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'türkmenisztáni manat', + 'TMT', + 'türkmenisztáni manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'tunéziai dínár', + 'TND', + 'tunéziai dínár', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'tongai paanga', + 'TOP', + 'tongai paanga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Timori escudo', + 'TPE', + 'Timori escudo', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'török líra (1922–2005)', + 'TRL', + 'török líra (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'török líra', + 'TRY', + 'török líra', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Trinidad és Tobago-i dollár', + 'TTD', + 'Trinidad és Tobago-i dollár', ], 'TWD' => [ - 0 => 'TWD', - 1 => 'tajvani új dollár', + 'TWD', + 'tajvani új dollár', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'tanzániai shilling', + 'TZS', + 'tanzániai shilling', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'ukrán hrivnya', + 'UAH', + 'ukrán hrivnya', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Ukrán karbovanec', + 'UAK', + 'Ukrán karbovanec', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Ugandai shilling (1966–1987)', + 'UGS', + 'Ugandai shilling (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'ugandai shilling', + 'UGX', + 'ugandai shilling', ], 'USD' => [ - 0 => 'USD', - 1 => 'USA-dollár', + 'USD', + 'USA-dollár', ], 'USN' => [ - 0 => 'USN', - 1 => 'USA dollár (következő napi)', + 'USN', + 'USA dollár (következő napi)', ], 'USS' => [ - 0 => 'USS', - 1 => 'USA dollár (aznapi)', + 'USS', + 'USA dollár (aznapi)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Uruguayi peso en unidades indexadas', + 'UYI', + 'Uruguayi peso en unidades indexadas', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Uruguay-i peso (1975–1993)', + 'UYP', + 'Uruguay-i peso (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'uruguay-i peso', + 'UYU', + 'uruguayi peso', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'üzbegisztáni szum', + 'UZS', + 'üzbegisztáni szom', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Venezuelai bolivar (1871–2008)', + 'VEB', + 'Venezuelai bolivar (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'venezuelai bolivar (2008–2018)', + 'VEF', + 'venezuelai bolivar (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'venezuelai bolivar', + 'VES', + 'venezuelai bolivar', ], 'VND' => [ - 0 => 'VND', - 1 => 'vietnámi dong', + 'VND', + 'vietnámi dong', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'vietnámi dong (1978–1985)', + 'VNN', + 'vietnámi dong (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vanuatui vatu', + 'VUV', + 'vanuatui vatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'nyugat-szamoai tala', + 'WST', + 'nyugat-szamoai tala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'CFA frank BEAC', + 'FCFA', + 'CFA frank BEAC', ], 'XCD' => [ - 0 => 'XCD', - 1 => 'kelet-karibi dollár', + 'XCD', + 'kelet-karibi dollár', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'európai pénznemegység', + 'XEU', + 'európai pénznemegység', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Francia arany frank', + 'XFO', + 'Francia arany frank', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Francia UIC-frank', + 'XFU', + 'Francia UIC-frank', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'CFA frank BCEAO', + 'F CFA', + 'CFA frank BCEAO', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'csendes-óceáni valutaközösségi frank', + 'CFPF', + 'csendes-óceáni valutaközösségi frank', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'RINET tőke', + 'XRE', + 'RINET tőke', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Jemeni dínár', + 'YDD', + 'Jemeni dínár', ], 'YER' => [ - 0 => 'YER', - 1 => 'jemeni rial', + 'YER', + 'jemeni riál', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Jugoszláv kemény dínár', + 'YUD', + 'Jugoszláv kemény dínár', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Jugoszláv új dínár', + 'YUM', + 'Jugoszláv új dínár', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Jugoszláv konvertibilis dínár', + 'YUN', + 'Jugoszláv konvertibilis dínár', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'jugoszláv reformált dinár (1992–1993)', + 'YUR', + 'jugoszláv reformált dinár (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Dél-afrikai rand (pénzügyi)', + 'ZAL', + 'Dél-afrikai rand (pénzügyi)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'dél-afrikai rand', + 'ZAR', + 'dél-afrikai rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Zambiai kwacha (1968–2012)', + 'ZMK', + 'Zambiai kwacha (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'zambiai kwacha', + 'ZMW', + 'zambiai kwacha', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Zairei új zaire', + 'ZRN', + 'Zairei új zaire', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Zairei zaire', + 'ZRZ', + 'Zairei zaire', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Zimbabwei dollár (1980–2008)', + 'ZWD', + 'Zimbabwei dollár (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Zimbabwei dollár (2009)', + 'ZWL', + 'Zimbabwei dollár (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Zimbabwei dollár (2008)', + 'ZWR', + 'Zimbabwei dollár (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hy.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hy.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hy.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/hy.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,656 +3,660 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'Արաբական Միացյալ Էմիրությունների դիրհամ', + 'AED', + 'Արաբական Միացյալ Էմիրությունների դիրհամ', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'աֆղանական աֆղանի', + 'AFN', + 'աֆղանական աֆղանի', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'ալբանական լեկ', + 'ALL', + 'ալբանական լեկ', ], 'AMD' => [ - 0 => '֏', - 1 => 'հայկական դրամ', + '֏', + 'հայկական դրամ', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'նիդեռլանդական անտիլյան գուլդեն', + 'ANG', + 'նիդեռլանդական անտիլյան գուլդեն', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'անգոլական կվանզա', + 'AOA', + 'անգոլական կվանզա', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'արգենտինական պեսո', + 'ARS', + 'արգենտինական պեսո', ], 'AUD' => [ - 0 => 'A$', - 1 => 'ավստրալիական դոլար', + 'A$', + 'ավստրալիական դոլար', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'արուբական ֆլորին', + 'AWG', + 'արուբական ֆլորին', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'ադրբեջանական մանաթ', + 'AZN', + 'ադրբեջանական մանաթ', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Բոսնիա և Հերցեգովինայի փոխարկվող մարկ', + 'BAM', + 'Բոսնիա և Հերցեգովինայի փոխարկվող մարկ', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'բարբադոսյան դոլար', + 'BBD', + 'բարբադոսյան դոլար', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Բանգլադեշի տակա', + 'BDT', + 'Բանգլադեշի տակա', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'բուլղարական լև', + 'BGN', + 'բուլղարական լև', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Բահրեյնի դինար', + 'BHD', + 'Բահրեյնի դինար', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'բուրունդիական ֆրանկ', + 'BIF', + 'բուրունդիական ֆրանկ', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'բերմուդյան դոլար', + 'BMD', + 'բերմուդյան դոլար', ], 'BND' => [ - 0 => 'BND', - 1 => 'Բրունեյի դոլար', + 'BND', + 'Բրունեյի դոլար', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'բոլիվիական բոլիվիանո', + 'BOB', + 'բոլիվիական բոլիվիանո', ], 'BRL' => [ - 0 => 'R$', - 1 => 'բրազիլական ռեալ', + 'R$', + 'բրազիլական ռեալ', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'բահամյան դոլար', + 'BSD', + 'բահամյան դոլար', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'բութանական նգուլտրում', + 'BTN', + 'բութանական նգուլտրում', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'բոթսվանական պուլա', + 'BWP', + 'բոտսվանական պուլա', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'բելառուսական ռուբլի', + 'BYN', + 'բելառուսական ռուբլի', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Բելառուսական ռուբլի (2000–2016)', + 'BYR', + 'Բելառուսական ռուբլի (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Բելիզի դոլար', + 'BZD', + 'Բելիզի դոլար', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'կանադական դոլար', + 'CA$', + 'կանադական դոլար', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Կոնգոյի ֆրանկ', + 'CDF', + 'Կոնգոյի ֆրանկ', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'շվեյցարական ֆրանկ', + 'CHF', + 'շվեյցարական ֆրանկ', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'չիլիական պեսո', + 'CLP', + 'չիլիական պեսո', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'չինական օֆշորային յուան', + 'CNH', + 'չինական օֆշորային յուան', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'չինական յուան', + 'CN¥', + 'չինական յուան', ], 'COP' => [ - 0 => 'COP', - 1 => 'կոլումբիական պեսո', + 'COP', + 'կոլումբիական պեսո', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Կոստա Ռիկայի կոլոն', + 'CRC', + 'Կոստա Ռիկայի կոլոն', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'կուբայական փոխարկվող պեսո', + 'CUC', + 'կուբայական փոխարկվող պեսո', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'կուբայական պեսո', + 'CUP', + 'կուբայական պեսո', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Կաբո Վերդեի էսկուդո', + 'CVE', + 'Կաբո Վերդեի էսկուդո', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'չեխական կրոն', + 'CZK', + 'չեխական կրոնա', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Ջիբութիի ֆրանկ', + 'DJF', + 'Ջիբութիի ֆրանկ', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'դանիական կրոն', + 'DKK', + 'դանիական կրոն', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'դոմինիկյան պեսո', + 'DOP', + 'դոմինիկյան պեսո', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'ալժիրական դինար', + 'DZD', + 'ալժիրական դինար', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'եգիպտական ֆունտ', + 'EGP', + 'եգիպտական ֆունտ', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'էրիթրեական նակվա', + 'ERN', + 'էրիթրեական նակվա', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'եթովպիական բիր', + 'ETB', + 'եթովպիական բիր', ], 'EUR' => [ - 0 => '€', - 1 => 'եվրո', + '€', + 'եվրո', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'ֆիջիական դոլար', + 'FJD', + 'ֆիջիական դոլար', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Ֆոլքլենդյան կղզիների ֆունտ', + 'FKP', + 'Ֆոլքլենդյան կղզիների ֆունտ', ], 'GBP' => [ - 0 => '£', - 1 => 'բրիտանական ֆունտ ստերլինգ', + '£', + 'բրիտանական ֆունտ ստերլինգ', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'վրացական լարի', + 'GEL', + 'վրացական լարի', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'գայանական սեդի', + 'GHS', + 'գայանական սեդի', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Ջիբրալթարի ֆունտ', + 'GIP', + 'Ջիբրալթարի ֆունտ', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'գամբիական դալասի', + 'GMD', + 'գամբիական դալասի', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'գվինեական ֆրանկ', + 'GNF', + 'գվինեական ֆրանկ', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'գվատեմալական կետսալ', + 'GTQ', + 'գվատեմալական կետսալ', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'գայանական դոլար', + 'GYD', + 'գայանական դոլար', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Հոնկոնգի դոլար', + 'HK$', + 'Հոնկոնգի դոլար', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'հոնդուրասական լեմպիրա', + 'HNL', + 'հոնդուրասական լեմպիրա', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'խորվաթական կունա', + 'HRK', + 'խորվաթական կունա', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'հայիթյան գուրդ', + 'HTG', + 'հայիթյան գուրդ', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'հունգարական ֆորինտ', + 'HUF', + 'հունգարական ֆորինտ', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'ինդոնեզիական ռուփի', + 'IDR', + 'ինդոնեզիական ռուփի', ], 'ILS' => [ - 0 => '₪', - 1 => 'Իսրայելի նոր շեկել', + '₪', + 'Իսրայելի նոր շեկել', ], 'INR' => [ - 0 => '₹', - 1 => 'հնդկական ռուփի', + '₹', + 'հնդկական ռուփի', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'իրաքյան դինար', + 'IQD', + 'իրաքյան դինար', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'իրանական ռիալ', + 'IRR', + 'իրանական ռիալ', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'իսլանդական կրոն', + 'ISK', + 'իսլանդական կրոն', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Ճամայկայի դոլար', + 'JMD', + 'Ճամայկայի դոլար', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'հորդանանյան դինար', + 'JOD', + 'հորդանանյան դինար', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'ճապոնական իեն', + 'JP¥', + 'ճապոնական իեն', ], 'KES' => [ - 0 => 'KES', - 1 => 'քենիական շիլինգ', + 'KES', + 'քենիական շիլինգ', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'ղրղզական սոմ', + 'KGS', + 'ղրղզական սոմ', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'կամբոջական ռիել', + 'KHR', + 'կամբոջական ռիել', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'կոմորյան ֆրանկ', + 'KMF', + 'կոմորյան ֆրանկ', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'հյուսիսկորեական վոն', + 'KPW', + 'հյուսիսկորեական վոն', ], 'KRW' => [ - 0 => '₩', - 1 => 'հարավկորեական վոն', + '₩', + 'հարավկորեական վոն', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Քուվեյթի դինար', + 'KWD', + 'Քուվեյթի դինար', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Կայմանյան կղզիների դոլար', + 'KYD', + 'Կայմանյան կղզիների դոլար', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'ղազախական տենգե', + 'KZT', + 'ղազախական տենգե', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'լաոսական կիպ', + 'LAK', + 'լաոսական կիպ', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'լիբանանյան ֆունտ', + 'LBP', + 'լիբանանյան ֆունտ', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Շրի Լանկայի ռուփի', + 'LKR', + 'Շրի Լանկայի ռուփի', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'լիբերիական դոլար', + 'LRD', + 'լիբերիական դոլար', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'լեսոթոյական լոտի', + 'LSL', + 'լեսոթոյական լոտի', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Լիտվական լիտ', + 'LTL', + 'Լիտվական լիտ', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Լատվիական լատ', + 'LVL', + 'Լատվիական լատ', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'լիբիական դինար', + 'LYD', + 'լիբիական դինար', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Մարոկկոյի դիրհամ', + 'MAD', + 'Մարոկկոյի դիրհամ', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'մոլդովական լեյ', + 'MDL', + 'մոլդովական լեյ', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Մադագասկարի արիարի', + 'MGA', + 'Մադագասկարի արիարի', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'մակեդոնական դենար', + 'MKD', + 'մակեդոնական դենար', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Մյանմայի կյատ', + 'MMK', + 'Մյանմայի կյատ', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'մոնղոլական տուգրիկ', + 'MNT', + 'մոնղոլական տուգրիկ', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Մակաոյի պատակա', + 'MOP', + 'Մակաոյի պատակա', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'մավրիտանական ուգիյա (1973–2017)', + 'MRO', + 'մավրիտանական ուգիյա (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'մավրիտանական ուգիյա', + 'MRU', + 'մավրիտանական ուգիյա', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'մավրիկյան ռուփի', + 'MUR', + 'մավրիկյան ռուփի', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'մալդիվյան ռուֆիյա', + 'MVR', + 'մալդիվյան ռուֆիյա', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'մալավիական կվաչա', + 'MWK', + 'մալավիական կվաչա', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'մեքսիկական պեսո', + 'MX$', + 'մեքսիկական պեսո', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'մալայզիական ռինգիտ', + 'MYR', + 'մալայզիական ռինգիտ', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'մոզամբիկյան մետիկալ', + 'MZN', + 'մոզամբիկյան մետիկալ', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'նամիբիական դոլար', + 'NAD', + 'նամիբիական դոլար', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'նիգերիական նայրա', + 'NGN', + 'նիգերիական նայրա', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'նիկարագուական կորդոբա', + 'NIO', + 'նիկարագուական կորդոբա', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'նորվեգական կրոն', + 'NOK', + 'նորվեգական կրոն', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Նեպալի ռուփի', + 'NPR', + 'Նեպալի ռուփի', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'նորզելանդական դոլար', + 'NZ$', + 'նորզելանդական դոլար', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Օմանի ռիալ', + 'OMR', + 'Օմանի ռիալ', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'պանամական բալբոա', + 'PAB', + 'պանամական բալբոա', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Պերուի սոլ', + 'PEN', + 'Պերուի սոլ', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Պապուա Նոր Գվինեայի կինա', + 'PGK', + 'Պապուա Նոր Գվինեայի կինա', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'ֆիլիպինյան պեսո', + 'PHP', + 'ֆիլիպինյան պեսո', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'պակիստանյան ռուփի', + 'PKR', + 'պակիստանյան ռուփի', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'լեհական զլոտի', + 'PLN', + 'լեհական զլոտի', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'պարագվայական գուարանի', + 'PYG', + 'պարագվայական գուարանի', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Կատարի ռիալ', + 'QAR', + 'Կատարի ռիալ', ], 'RON' => [ - 0 => 'RON', - 1 => 'ռումինական լեյ', + 'RON', + 'ռումինական լեյ', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'սերբական դինար', + 'RSD', + 'սերբական դինար', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'ռուսական ռուբլի', + 'RUB', + 'ռուսական ռուբլի', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'ռուանդական ֆրանկ', + 'RWF', + 'ռուանդական ֆրանկ', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Սաուդյան Արաբիայի ռիալ', + 'SAR', + 'Սաուդյան Արաբիայի ռիալ', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Սողոմոնյան կղզիների դոլար', + 'SBD', + 'Սողոմոնյան կղզիների դոլար', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'սեյշելյան ռուփի', + 'SCR', + 'սեյշելյան ռուփի', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'սուդանական ֆունտ', + 'SDG', + 'սուդանական ֆունտ', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'շվեդական կրոն', + 'SEK', + 'շվեդական կրոն', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Սինգապուրի դոլար', + 'SGD', + 'Սինգապուրի դոլար', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Սուրբ Հեղինեի ֆունտ', + 'SHP', + 'Սուրբ Հեղինեի ֆունտ', + ], + 'SLE' => [ + 'SLE', + 'Սիեռա Լեոնեի լեոնե', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Սիեռա Լեոնեի լեոնե', + 'SLL', + 'Սիեռա Լեոնեի լեոնե (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'սոմալիական շիլինգ', + 'SOS', + 'սոմալիական շիլինգ', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'սուրինամական դոլար', + 'SRD', + 'սուրինամական դոլար', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'հարավսուդանական ֆունտ', + 'SSP', + 'հարավսուդանական ֆունտ', ], 'STD' => [ - 0 => 'STD', - 1 => 'Սան Տոմե և Փրինսիպիի դոբրա (1977–2017)', + 'STD', + 'Սան Տոմե և Փրինսիպիի դոբրա (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Սան Տոմե և Փրինսիպիի դոբրա', + 'STN', + 'Սան Տոմե և Փրինսիպիի դոբրա', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'սիրիական ֆունտ', + 'SYP', + 'սիրիական ֆունտ', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'սվազիլենդական լիլանգենի', + 'SZL', + 'սվազիլենդական լիլանգենի', ], 'THB' => [ - 0 => '฿', - 1 => 'թայլանդական բատ', + '฿', + 'թաիլանդական բահտ', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'տաջիկական սոմոնի', + 'TJS', + 'տաջիկական սոմոնի', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'թուրքմենական մանաթ', + 'TMT', + 'թուրքմենական մանաթ', ], 'TND' => [ - 0 => 'TND', - 1 => 'թունիսյան դինար', + 'TND', + 'թունիսյան դինար', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Տոնգայի պաանգա', + 'TOP', + 'Տոնգայի պաանգա', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'թուրքական լիրա', + 'TRY', + 'թուրքական լիրա', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Տրինիդադ և Տոբագոյի դոլար', + 'TTD', + 'Տրինիդադ և Տոբագոյի դոլար', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'թայվանական նոր դոլար', + 'NT$', + 'թայվանական նոր դոլար', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'տանզանիական շիլինգ', + 'TZS', + 'տանզանիական շիլինգ', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'ուկրաինական գրիվնա', + 'UAH', + 'ուկրաինական գրիվնա', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'ուգանդական շիլինգ', + 'UGX', + 'ուգանդական շիլինգ', ], 'USD' => [ - 0 => '$', - 1 => 'ԱՄՆ դոլար', + '$', + 'ԱՄՆ դոլար', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'ուրուգվայական պեսո', + 'UYU', + 'ուրուգվայական պեսո', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'ուզբեկական սոմ', + 'UZS', + 'ուզբեկական սոմ', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'վենեսուելական բոլիվար (2008–2018)', + 'VEF', + 'վենեսուելական բոլիվար (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'վենեսուելական բոլիվար', + 'VES', + 'վենեսուելական բոլիվար', ], 'VND' => [ - 0 => '₫', - 1 => 'վիետնամական դոնգ', + '₫', + 'վիետնամական դոնգ', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Վանուատուի վատու', + 'VUV', + 'Վանուատուի վատու', ], 'WST' => [ - 0 => 'WST', - 1 => 'սամոական տալա', + 'WST', + 'սամոական տալա', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Կենտրոնական Աֆրիկայի ԿՖԱ ֆրանկ', + 'FCFA', + 'Կենտրոնական Աֆրիկայի ԿՖԱ ֆրանկ', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'արևելակարիբյան դոլար', + 'EC$', + 'արևելակարիբյան դոլար', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Արևմտյան Աֆրիկայի ԿՖԱ ֆրանկ', + 'F CFA', + 'Արևմտյան Աֆրիկայի ԿՖԱ ֆրանկ', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'ԿՊՖ ֆրանկ', + 'CFPF', + 'ԿՊՖ ֆրանկ', ], 'YER' => [ - 0 => 'YER', - 1 => 'եմենական ռիալ', + 'YER', + 'եմենական ռիալ', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'հարավաֆրիկյան ռանդ', + 'ZAR', + 'հարավաֆրիկյան ռանդ', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Զամբիական կվաչա (1968–2012)', + 'ZMK', + 'Զամբիական կվաչա (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'զամբիական կվաչա', + 'ZMW', + 'զամբիական կվաչա', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ia.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ia.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ia.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ia.php 2026-05-20 08:22:01.000000000 +0000 @@ -2,473 +2,665 @@ return [ 'Names' => [ + 'AED' => [ + 'AED', + 'dirham del Emiratos Arabe Unite', + ], + 'AFN' => [ + 'AFN', + 'afghani', + ], 'ALL' => [ - 0 => 'ALL', - 1 => 'lek albanese', + 'ALL', + 'lek albanese', + ], + 'AMD' => [ + 'AMD', + 'dram armenie', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'florino antillan', + 'ANG', + 'florino antillan', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'kwanza angolan', + 'AOA', + 'kwanza angolan', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'peso argentin', + 'ARS', + 'peso argentin', ], 'AUD' => [ - 0 => 'A$', - 1 => 'dollar australian', + 'A$', + 'dollar australian', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'florino aruban', + 'AWG', + 'florino aruban', + ], + 'AZN' => [ + 'AZN', + 'manat azeri', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'marco convertibile de Bosnia-Herzegovina', + 'BAM', + 'marco convertibile de Bosnia-Herzegovina', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'dollar barbadian', + 'BBD', + 'dollar barbadian', + ], + 'BDT' => [ + 'BDT', + 'taka bengalese', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'lev bulgare', + 'BGN', + 'lev bulgare', + ], + 'BHD' => [ + 'BHD', + 'dinar bahreini', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'franco burundese', + 'BIF', + 'franco burundese', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'dollar bermudan', + 'BMD', + 'dollar bermudan', + ], + 'BND' => [ + 'BND', + 'dollar de Brunei', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'boliviano bolivian', + 'BOB', + 'boliviano bolivian', ], 'BRL' => [ - 0 => 'R$', - 1 => 'real brasilian', + 'R$', + 'real brasilian', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'dollar bahamian', + 'BSD', + 'dollar bahamian', + ], + 'BTN' => [ + 'BTN', + 'ngultrum bhutanese', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'pula botswanese', + 'BWP', + 'pula botswanese', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'rublo bielorusse', + 'BYN', + 'rublo bielorusse', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'dollar belizan', + 'BZD', + 'dollar belizan', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'dollar canadian', + 'CA$', + 'dollar canadian', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'franco congolese', + 'CDF', + 'franco congolese', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'franco suisse', + 'CHF', + 'franco suisse', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'peso chilen', + 'CLP', + 'peso chilen', + ], + 'CNH' => [ + 'CNH', + 'yuan chinese (extracontinental)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'yuan chinese', + 'CN¥', + 'yuan chinese', ], 'COP' => [ - 0 => 'COP', - 1 => 'peso colombian', + 'COP', + 'peso colombian', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'colon costarican', + 'CRC', + 'colon costarican', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'peso cuban convertibile', + 'CUC', + 'peso cuban convertibile', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'peso cuban', + 'CUP', + 'peso cuban', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'escudo capoverdian', + 'CVE', + 'escudo capoverdian', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'corona chec', + 'CZK', + 'corona chec', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Marco geman', + 'DEM', + 'Marco geman', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'franco djibutian', + 'DJF', + 'franco djibutian', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'corona danese', + 'DKK', + 'corona danese', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'peso dominican', + 'DOP', + 'peso dominican', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'dinar algerin', + 'DZD', + 'dinar algerin', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Corona estonian', + 'EEK', + 'Corona estonian', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'libra egyptie', + 'EGP', + 'libra egyptie', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'nakfa eritree', + 'ERN', + 'nakfa eritree', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'birr ethiope', + 'ETB', + 'birr ethiope', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Marco finnese', + 'FIM', + 'Marco finnese', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'dollar fijian', + 'FJD', + 'dollar fijian', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'libra falklandese', + 'FKP', + 'libra falklandese', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Franco francese', + 'FRF', + 'Franco francese', ], 'GBP' => [ - 0 => '£', - 1 => 'libra sterling', + '£', + 'libra sterling', + ], + 'GEL' => [ + 'GEL', + 'lari georgian', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'cedi ghanese', + 'GHS', + 'cedi ghanese', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'libra de Gibraltar', + 'GIP', + 'libra de Gibraltar', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'dalasi gambian', + 'GMD', + 'dalasi gambian', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'franco guinean', + 'GNF', + 'franco guinean', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'quetzal guatemaltec', + 'GTQ', + 'quetzal guatemaltec', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'dollar guyanese', + 'GYD', + 'dollar guyanese', + ], + 'HKD' => [ + 'HK$', + 'dollar hongkongese', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'lempira hondurese', + 'HNL', + 'lempira hondurese', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'kuna croate', + 'HRK', + 'kuna croate', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'gourde haitian', + 'HTG', + 'gourde haitian', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'forint hungare', + 'HUF', + 'forint hungare', + ], + 'IDR' => [ + 'IDR', + 'rupia indonesian', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Libra irlandese', + 'IEP', + 'Libra irlandese', + ], + 'ILS' => [ + '₪', + 'nove shekel israeli', ], 'INR' => [ - 0 => '₹', - 1 => 'rupia indian', + '₹', + 'rupia indian', + ], + 'IQD' => [ + 'IQD', + 'dinar iraqi', + ], + 'IRR' => [ + 'IRR', + 'rial iranian', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'corona islandese', + 'ISK', + 'corona islandese', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'dollar jamaican', + 'JMD', + 'dollar jamaican', + ], + 'JOD' => [ + 'JOD', + 'dinar jordan', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'yen japonese', + 'JP¥', + 'yen japonese', ], 'KES' => [ - 0 => 'KES', - 1 => 'shilling kenyan', + 'KES', + 'shilling kenyan', + ], + 'KGS' => [ + 'KGS', + 'som kirghiz', + ], + 'KHR' => [ + 'KHR', + 'riel cambodgian', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'franco comorian', + 'KMF', + 'franco comorian', + ], + 'KPW' => [ + 'KPW', + 'won nordkorean', + ], + 'KRW' => [ + '₩', + 'won sudkorean', + ], + 'KWD' => [ + 'KWD', + 'dinar kuwaiti', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'dollar del Insulas Caiman', + 'KYD', + 'dollar del Insulas Caiman', + ], + 'KZT' => [ + 'KZT', + 'tenge kazakh', + ], + 'LAK' => [ + 'LAK', + 'kip laotian', + ], + 'LBP' => [ + 'LBP', + 'libra libanese', + ], + 'LKR' => [ + 'LKR', + 'rupia de Sri Lanka', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'dollar liberian', + 'LRD', + 'dollar liberian', + ], + 'LSL' => [ + 'LSL', + 'loti de Lesotho', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'dinar libyc', + 'LYD', + 'dinar libyc', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'dirham marocchin', + 'MAD', + 'dirham marocchin', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'leu moldave', + 'MDL', + 'leu moldave', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'ariary malgache', + 'MGA', + 'ariary malgache', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'denar macedonie', + 'MKD', + 'denar macedonie', + ], + 'MMK' => [ + 'MMK', + 'kyat de Myanmar', + ], + 'MNT' => [ + 'MNT', + 'tugrik mongol', + ], + 'MOP' => [ + 'MOP', + 'pataca de Macao', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'ouguiya mauritan (1973–2017)', + 'MRO', + 'ouguiya mauritan (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'ouguiya mauritan', + 'MRU', + 'ouguiya mauritan', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'rupia mauritian', + 'MUR', + 'rupia mauritian', + ], + 'MVR' => [ + 'MVR', + 'rufiyaa del Maldivas', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'kwacha malawian', + 'MWK', + 'kwacha malawian', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'peso mexican', + 'MX$', + 'peso mexican', + ], + 'MYR' => [ + 'MYR', + 'ringgit malay', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'metical mozambican', + 'MZN', + 'metical mozambican', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'dollar namibian', + 'NAD', + 'dollar namibian', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'naira nigerian', + 'NGN', + 'naira nigerian', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'cordoba nicaraguan', + 'NIO', + 'cordoba nicaraguan', ], 'NLG' => [ - 0 => 'ƒ', - 1 => 'Florino nederlandese', + 'ƒ', + 'Florino nederlandese', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'corona norvegian', + 'NOK', + 'corona norvegian', + ], + 'NPR' => [ + 'NPR', + 'rupia nepalese', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'dollar neozelandese', + 'NZ$', + 'dollar neozelandese', + ], + 'OMR' => [ + 'OMR', + 'rial omani', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'balboa panamen', + 'PAB', + 'balboa panamen', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'sol peruvian', + 'PEN', + 'sol peruvian', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'kina papuan', + 'PGK', + 'kina papuan', + ], + 'PHP' => [ + '₱', + 'peso philippin', + ], + 'PKR' => [ + 'PKR', + 'rupia pakistani', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'zloty polonese', + 'PLN', + 'zloty polonese', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'guarani paraguayan', + 'PYG', + 'guarani paraguayan', + ], + 'QAR' => [ + 'QAR', + 'rial qatari', ], 'RON' => [ - 0 => 'RON', - 1 => 'leu romanian', + 'RON', + 'leu romanian', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'dinar serbe', + 'RSD', + 'dinar serbe', ], 'RUB' => [ - 0 => '₽', - 1 => 'rublo russe', + '₽', + 'rublo russe', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'franco ruandese', + 'RWF', + 'franco ruandese', + ], + 'SAR' => [ + 'SAR', + 'rial saudi', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'dollar del insulas Salomon', + 'SBD', + 'dollar del insulas Salomon', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'rupia seychellese', + 'SCR', + 'rupia seychellese', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'libra sudanese', + 'SDG', + 'libra sudanese', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'corona svedese', + 'SEK', + 'corona svedese', + ], + 'SGD' => [ + 'SGD', + 'dollar singaporese', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'libra de St. Helena', + 'SHP', + 'libra de St. Helena', + ], + 'SLE' => [ + 'SLE', + 'leone sierraleonese', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'leone sierraleonese', + 'SLL', + 'leone sierraleonese (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'shilling somali', + 'SOS', + 'shilling somali', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'dollar surinamese', + 'SRD', + 'dollar surinamese', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'libra sud-sudanese', + 'SSP', + 'libra sud-sudanese', ], 'STN' => [ - 0 => 'STN', - 1 => 'dobra de São Tomé e Príncipe', + 'STN', + 'dobra de São Tomé e Príncipe', + ], + 'SYP' => [ + 'SYP', + 'libra syriac', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'lilangeni swazilandese', + 'SZL', + 'lilangeni swazilandese', + ], + 'THB' => [ + 'THB', + 'baht thailandese', + ], + 'TJS' => [ + 'TJS', + 'somoni tajik', + ], + 'TMT' => [ + 'TMT', + 'manat turkmen', ], 'TND' => [ - 0 => 'TND', - 1 => 'dinar tunisian', + 'TND', + 'dinar tunisian', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'paʻanga tongan', + 'TOP', + 'paʻanga tongan', + ], + 'TRY' => [ + 'TRY', + 'lira turc', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'dollar de Trinidad e Tobago', + 'TTD', + 'dollar de Trinidad e Tobago', + ], + 'TWD' => [ + 'NT$', + 'nove dollar taiwanese', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'shilling tanzanian', + 'TZS', + 'shilling tanzanian', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'hryvnia ukrainian', + 'UAH', + 'hryvnia ukrainian', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'shilling ugandese', + 'UGX', + 'shilling ugandese', ], 'USD' => [ - 0 => 'US$', - 1 => 'dollar statounitese', + 'US$', + 'dollar statounitese', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'peso uruguayan', + 'UYU', + 'peso uruguayan', + ], + 'UZS' => [ + 'UZS', + 'som uzbek', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'bolivar venezuelan (2008–2018)', + 'VEF', + 'bolivar venezuelan (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'bolivar venezuelan', + 'VES', + 'bolivar venezuelan', + ], + 'VND' => [ + '₫', + 'dong vietnamese', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vatu vanuatuan', + 'VUV', + 'vatu vanuatuan', ], 'WST' => [ - 0 => 'WST', - 1 => 'tala samoan', + 'WST', + 'tala samoan', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'franco CFA de Africa Central', + 'FCFA', + 'franco CFA de Africa Central', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'dollar del Caribes Oriental', + 'EC$', + 'dollar del Caribes Oriental', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'franco CFA de Africa Occidental', + 'F CFA', + 'franco CFA de Africa Occidental', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'franco CFP', + 'CFPF', + 'franco CFP', + ], + 'YER' => [ + 'YER', + 'rial yemeni', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'rand sudafrican', + 'ZAR', + 'rand sudafrican', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'kwacha zambian', + 'ZMW', + 'kwacha zambian', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/id.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/id.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/id.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/id.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1152 +3,1156 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Peseta Andorra', + 'ADP', + 'Peseta Andorra', ], 'AED' => [ - 0 => 'AED', - 1 => 'Dirham Uni Emirat Arab', + 'AED', + 'Dirham Uni Emirat Arab', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Afgani Afganistan (1927–2002)', + 'AFA', + 'Afgani Afganistan (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afgani Afganistan', + 'AFN', + 'Afgani Afganistan', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Lek Albania', + 'ALL', + 'Lek Albania', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Dram Armenia', + 'AMD', + 'Dram Armenia', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Guilder Antilla Belanda', + 'ANG', + 'Guilder Antilla Belanda', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Kwanza Angola', + 'AOA', + 'Kwanza Angola', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Kwanza Angola (1977–1991)', + 'AOK', + 'Kwanza Angola (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Kwanza Baru Angola (1990–2000)', + 'AON', + 'Kwanza Baru Angola (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Kwanza Angola yang Disesuaikan Lagi (1995–1999)', + 'AOR', + 'Kwanza Angola yang Disesuaikan Lagi (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Austral Argentina', + 'ARA', + 'Austral Argentina', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'Peso Ley Argentina (1970–1983)', + 'ARL', + 'Peso Ley Argentina (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'Peso Argentina (1881–1970)', + 'ARM', + 'Peso Argentina (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Peso Argentina (1983–1985)', + 'ARP', + 'Peso Argentina (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Peso Argentina', + 'ARS', + 'Peso Argentina', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Schilling Austria', + 'ATS', + 'Schilling Austria', ], 'AUD' => [ - 0 => 'AU$', - 1 => 'Dolar Australia', + 'AU$', + 'Dolar Australia', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Florin Aruba', + 'AWG', + 'Florin Aruba', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Manat Azerbaijan (1993–2006)', + 'AZM', + 'Manat Azerbaijan (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Manat Azerbaijan', + 'AZN', + 'Manat Azerbaijan', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Dinar Bosnia-Herzegovina (1992–1994)', + 'BAD', + 'Dinar Bosnia-Herzegovina (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Mark Konvertibel Bosnia-Herzegovina', + 'BAM', + 'Mark Konvertibel Bosnia-Herzegovina', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'Dinar Baru Bosnia-Herzegovina (1994–1997)', + 'BAN', + 'Dinar Baru Bosnia-Herzegovina (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Dolar Barbados', + 'BBD', + 'Dolar Barbados', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Taka Bangladesh', + 'BDT', + 'Taka Bangladesh', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Franc Belgia (konvertibel)', + 'BEC', + 'Franc Belgia (konvertibel)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Franc Belgia', + 'BEF', + 'Franc Belgia', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Franc Belgia (keuangan)', + 'BEL', + 'Franc Belgia (keuangan)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Hard Lev Bulgaria', + 'BGL', + 'Hard Lev Bulgaria', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'Socialist Lev Bulgaria', + 'BGM', + 'Socialist Lev Bulgaria', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Lev Bulgaria', + 'BGN', + 'Lev Bulgaria', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'Lev Bulgaria (1879–1952)', + 'BGO', + 'Lev Bulgaria (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Dinar Bahrain', + 'BHD', + 'Dinar Bahrain', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Franc Burundi', + 'BIF', + 'Franc Burundi', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Dolar Bermuda', + 'BMD', + 'Dolar Bermuda', ], 'BND' => [ - 0 => 'BND', - 1 => 'Dolar Brunei', + 'BND', + 'Dolar Brunei', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Boliviano', + 'BOB', + 'Boliviano', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'Boliviano Bolivia (1863–1963)', + 'BOL', + 'Boliviano Bolivia (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Peso Bolivia', + 'BOP', + 'Peso Bolivia', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Mvdol Bolivia', + 'BOV', + 'Mvdol Bolivia', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Cruzeiro Baru Brasil (1967–1986)', + 'BRB', + 'Cruzeiro Baru Brasil (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Cruzado Brasil (1986–1989)', + 'BRC', + 'Cruzado Brasil (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Cruzeiro Brasil (1990–1993)', + 'BRE', + 'Cruzeiro Brasil (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Real Brasil', + 'R$', + 'Real Brasil', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Cruzado Baru Brasil (1989–1990)', + 'BRN', + 'Cruzado Baru Brasil (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Cruzeiro Brasil (1993–1994)', + 'BRR', + 'Cruzeiro Brasil (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'Cruzeiro Brasil (1942–1967)', + 'BRZ', + 'Cruzeiro Brasil (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Dolar Bahama', + 'BSD', + 'Dolar Bahama', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Ngultrum Bhutan', + 'BTN', + 'Ngultrum Bhutan', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Kyat Burma', + 'BUK', + 'Kyat Burma', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Pula Botswana', + 'BWP', + 'Pula Botswana', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Rubel Baru Belarus (1994–1999)', + 'BYB', + 'Rubel Baru Belarus (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Rubel Belarusia', + 'BYN', + 'Rubel Belarusia', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Rubel Belarusia (2000–2016)', + 'BYR', + 'Rubel Belarusia (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Dolar Belize', + 'BZD', + 'Dolar Belize', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Dolar Kanada', + 'CA$', + 'Dolar Kanada', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Franc Kongo', + 'CDF', + 'Franc Kongo', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'Euro WIR', + 'CHE', + 'Euro WIR', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Franc Swiss', + 'CHF', + 'Franc Swiss', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'Franc WIR', + 'CHW', + 'Franc WIR', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'Escudo Cile', + 'CLE', + 'Escudo Cile', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Satuan Hitung (UF) Cile', + 'CLF', + 'Satuan Hitung (UF) Cile', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Peso Cile', + 'CLP', + 'Peso Cile', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Yuan Tiongkok (luar negeri)', + 'CNH', + 'Yuan Tiongkok (luar negeri)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Yuan Tiongkok', + 'CN¥', + 'Yuan Tiongkok', ], 'COP' => [ - 0 => 'COP', - 1 => 'Peso Kolombia', + 'COP', + 'Peso Kolombia', ], 'COU' => [ - 0 => 'COU', - 1 => 'Unit Nilai Nyata Kolombia', + 'COU', + 'Unit Nilai Nyata Kolombia', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Colon Kosta Rika', + 'CRC', + 'Colon Kosta Rika', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Dinar Serbia (2002–2006)', + 'CSD', + 'Dinar Serbia (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Hard Koruna Cheska', + 'CSK', + 'Hard Koruna Cheska', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Peso Konvertibel Kuba', + 'CUC', + 'Peso Konvertibel Kuba', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Peso Kuba', + 'CUP', + 'Peso Kuba', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Escudo Tanjung Verde', + 'CVE', + 'Escudo Tanjung Verde', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Pound Siprus', + 'CYP', + 'Pound Siprus', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Koruna Ceko', + 'CZK', + 'Koruna Ceko', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Mark Jerman Timur', + 'DDM', + 'Mark Jerman Timur', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Mark Jerman', + 'DEM', + 'Mark Jerman', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Franc Jibuti', + 'DJF', + 'Franc Jibuti', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Krone Denmark', + 'DKK', + 'Krone Denmark', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Peso Dominika', + 'DOP', + 'Peso Dominika', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Dinar Aljazair', + 'DZD', + 'Dinar Aljazair', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Sucre Ekuador', + 'ECS', + 'Sucre Ekuador', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Satuan Nilai Tetap Ekuador', + 'ECV', + 'Satuan Nilai Tetap Ekuador', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Kroon Estonia', + 'EEK', + 'Kroon Estonia', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Pound Mesir', + 'EGP', + 'Pound Mesir', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Nakfa Eritrea', + 'ERN', + 'Nakfa Eritrea', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'Peseta Spanyol (akun)', + 'ESA', + 'Peseta Spanyol (akun)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'Peseta Spanyol (konvertibel)', + 'ESB', + 'Peseta Spanyol (konvertibel)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Peseta Spanyol', + 'ESP', + 'Peseta Spanyol', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Birr Etiopia', + 'ETB', + 'Birr Etiopia', ], 'EUR' => [ - 0 => '€', - 1 => 'Euro', + '€', + 'Euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Markka Finlandia', + 'FIM', + 'Markka Finlandia', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Dolar Fiji', + 'FJD', + 'Dolar Fiji', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Pound Kepulauan Falkland', + 'FKP', + 'Pound Kepulauan Falkland', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Franc Prancis', + 'FRF', + 'Franc Prancis', ], 'GBP' => [ - 0 => '£', - 1 => 'Pound Inggris', + '£', + 'Pound Inggris', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Kupon Larit Georgia', + 'GEK', + 'Kupon Larit Georgia', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Lari Georgia', + 'GEL', + 'Lari Georgia', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Cedi Ghana (1979–2007)', + 'GHC', + 'Cedi Ghana (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Cedi Ghana', + 'GHS', + 'Cedi Ghana', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Pound Gibraltar', + 'GIP', + 'Pound Gibraltar', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Dalasi Gambia', + 'GMD', + 'Dalasi Gambia', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Franc Guinea', + 'GNF', + 'Franc Guinea', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Syli Guinea', + 'GNS', + 'Syli Guinea', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Ekuele Guinea Ekuatorial', + 'GQE', + 'Ekuele Guinea Ekuatorial', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Drachma Yunani', + 'GRD', + 'Drachma Yunani', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Quetzal Guatemala', + 'GTQ', + 'Quetzal Guatemala', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Escudo Guinea Portugal', + 'GWE', + 'Escudo Guinea Portugal', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Peso Guinea-Bissau', + 'GWP', + 'Peso Guinea-Bissau', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Dolar Guyana', + 'GYD', + 'Dolar Guyana', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Dolar Hong Kong', + 'HK$', + 'Dolar Hong Kong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Lempira Honduras', + 'HNL', + 'Lempira Honduras', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Dinar Kroasia', + 'HRD', + 'Dinar Kroasia', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Kuna Kroasia', + 'HRK', + 'Kuna Kroasia', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Gourde Haiti', + 'HTG', + 'Gourde Haiti', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Forint Hungaria', + 'HUF', + 'Forint Hungaria', ], 'IDR' => [ - 0 => 'Rp', - 1 => 'Rupiah Indonesia', + 'Rp', + 'Rupiah Indonesia', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Pound Irlandia', + 'IEP', + 'Pound Irlandia', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Pound Israel', + 'ILP', + 'Pound Israel', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'Shekel Israel', + 'ILR', + 'Shekel Israel', ], 'ILS' => [ - 0 => '₪', - 1 => 'Shekel Baru Israel', + '₪', + 'Shekel Baru Israel', ], 'INR' => [ - 0 => 'Rs', - 1 => 'Rupee India', + 'Rs', + 'Rupee India', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Dinar Irak', + 'IQD', + 'Dinar Irak', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Rial Iran', + 'IRR', + 'Rial Iran', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'Krona Islandia (1918–1981)', + 'ISJ', + 'Krona Islandia (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Krona Islandia', + 'ISK', + 'Krona Islandia', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Lira Italia', + 'ITL', + 'Lira Italia', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Dolar Jamaika', + 'JMD', + 'Dolar Jamaika', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Dinar Yordania', + 'JOD', + 'Dinar Yordania', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Yen Jepang', + 'JP¥', + 'Yen Jepang', ], 'KES' => [ - 0 => 'KES', - 1 => 'Shilling Kenya', + 'KES', + 'Shilling Kenya', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Som Kirgizstan', + 'KGS', + 'Som Kirgizstan', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Riel Kamboja', + 'KHR', + 'Riel Kamboja', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Franc Komoro', + 'KMF', + 'Franc Komoro', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Won Korea Utara', + 'KPW', + 'Won Korea Utara', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'Hwan Korea Selatan (1953–1962)', + 'KRH', + 'Hwan Korea Selatan (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'Won Korea Selatan (1945–1953)', + 'KRO', + 'Won Korea Selatan (1945–1953)', ], 'KRW' => [ - 0 => '₩', - 1 => 'Won Korea Selatan', + '₩', + 'Won Korea Selatan', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Dinar Kuwait', + 'KWD', + 'Dinar Kuwait', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Dolar Kepulauan Cayman', + 'KYD', + 'Dolar Kepulauan Cayman', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Tenge Kazakhstan', + 'KZT', + 'Tenge Kazakhstan', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Kip Laos', + 'LAK', + 'Kip Laos', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Pound Lebanon', + 'LBP', + 'Pound Lebanon', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Rupee Sri Lanka', + 'LKR', + 'Rupee Sri Lanka', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Dolar Liberia', + 'LRD', + 'Dolar Liberia', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Loti Lesotho', + 'LSL', + 'Loti Lesotho', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litas Lituania', + 'LTL', + 'Litas Lituania', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Talonas Lituania', + 'LTT', + 'Talonas Lituania', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Franc Konvertibel Luksemburg', + 'LUC', + 'Franc Konvertibel Luksemburg', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Franc Luksemburg', + 'LUF', + 'Franc Luksemburg', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Financial Franc Luksemburg', + 'LUL', + 'Financial Franc Luksemburg', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Lats Latvia', + 'LVL', + 'Lats Latvia', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Rubel Latvia', + 'LVR', + 'Rubel Latvia', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Dinar Libya', + 'LYD', + 'Dinar Libya', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Dirham Maroko', + 'MAD', + 'Dirham Maroko', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Franc Maroko', + 'MAF', + 'Franc Maroko', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'Franc Monegasque', + 'MCF', + 'Franc Monegasque', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'Cupon Moldova', + 'MDC', + 'Cupon Moldova', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Leu Moldova', + 'MDL', + 'Leu Moldova', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Ariary Madagaskar', + 'MGA', + 'Ariary Madagaskar', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Franc Malagasi', + 'MGF', + 'Franc Malagasi', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Denar Makedonia', + 'MKD', + 'Denar Makedonia', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'Denar Makedonia (1992–1993)', + 'MKN', + 'Denar Makedonia (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Franc Mali', + 'MLF', + 'Franc Mali', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Kyat Myanmar', + 'MMK', + 'Kyat Myanmar', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Tugrik Mongolia', + 'MNT', + 'Tugrik Mongolia', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Pataca Makau', + 'MOP', + 'Pataca Makau', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Ouguiya Mauritania (1973–2017)', + 'MRO', + 'Ouguiya Mauritania (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Ouguiya Mauritania', + 'MRU', + 'Ouguiya Mauritania', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Lira Malta', + 'MTL', + 'Lira Malta', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Pound Malta', + 'MTP', + 'Pound Malta', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Rupee Mauritius', + 'MUR', + 'Rupee Mauritius', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'Rufiyaa Maladewa (1947–1981)', + 'MVP', + 'Rufiyaa Maladewa (1947–1981)', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Rufiyaa Maladewa', + 'MVR', + 'Rufiyaa Maladewa', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Kwacha Malawi', + 'MWK', + 'Kwacha Malawi', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Peso Meksiko', + 'MX$', + 'Peso Meksiko', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Peso Silver Meksiko (1861–1992)', + 'MXP', + 'Peso Silver Meksiko (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Unit Investasi Meksiko', + 'MXV', + 'Unit Investasi Meksiko', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Ringgit Malaysia', + 'MYR', + 'Ringgit Malaysia', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Escudo Mozambik', + 'MZE', + 'Escudo Mozambik', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Metical Mozambik (1980–2006)', + 'MZM', + 'Metical Mozambik (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Metical Mozambik', + 'MZN', + 'Metical Mozambik', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Dolar Namibia', + 'NAD', + 'Dolar Namibia', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Naira Nigeria', + 'NGN', + 'Naira Nigeria', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Cordoba Nikaragua (1988–1991)', + 'NIC', + 'Cordoba Nikaragua (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Cordoba Nikaragua', + 'NIO', + 'Cordoba Nikaragua', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Guilder Belanda', + 'NLG', + 'Guilder Belanda', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Krone Norwegia', + 'NOK', + 'Krone Norwegia', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Rupee Nepal', + 'NPR', + 'Rupee Nepal', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Dolar Selandia Baru', + 'NZ$', + 'Dolar Selandia Baru', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Rial Oman', + 'OMR', + 'Rial Oman', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Balboa Panama', + 'PAB', + 'Balboa Panama', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Inti Peru', + 'PEI', + 'Inti Peru', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Sol Peru', + 'PEN', + 'Sol Peru', ], 'PES' => [ - 0 => 'PES', - 1 => 'Sol Peru (1863–1965)', + 'PES', + 'Sol Peru (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Kina Papua Nugini', + 'PGK', + 'Kina Papua Nugini', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Peso Filipina', + 'PHP', + 'Peso Filipina', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Rupee Pakistan', + 'PKR', + 'Rupee Pakistan', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Zloty Polandia', + 'PLN', + 'Zloty Polandia', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Zloty Polandia (1950–1995)', + 'PLZ', + 'Zloty Polandia (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Escudo Portugal', + 'PTE', + 'Escudo Portugal', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Guarani Paraguay', + 'PYG', + 'Guarani Paraguay', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Rial Qatar', + 'QAR', + 'Rial Qatar', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Dolar Rhodesia', + 'RHD', + 'Dolar Rhodesia', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Leu Rumania (1952–2006)', + 'ROL', + 'Leu Rumania (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'Leu Rumania', + 'RON', + 'Leu Rumania', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Dinar Serbia', + 'RSD', + 'Dinar Serbia', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Rubel Rusia', + 'RUB', + 'Rubel Rusia', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Rubel Rusia (1991–1998)', + 'RUR', + 'Rubel Rusia (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Franc Rwanda', + 'RWF', + 'Franc Rwanda', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Riyal Arab Saudi', + 'SAR', + 'Riyal Arab Saudi', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Dolar Kepulauan Solomon', + 'SBD', + 'Dolar Kepulauan Solomon', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Rupee Seychelles', + 'SCR', + 'Rupee Seychelles', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Dinar Sudan (1992–2007)', + 'SDD', + 'Dinar Sudan (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Pound Sudan', + 'SDG', + 'Pound Sudan', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Pound Sudan (1957–1998)', + 'SDP', + 'Pound Sudan (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Krona Swedia', + 'SEK', + 'Krona Swedia', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Dolar Singapura', + 'SGD', + 'Dolar Singapura', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Pound Saint Helena', + 'SHP', + 'Pound Saint Helena', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Tolar Slovenia', + 'SIT', + 'Tolar Slovenia', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Koruna Slovakia', + 'SKK', + 'Koruna Slovakia', + ], + 'SLE' => [ + 'SLE', + 'Leone Sierra Leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Leone Sierra Leone', + 'SLL', + 'Leone Sierra Leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Shilling Somalia', + 'SOS', + 'Shilling Somalia', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Dolar Suriname', + 'SRD', + 'Dolar Suriname', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Guilder Suriname', + 'SRG', + 'Guilder Suriname', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Pound Sudan Selatan', + 'SSP', + 'Pound Sudan Selatan', ], 'STD' => [ - 0 => 'STD', - 1 => 'Dobra Sao Tome dan Principe (1977–2017)', + 'STD', + 'Dobra Sao Tome dan Principe (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Dobra Sao Tome dan Principe', + 'STN', + 'Dobra Sao Tome dan Principe', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Rubel Soviet', + 'SUR', + 'Rubel Soviet', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Colon El Savador', + 'SVC', + 'Colon El Savador', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Pound Suriah', + 'SYP', + 'Pound Suriah', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Lilangeni Swaziland', + 'SZL', + 'Lilangeni Swaziland', ], 'THB' => [ - 0 => '฿', - 1 => 'Baht Thailand', + '฿', + 'Baht Thailand', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Rubel Tajikistan', + 'TJR', + 'Rubel Tajikistan', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Somoni Tajikistan', + 'TJS', + 'Somoni Tajikistan', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Manat Turkmenistan (1993–2009)', + 'TMM', + 'Manat Turkmenistan (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Manat Turkmenistan', + 'TMT', + 'Manat Turkmenistan', ], 'TND' => [ - 0 => 'TND', - 1 => 'Dinar Tunisia', + 'TND', + 'Dinar Tunisia', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Paʻanga Tonga', + 'TOP', + 'Paʻanga Tonga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Escudo Timor', + 'TPE', + 'Escudo Timor', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Lira Turki (1922–2005)', + 'TRL', + 'Lira Turki (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Lira Turki', + 'TRY', + 'Lira Turki', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Dolar Trinidad dan Tobago', + 'TTD', + 'Dolar Trinidad dan Tobago', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Dolar Baru Taiwan', + 'NT$', + 'Dolar Baru Taiwan', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Shilling Tanzania', + 'TZS', + 'Shilling Tanzania', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Hryvnia Ukraina', + 'UAH', + 'Hryvnia Ukraina', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Karbovanet Ukraina', + 'UAK', + 'Karbovanet Ukraina', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Shilling Uganda (1966–1987)', + 'UGS', + 'Shilling Uganda (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Shilling Uganda', + 'UGX', + 'Shilling Uganda', ], 'USD' => [ - 0 => 'US$', - 1 => 'Dolar Amerika Serikat', + 'US$', + 'Dolar Amerika Serikat', ], 'USN' => [ - 0 => 'USN', - 1 => 'Dolar AS (Hari berikutnya)', + 'USN', + 'Dolar AS (Hari berikutnya)', ], 'USS' => [ - 0 => 'USS', - 1 => 'Dolar AS (Hari yang sama)', + 'USS', + 'Dolar AS (Hari yang sama)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Peso Uruguay (Unit Diindeks)', + 'UYI', + 'Peso Uruguay (Unit Diindeks)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Peso Uruguay (1975–1993)', + 'UYP', + 'Peso Uruguay (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Peso Uruguay', + 'UYU', + 'Peso Uruguay', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Som Uzbekistan', + 'UZS', + 'Som Uzbekistan', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Bolivar Venezuela (1871–2008)', + 'VEB', + 'Bolivar Venezuela (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Bolivar Venezuela (2008–2018)', + 'VEF', + 'Bolivar Venezuela (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Bolivar Venezuela', + 'VES', + 'Bolivar Venezuela', ], 'VND' => [ - 0 => '₫', - 1 => 'Dong Vietnam', + '₫', + 'Dong Vietnam', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'Dong Vietnam (1978–1985)', + 'VNN', + 'Dong Vietnam (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vatu Vanuatu', + 'VUV', + 'Vatu Vanuatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Tala Samoa', + 'WST', + 'Tala Samoa', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Franc CFA Afrika Tengah', + 'FCFA', + 'Franc CFA Afrika Tengah', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Dolar Karibia Timur', + 'EC$', + 'Dolar Karibia Timur', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'Satuan Mata Uang Eropa', + 'XEU', + 'Satuan Mata Uang Eropa', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Franc Gold Perancis', + 'XFO', + 'Franc Gold Perancis', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Franc UIC Perancis', + 'XFU', + 'Franc UIC Perancis', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Franc CFA Afrika Barat', + 'F CFA', + 'Franc CFA Afrika Barat', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'Franc CFP', + 'CFPF', + 'Franc CFP', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'Dana RINET', + 'XRE', + 'Dana RINET', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Dinar Yaman', + 'YDD', + 'Dinar Yaman', ], 'YER' => [ - 0 => 'YER', - 1 => 'Rial Yaman', + 'YER', + 'Rial Yaman', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Hard Dinar Yugoslavia (1966–1990)', + 'YUD', + 'Hard Dinar Yugoslavia (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Dinar Baru Yugoslavia (1994–2002)', + 'YUM', + 'Dinar Baru Yugoslavia (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Dinar Konvertibel Yugoslavia (1990–1992)', + 'YUN', + 'Dinar Konvertibel Yugoslavia (1990–1992)', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'Dinar Reformasi Yugoslavia (1992–1993)', + 'YUR', + 'Dinar Reformasi Yugoslavia (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Rand Afrika Selatan (Keuangan)', + 'ZAL', + 'Rand Afrika Selatan (Keuangan)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Rand Afrika Selatan', + 'ZAR', + 'Rand Afrika Selatan', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Kwacha Zambia (1968–2012)', + 'ZMK', + 'Kwacha Zambia (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Kwacha Zambia', + 'ZMW', + 'Kwacha Zambia', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Zaire Baru Zaire (1993–1998)', + 'ZRN', + 'Zaire Baru Zaire (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Zaire Zaire (1971–1993)', + 'ZRZ', + 'Zaire Zaire (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Dolar Zimbabwe (1980–2008)', + 'ZWD', + 'Dolar Zimbabwe (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Dolar Zimbabwe (2009)', + 'ZWL', + 'Dolar Zimbabwe (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Dolar Zimbabwe (2008)', + 'ZWR', + 'Dolar Zimbabwe (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ig.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ig.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ig.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ig.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,628 +3,632 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'Ego Dirham obodo United Arab Emirates', + 'AED', + 'Ego Dirham obodo United Arab Emirates', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Ego Afghani Obodo Afghanistan', + 'AFN', + 'Ego Afghani Obodo Afghanistan', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Ego Lek Obodo Albania', + 'ALL', + 'Ego Lek Obodo Albania', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Ego Dram obodo Armenia', + 'AMD', + 'Ego Dram obodo Armenia', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Ego Antillean Guilder obodo Netherlands', + 'ANG', + 'Ego Antillean Guilder obodo Netherlands', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Ego Kwanza obodo Angola', + 'AOA', + 'Ego Kwanza obodo Angola', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Ego Peso obodo Argentina', + 'ARS', + 'Ego Peso obodo Argentina', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Ego Dollar obodo Australia', + 'A$', + 'Ego Dollar obodo Australia', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Ego Florin obodo Aruba', + 'AWG', + 'Ego Florin obodo Aruba', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Ego Manat obodo Azerbaijan', + 'AZN', + 'Ego Manat obodo Azerbaijan', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Akara mgbanwe ego obodo Bosnia-Herzegovina', + 'BAM', + 'Akara mgbanwe ego obodo Bosnia-Herzegovina', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Ego Dollar obodo Barbados', + 'BBD', + 'Ego Dollar obodo Barbados', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Ego Taka obodo Bangladesh', + 'BDT', + 'Ego Taka obodo Bangladesh', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Ego Lev mba Bulgaria', + 'BGN', + 'Ego Lev mba Bulgaria', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Ego Dinar Obodo Bahrain', + 'BHD', + 'Ego Dinar Obodo Bahrain', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Ego Franc obodo Burundi', + 'BIF', + 'Ego Franc obodo Burundi', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Dollar Bermuda', + 'BMD', + 'Dollar Bermuda', ], 'BND' => [ - 0 => 'BND', - 1 => 'Ego Dollar obodo Brunei', + 'BND', + 'Ego Dollar obodo Brunei', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Ego Boliviano obodo Bolivia', + 'BOB', + 'Ego Boliviano obodo Bolivia', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Real Brazil', + 'R$', + 'Real Brazil', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Ego Dollar Obodo Bahamas', + 'BSD', + 'Ego Dollar Obodo Bahamas', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Ego Ngultrum obodo Bhutan', + 'BTN', + 'Ego Ngultrum obodo Bhutan', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Ego Pula obodo Bostwana', + 'BWP', + 'Ego Pula obodo Bostwana', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Ego Ruble mba Belarus', + 'BYN', + 'Ego Ruble mba Belarus', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Dollar Belize', + 'BZD', + 'Dollar Belize', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Dollar Canada', + 'CA$', + 'Dollar Canada', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Ego Franc obodo Congo', + 'CDF', + 'Ego Franc obodo Congo', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Ego Franc mba Switzerland', + 'CHF', + 'Ego Franc mba Switzerland', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Ego Peso obodo Chile', + 'CLP', + 'Ego Peso obodo Chile', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Ego Yuan Obodo China (ndị bi na mmiri)', + 'CNH', + 'Ego Yuan Obodo China (ndị bi na mmiri)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Yuan China', + 'CN¥', + 'Yuan China', ], 'COP' => [ - 0 => 'COP', - 1 => 'Ego Peso obodo Columbia', + 'COP', + 'Ego Peso obodo Columbia', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Ego Colón obodo Costa Rica', + 'CRC', + 'Ego Colón obodo Costa Rica', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Ego Peso e nwere ike ịgbanwe nke obodo Cuba', + 'CUC', + 'Ego Peso e nwere ike ịgbanwe nke obodo Cuba', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Ego Peso obodo Cuba', + 'CUP', + 'Ego Peso obodo Cuba', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Escudo Caboverdiano', + 'CVE', + 'Escudo Caboverdiano', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Ego Koruna obodo Czech', + 'CZK', + 'Ego Koruna obodo Czech', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Ego Franc obodo Djibouti', + 'DJF', + 'Ego Franc obodo Djibouti', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Ego Krone Obodo Denmark', + 'DKK', + 'Ego Krone Obodo Denmark', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Ego Peso Obodo Dominica', + 'DOP', + 'Ego Peso Obodo Dominica', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Ego Dinar Obodo Algeria', + 'DZD', + 'Ego Dinar Obodo Algeria', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Ego Pound obodo Egypt', + 'EGP', + 'Ego Pound obodo Egypt', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Ego Nakfa obodo Eritrea', + 'ERN', + 'Ego Nakfa obodo Eritrea', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Ego Birr obodo Ethiopia', + 'ETB', + 'Ego Birr obodo Ethiopia', ], 'EUR' => [ - 0 => '€', - 1 => 'Euro', + '€', + 'Euro', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Ego Dollar obodo Fiji', + 'FJD', + 'Ego Dollar obodo Fiji', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Ego Pound obodo Falkland Islands', + 'FKP', + 'Ego Pound obodo Falkland Islands', ], 'GBP' => [ - 0 => '£', - 1 => 'Pound British', + '£', + 'Pound British', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Ego Lari Obodo Georgia', + 'GEL', + 'Ego Lari Obodo Georgia', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Ego Cedi obodo Ghana', + 'GHS', + 'Ego Cedi obodo Ghana', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Ego Pound obodo Gibraltar', + 'GIP', + 'Ego Pound obodo Gibraltar', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Ego Dalasi obodo Gambia', + 'GMD', + 'Ego Dalasi obodo Gambia', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Ego Franc obodo Guinea', + 'GNF', + 'Ego Franc obodo Guinea', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Ego Quetzal obodo Guatemala', + 'GTQ', + 'Ego Quetzal obodo Guatemala', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Ego Dollar obodo Guyana', + 'GYD', + 'Ego Dollar obodo Guyana', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Ego Dollar Obodo Honk Kong', + 'HK$', + 'Ego Dollar Obodo Honk Kong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Ego Lempira obodo Honduras', + 'HNL', + 'Ego Lempira obodo Honduras', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Ego Kuna obodo Croatia', + 'HRK', + 'Ego Kuna obodo Croatia', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Ego Gourde obodo Haiti', + 'HTG', + 'Ego Gourde obodo Haiti', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Ego Forint obodo Hungary', + 'HUF', + 'Ego Forint obodo Hungary', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Ego Rupiah Obodo Indonesia', + 'IDR', + 'Ego Rupiah Obodo Indonesia', ], 'ILS' => [ - 0 => '₪', - 1 => 'Ego Shekel ọhụrụ obodo Israel', + '₪', + 'Ego Shekel ọhụrụ obodo Israel', ], 'INR' => [ - 0 => '₹', - 1 => 'Rupee India', + '₹', + 'Rupee India', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Ego Dinar obodo Iraq', + 'IQD', + 'Ego Dinar obodo Iraq', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Ego Rial obodo Iran', + 'IRR', + 'Ego Rial obodo Iran', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Ego Króna obodo Iceland', + 'ISK', + 'Ego Króna obodo Iceland', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Ego Dollar obodo Jamaica', + 'JMD', + 'Ego Dollar obodo Jamaica', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Ego Dinar Obodo Jordan', + 'JOD', + 'Ego Dinar Obodo Jordan', ], 'JPY' => [ - 0 => '¥', - 1 => 'Yen Japan', + '¥', + 'Yen Japan', ], 'KES' => [ - 0 => 'KES', - 1 => 'Ego Shilling obodo Kenya', + 'KES', + 'Ego Shilling obodo Kenya', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Ego Som Obodo Kyrgyzstan', + 'KGS', + 'Ego Som Obodo Kyrgyzstan', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Ego Riel obodo Cambodia', + 'KHR', + 'Ego Riel obodo Cambodia', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Ego Franc obodo Comoros', + 'KMF', + 'Ego Franc obodo Comoros', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Ego Won Obodo North Korea', + 'KPW', + 'Ego Won Obodo North Korea', ], 'KRW' => [ - 0 => '₩', - 1 => 'Ego Won Obodo South Korea', + '₩', + 'Ego Won Obodo South Korea', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Ego Dinar Obodo Kuwait', + 'KWD', + 'Ego Dinar Obodo Kuwait', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Ego Dollar obodo Cayman Islands', + 'KYD', + 'Ego Dollar obodo Cayman Islands', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Ego Tenge obodo Kazakhstani', + 'KZT', + 'Ego Tenge obodo Kazakhstani', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Ego Kip Obodo Laos', + 'LAK', + 'Ego Kip Obodo Laos', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Ego Pound obodo Lebanon', + 'LBP', + 'Ego Pound obodo Lebanon', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Ego Rupee obodo Sri Lanka', + 'LKR', + 'Ego Rupee obodo Sri Lanka', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Ego Dollar obodo Liberia', + 'LRD', + 'Ego Dollar obodo Liberia', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Ego loti obodo Lesotho', + 'LSL', + 'Ego loti obodo Lesotho', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Ego Dinar obodo Libya', + 'LYD', + 'Ego Dinar obodo Libya', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Ego Dirham obodo Morocco', + 'MAD', + 'Ego Dirham obodo Morocco', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Ego Leu obodo Moldova', + 'MDL', + 'Ego Leu obodo Moldova', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Ego Ariary obodo Madagascar', + 'MGA', + 'Ego Ariary obodo Madagascar', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Ego Denar Obodo Macedonia', + 'MKD', + 'Ego Denar Obodo Macedonia', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Ego Kyat obodo Myanmar', + 'MMK', + 'Ego Kyat obodo Myanmar', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Ego Turgik Obodo Mongolia', + 'MNT', + 'Ego Turgik Obodo Mongolia', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Ego Pataca ndị Obodo Macanese', + 'MOP', + 'Ego Pataca ndị Obodo Macanese', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Ego Ouguiya Obodo Mauritania', + 'MRU', + 'Ego Ouguiya Obodo Mauritania', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Ego Rupee obodo Mauritania', + 'MUR', + 'Ego Rupee obodo Mauritania', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Ego Rufiyaa obodo Moldova', + 'MVR', + 'Ego Rufiyaa obodo Moldova', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Ego Kwacha obodo Malawi', + 'MWK', + 'Ego Kwacha obodo Malawi', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Ego Peso obodo Mexico', + 'MX$', + 'Ego Peso obodo Mexico', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Ego Ringgit obodo Malaysia', + 'MYR', + 'Ego Ringgit obodo Malaysia', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Ego Metical obodo Mozambique', + 'MZN', + 'Ego Metical obodo Mozambique', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Ego Dollar obodo Namibia', + 'NAD', + 'Ego Dollar obodo Namibia', ], 'NGN' => [ - 0 => '₦', - 1 => 'Naịra', + '₦', + 'Naịra', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Ego Córodoba obodo Nicaragua', + 'NIO', + 'Ego Córodoba obodo Nicaragua', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Ego Krone Obodo Norway', + 'NOK', + 'Ego Krone Obodo Norway', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Ego Rupee obodo Nepal', + 'NPR', + 'Ego Rupee obodo Nepal', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Ego Dollar obodo New Zealand', + 'NZ$', + 'Ego Dollar obodo New Zealand', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Ego Rial obodo Oman', + 'OMR', + 'Ego Rial obodo Oman', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Ego Balboa obodo Panama', + 'PAB', + 'Ego Balboa obodo Panama', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Ego Sol obodo Peru', + 'PEN', + 'Ego Sol obodo Peru', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Ego Kina obodo Papua New Guinea', + 'PGK', + 'Ego Kina obodo Papua New Guinea', ], 'PHP' => [ - 0 => '₱', - 1 => 'Ego piso obodo Philippine', + '₱', + 'Ego Piso obodo Philippine', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Ego Rupee obodo Pakistan', + 'PKR', + 'Ego Rupee obodo Pakistan', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Ego Zloty mba Poland', + 'PLN', + 'Ego Zloty mba Poland', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Ego Guarani obodo Paraguay', + 'PYG', + 'Ego Guarani obodo Paraguay', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Ego Rial obodo Qatar', + 'QAR', + 'Ego Rial obodo Qatar', ], 'RON' => [ - 0 => 'RON', - 1 => 'Ego Leu obodo Romania', + 'RON', + 'Ego Leu obodo Romania', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Ego Dinar obodo Serbia', + 'RSD', + 'Ego Dinar obodo Serbia', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Ruble Russia', + 'RUB', + 'Ruble Russia', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Ego Franc obodo Rwanda', + 'RWF', + 'Ego Franc obodo Rwanda', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Ego Riyal obodo Saudi', + 'SAR', + 'Ego Riyal obodo Saudi', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Ego Dollar obodo Solomon Islands', + 'SBD', + 'Ego Dollar obodo Solomon Islands', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Ego Rupee obodo Seychelles', + 'SCR', + 'Ego Rupee obodo Seychelles', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Ego Pound obodo Sudan', + 'SDG', + 'Ego Pound obodo Sudan', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Ego Krona Obodo Sweden', + 'SEK', + 'Ego Krona Obodo Sweden', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Ego Dollar obodo Singapore', + 'SGD', + 'Ego Dollar obodo Singapore', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Ego Pound obodo St Helena', + 'SHP', + 'Ego Pound obodo St Helena', + ], + 'SLE' => [ + 'SLE', + 'Ego Leone obodo Sierra Leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Ego Leone obodo Sierra Leone', + 'SLL', + 'Ego Leone obodo Sierra Leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Ego shilling obodo Somali', + 'SOS', + 'Ego shilling obodo Somali', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Dollar Surinamese', + 'SRD', + 'Dollar Surinamese', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Ego Pound obodo South Sudan', + 'SSP', + 'Ego Pound obodo South Sudan', ], 'STN' => [ - 0 => 'STN', - 1 => 'Ego Dobra nke obodo Sāo Tomé na Principe', + 'STN', + 'Ego Dobra nke obodo Sāo Tomé na Principe', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Ego Pound obodo Syria', + 'SYP', + 'Ego Pound obodo Syria', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Ego Lilangeni obodo Swaziland', + 'SZL', + 'Ego Lilangeni obodo Swaziland', ], 'THB' => [ - 0 => 'THB', - 1 => 'Ego Baht obodo Thai', + 'THB', + 'Ego Baht obodo Thai', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Who Somoni obodo Tajikistan', + 'TJS', + 'Who Somoni obodo Tajikistan', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Ego Manat Obodo Turkmenistan', + 'TMT', + 'Ego Manat Obodo Turkmenistan', ], 'TND' => [ - 0 => 'TND', - 1 => 'Ego Dinar Obodo Tunisia', + 'TND', + 'Ego Dinar Obodo Tunisia', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Ego paʻanga obodo Tonga', + 'TOP', + 'Ego paʻanga obodo Tonga', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Ego Lira obodo Turkey', + 'TRY', + 'Ego Lira obodo Turkey', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Dollar Trinidad & Tobago', + 'TTD', + 'Dollar Trinidad & Tobago', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Dollar obodo New Taiwan', + 'NT$', + 'Dollar obodo New Taiwan', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Ego Shilling Obodo Tanzania', + 'TZS', + 'Ego Shilling Obodo Tanzania', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Ego Hryvnia obodo Ukraine', + 'UAH', + 'Ego Hryvnia obodo Ukraine', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Ego Shilling obodo Uganda', + 'UGX', + 'Ego Shilling obodo Uganda', ], 'USD' => [ - 0 => '$', - 1 => 'Dollar US', + '$', + 'Dollar US', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Ego Peso obodo Uruguay', + 'UYU', + 'Ego Peso obodo Uruguay', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Ego Som obodo Uzbekistan', + 'UZS', + 'Ego Som obodo Uzbekistan', ], 'VES' => [ - 0 => 'VES', - 1 => 'Ego Bolivar obodo Venezuela', + 'VES', + 'Ego Bolivar obodo Venezuela', ], 'VND' => [ - 0 => '₫', - 1 => 'Ego Dong obodo Vietnam', + '₫', + 'Ego Dong obodo Vietnam', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Ego Vatu obodo Vanuatu', + 'VUV', + 'Ego Vatu obodo Vanuatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Ego Tala obodo Samoa', + 'WST', + 'Ego Tala obodo Samoa', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Ego Franc mba etiti Africa', + 'FCFA', + 'Ego Franc mba etiti Africa', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Ego Dollar obodo East Carribbean', + 'EC$', + 'Ego Dollar obodo East Carribbean', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Ego CFA Franc obodo West Africa', + 'F CFA', + 'Ego CFA Franc obodo West Africa', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'Ego Franc obodo CFP', + 'CFPF', + 'Ego Franc obodo CFP', ], 'YER' => [ - 0 => 'YER', - 1 => 'Ego Rial obodo Yemeni', + 'YER', + 'Ego Rial obodo Yemeni', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Ego Rand obodo South Africa', + 'ZAR', + 'Ego Rand obodo South Africa', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Ego Kwacha Obodo Zambia', + 'ZMW', + 'Ego Kwacha Obodo Zambia', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ii.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ii.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ii.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ii.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,8 +3,8 @@ return [ 'Names' => [ 'CNY' => [ - 0 => '¥', - 1 => 'CNY', + '¥', + 'CNY', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/in.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/in.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/in.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/in.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1152 +3,1156 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Peseta Andorra', + 'ADP', + 'Peseta Andorra', ], 'AED' => [ - 0 => 'AED', - 1 => 'Dirham Uni Emirat Arab', + 'AED', + 'Dirham Uni Emirat Arab', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'Afgani Afganistan (1927–2002)', + 'AFA', + 'Afgani Afganistan (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afgani Afganistan', + 'AFN', + 'Afgani Afganistan', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Lek Albania', + 'ALL', + 'Lek Albania', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Dram Armenia', + 'AMD', + 'Dram Armenia', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Guilder Antilla Belanda', + 'ANG', + 'Guilder Antilla Belanda', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Kwanza Angola', + 'AOA', + 'Kwanza Angola', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'Kwanza Angola (1977–1991)', + 'AOK', + 'Kwanza Angola (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'Kwanza Baru Angola (1990–2000)', + 'AON', + 'Kwanza Baru Angola (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'Kwanza Angola yang Disesuaikan Lagi (1995–1999)', + 'AOR', + 'Kwanza Angola yang Disesuaikan Lagi (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Austral Argentina', + 'ARA', + 'Austral Argentina', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'Peso Ley Argentina (1970–1983)', + 'ARL', + 'Peso Ley Argentina (1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'Peso Argentina (1881–1970)', + 'ARM', + 'Peso Argentina (1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Peso Argentina (1983–1985)', + 'ARP', + 'Peso Argentina (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Peso Argentina', + 'ARS', + 'Peso Argentina', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Schilling Austria', + 'ATS', + 'Schilling Austria', ], 'AUD' => [ - 0 => 'AU$', - 1 => 'Dolar Australia', + 'AU$', + 'Dolar Australia', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Florin Aruba', + 'AWG', + 'Florin Aruba', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'Manat Azerbaijan (1993–2006)', + 'AZM', + 'Manat Azerbaijan (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Manat Azerbaijan', + 'AZN', + 'Manat Azerbaijan', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'Dinar Bosnia-Herzegovina (1992–1994)', + 'BAD', + 'Dinar Bosnia-Herzegovina (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Mark Konvertibel Bosnia-Herzegovina', + 'BAM', + 'Mark Konvertibel Bosnia-Herzegovina', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'Dinar Baru Bosnia-Herzegovina (1994–1997)', + 'BAN', + 'Dinar Baru Bosnia-Herzegovina (1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Dolar Barbados', + 'BBD', + 'Dolar Barbados', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Taka Bangladesh', + 'BDT', + 'Taka Bangladesh', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'Franc Belgia (konvertibel)', + 'BEC', + 'Franc Belgia (konvertibel)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Franc Belgia', + 'BEF', + 'Franc Belgia', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'Franc Belgia (keuangan)', + 'BEL', + 'Franc Belgia (keuangan)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Hard Lev Bulgaria', + 'BGL', + 'Hard Lev Bulgaria', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'Socialist Lev Bulgaria', + 'BGM', + 'Socialist Lev Bulgaria', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Lev Bulgaria', + 'BGN', + 'Lev Bulgaria', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'Lev Bulgaria (1879–1952)', + 'BGO', + 'Lev Bulgaria (1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Dinar Bahrain', + 'BHD', + 'Dinar Bahrain', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Franc Burundi', + 'BIF', + 'Franc Burundi', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Dolar Bermuda', + 'BMD', + 'Dolar Bermuda', ], 'BND' => [ - 0 => 'BND', - 1 => 'Dolar Brunei', + 'BND', + 'Dolar Brunei', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Boliviano', + 'BOB', + 'Boliviano', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'Boliviano Bolivia (1863–1963)', + 'BOL', + 'Boliviano Bolivia (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Peso Bolivia', + 'BOP', + 'Peso Bolivia', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Mvdol Bolivia', + 'BOV', + 'Mvdol Bolivia', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'Cruzeiro Baru Brasil (1967–1986)', + 'BRB', + 'Cruzeiro Baru Brasil (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'Cruzado Brasil (1986–1989)', + 'BRC', + 'Cruzado Brasil (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'Cruzeiro Brasil (1990–1993)', + 'BRE', + 'Cruzeiro Brasil (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Real Brasil', + 'R$', + 'Real Brasil', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'Cruzado Baru Brasil (1989–1990)', + 'BRN', + 'Cruzado Baru Brasil (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'Cruzeiro Brasil (1993–1994)', + 'BRR', + 'Cruzeiro Brasil (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'Cruzeiro Brasil (1942–1967)', + 'BRZ', + 'Cruzeiro Brasil (1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Dolar Bahama', + 'BSD', + 'Dolar Bahama', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Ngultrum Bhutan', + 'BTN', + 'Ngultrum Bhutan', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Kyat Burma', + 'BUK', + 'Kyat Burma', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Pula Botswana', + 'BWP', + 'Pula Botswana', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'Rubel Baru Belarus (1994–1999)', + 'BYB', + 'Rubel Baru Belarus (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Rubel Belarusia', + 'BYN', + 'Rubel Belarusia', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Rubel Belarusia (2000–2016)', + 'BYR', + 'Rubel Belarusia (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Dolar Belize', + 'BZD', + 'Dolar Belize', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Dolar Kanada', + 'CA$', + 'Dolar Kanada', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Franc Kongo', + 'CDF', + 'Franc Kongo', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'Euro WIR', + 'CHE', + 'Euro WIR', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Franc Swiss', + 'CHF', + 'Franc Swiss', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'Franc WIR', + 'CHW', + 'Franc WIR', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'Escudo Cile', + 'CLE', + 'Escudo Cile', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Satuan Hitung (UF) Cile', + 'CLF', + 'Satuan Hitung (UF) Cile', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Peso Cile', + 'CLP', + 'Peso Cile', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Yuan Tiongkok (luar negeri)', + 'CNH', + 'Yuan Tiongkok (luar negeri)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Yuan Tiongkok', + 'CN¥', + 'Yuan Tiongkok', ], 'COP' => [ - 0 => 'COP', - 1 => 'Peso Kolombia', + 'COP', + 'Peso Kolombia', ], 'COU' => [ - 0 => 'COU', - 1 => 'Unit Nilai Nyata Kolombia', + 'COU', + 'Unit Nilai Nyata Kolombia', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Colon Kosta Rika', + 'CRC', + 'Colon Kosta Rika', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'Dinar Serbia (2002–2006)', + 'CSD', + 'Dinar Serbia (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Hard Koruna Cheska', + 'CSK', + 'Hard Koruna Cheska', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Peso Konvertibel Kuba', + 'CUC', + 'Peso Konvertibel Kuba', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Peso Kuba', + 'CUP', + 'Peso Kuba', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Escudo Tanjung Verde', + 'CVE', + 'Escudo Tanjung Verde', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Pound Siprus', + 'CYP', + 'Pound Siprus', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Koruna Ceko', + 'CZK', + 'Koruna Ceko', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Mark Jerman Timur', + 'DDM', + 'Mark Jerman Timur', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Mark Jerman', + 'DEM', + 'Mark Jerman', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Franc Jibuti', + 'DJF', + 'Franc Jibuti', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Krone Denmark', + 'DKK', + 'Krone Denmark', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Peso Dominika', + 'DOP', + 'Peso Dominika', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Dinar Aljazair', + 'DZD', + 'Dinar Aljazair', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Sucre Ekuador', + 'ECS', + 'Sucre Ekuador', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'Satuan Nilai Tetap Ekuador', + 'ECV', + 'Satuan Nilai Tetap Ekuador', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Kroon Estonia', + 'EEK', + 'Kroon Estonia', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Pound Mesir', + 'EGP', + 'Pound Mesir', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Nakfa Eritrea', + 'ERN', + 'Nakfa Eritrea', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'Peseta Spanyol (akun)', + 'ESA', + 'Peseta Spanyol (akun)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'Peseta Spanyol (konvertibel)', + 'ESB', + 'Peseta Spanyol (konvertibel)', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Peseta Spanyol', + 'ESP', + 'Peseta Spanyol', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Birr Etiopia', + 'ETB', + 'Birr Etiopia', ], 'EUR' => [ - 0 => '€', - 1 => 'Euro', + '€', + 'Euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Markka Finlandia', + 'FIM', + 'Markka Finlandia', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Dolar Fiji', + 'FJD', + 'Dolar Fiji', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Pound Kepulauan Falkland', + 'FKP', + 'Pound Kepulauan Falkland', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Franc Prancis', + 'FRF', + 'Franc Prancis', ], 'GBP' => [ - 0 => '£', - 1 => 'Pound Inggris', + '£', + 'Pound Inggris', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'Kupon Larit Georgia', + 'GEK', + 'Kupon Larit Georgia', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Lari Georgia', + 'GEL', + 'Lari Georgia', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Cedi Ghana (1979–2007)', + 'GHC', + 'Cedi Ghana (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Cedi Ghana', + 'GHS', + 'Cedi Ghana', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Pound Gibraltar', + 'GIP', + 'Pound Gibraltar', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Dalasi Gambia', + 'GMD', + 'Dalasi Gambia', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Franc Guinea', + 'GNF', + 'Franc Guinea', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Syli Guinea', + 'GNS', + 'Syli Guinea', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'Ekuele Guinea Ekuatorial', + 'GQE', + 'Ekuele Guinea Ekuatorial', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Drachma Yunani', + 'GRD', + 'Drachma Yunani', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Quetzal Guatemala', + 'GTQ', + 'Quetzal Guatemala', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Escudo Guinea Portugal', + 'GWE', + 'Escudo Guinea Portugal', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'Peso Guinea-Bissau', + 'GWP', + 'Peso Guinea-Bissau', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Dolar Guyana', + 'GYD', + 'Dolar Guyana', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Dolar Hong Kong', + 'HK$', + 'Dolar Hong Kong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Lempira Honduras', + 'HNL', + 'Lempira Honduras', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'Dinar Kroasia', + 'HRD', + 'Dinar Kroasia', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Kuna Kroasia', + 'HRK', + 'Kuna Kroasia', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Gourde Haiti', + 'HTG', + 'Gourde Haiti', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Forint Hungaria', + 'HUF', + 'Forint Hungaria', ], 'IDR' => [ - 0 => 'Rp', - 1 => 'Rupiah Indonesia', + 'Rp', + 'Rupiah Indonesia', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Pound Irlandia', + 'IEP', + 'Pound Irlandia', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Pound Israel', + 'ILP', + 'Pound Israel', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'Shekel Israel', + 'ILR', + 'Shekel Israel', ], 'ILS' => [ - 0 => '₪', - 1 => 'Shekel Baru Israel', + '₪', + 'Shekel Baru Israel', ], 'INR' => [ - 0 => 'Rs', - 1 => 'Rupee India', + 'Rs', + 'Rupee India', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Dinar Irak', + 'IQD', + 'Dinar Irak', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Rial Iran', + 'IRR', + 'Rial Iran', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'Krona Islandia (1918–1981)', + 'ISJ', + 'Krona Islandia (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Krona Islandia', + 'ISK', + 'Krona Islandia', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Lira Italia', + 'ITL', + 'Lira Italia', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Dolar Jamaika', + 'JMD', + 'Dolar Jamaika', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Dinar Yordania', + 'JOD', + 'Dinar Yordania', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Yen Jepang', + 'JP¥', + 'Yen Jepang', ], 'KES' => [ - 0 => 'KES', - 1 => 'Shilling Kenya', + 'KES', + 'Shilling Kenya', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Som Kirgizstan', + 'KGS', + 'Som Kirgizstan', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Riel Kamboja', + 'KHR', + 'Riel Kamboja', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Franc Komoro', + 'KMF', + 'Franc Komoro', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Won Korea Utara', + 'KPW', + 'Won Korea Utara', ], 'KRH' => [ - 0 => 'KRH', - 1 => 'Hwan Korea Selatan (1953–1962)', + 'KRH', + 'Hwan Korea Selatan (1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => 'Won Korea Selatan (1945–1953)', + 'KRO', + 'Won Korea Selatan (1945–1953)', ], 'KRW' => [ - 0 => '₩', - 1 => 'Won Korea Selatan', + '₩', + 'Won Korea Selatan', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Dinar Kuwait', + 'KWD', + 'Dinar Kuwait', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Dolar Kepulauan Cayman', + 'KYD', + 'Dolar Kepulauan Cayman', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Tenge Kazakhstan', + 'KZT', + 'Tenge Kazakhstan', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Kip Laos', + 'LAK', + 'Kip Laos', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Pound Lebanon', + 'LBP', + 'Pound Lebanon', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Rupee Sri Lanka', + 'LKR', + 'Rupee Sri Lanka', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Dolar Liberia', + 'LRD', + 'Dolar Liberia', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Loti Lesotho', + 'LSL', + 'Loti Lesotho', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litas Lituania', + 'LTL', + 'Litas Lituania', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Talonas Lituania', + 'LTT', + 'Talonas Lituania', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'Franc Konvertibel Luksemburg', + 'LUC', + 'Franc Konvertibel Luksemburg', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Franc Luksemburg', + 'LUF', + 'Franc Luksemburg', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'Financial Franc Luksemburg', + 'LUL', + 'Financial Franc Luksemburg', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Lats Latvia', + 'LVL', + 'Lats Latvia', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Rubel Latvia', + 'LVR', + 'Rubel Latvia', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Dinar Libya', + 'LYD', + 'Dinar Libya', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Dirham Maroko', + 'MAD', + 'Dirham Maroko', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Franc Maroko', + 'MAF', + 'Franc Maroko', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'Franc Monegasque', + 'MCF', + 'Franc Monegasque', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'Cupon Moldova', + 'MDC', + 'Cupon Moldova', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Leu Moldova', + 'MDL', + 'Leu Moldova', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Ariary Madagaskar', + 'MGA', + 'Ariary Madagaskar', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Franc Malagasi', + 'MGF', + 'Franc Malagasi', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Denar Makedonia', + 'MKD', + 'Denar Makedonia', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'Denar Makedonia (1992–1993)', + 'MKN', + 'Denar Makedonia (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Franc Mali', + 'MLF', + 'Franc Mali', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Kyat Myanmar', + 'MMK', + 'Kyat Myanmar', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Tugrik Mongolia', + 'MNT', + 'Tugrik Mongolia', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Pataca Makau', + 'MOP', + 'Pataca Makau', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Ouguiya Mauritania (1973–2017)', + 'MRO', + 'Ouguiya Mauritania (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Ouguiya Mauritania', + 'MRU', + 'Ouguiya Mauritania', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Lira Malta', + 'MTL', + 'Lira Malta', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Pound Malta', + 'MTP', + 'Pound Malta', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Rupee Mauritius', + 'MUR', + 'Rupee Mauritius', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'Rufiyaa Maladewa (1947–1981)', + 'MVP', + 'Rufiyaa Maladewa (1947–1981)', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Rufiyaa Maladewa', + 'MVR', + 'Rufiyaa Maladewa', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Kwacha Malawi', + 'MWK', + 'Kwacha Malawi', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Peso Meksiko', + 'MX$', + 'Peso Meksiko', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Peso Silver Meksiko (1861–1992)', + 'MXP', + 'Peso Silver Meksiko (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Unit Investasi Meksiko', + 'MXV', + 'Unit Investasi Meksiko', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Ringgit Malaysia', + 'MYR', + 'Ringgit Malaysia', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Escudo Mozambik', + 'MZE', + 'Escudo Mozambik', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Metical Mozambik (1980–2006)', + 'MZM', + 'Metical Mozambik (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Metical Mozambik', + 'MZN', + 'Metical Mozambik', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Dolar Namibia', + 'NAD', + 'Dolar Namibia', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Naira Nigeria', + 'NGN', + 'Naira Nigeria', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Cordoba Nikaragua (1988–1991)', + 'NIC', + 'Cordoba Nikaragua (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Cordoba Nikaragua', + 'NIO', + 'Cordoba Nikaragua', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Guilder Belanda', + 'NLG', + 'Guilder Belanda', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Krone Norwegia', + 'NOK', + 'Krone Norwegia', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Rupee Nepal', + 'NPR', + 'Rupee Nepal', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Dolar Selandia Baru', + 'NZ$', + 'Dolar Selandia Baru', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Rial Oman', + 'OMR', + 'Rial Oman', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Balboa Panama', + 'PAB', + 'Balboa Panama', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'Inti Peru', + 'PEI', + 'Inti Peru', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Sol Peru', + 'PEN', + 'Sol Peru', ], 'PES' => [ - 0 => 'PES', - 1 => 'Sol Peru (1863–1965)', + 'PES', + 'Sol Peru (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Kina Papua Nugini', + 'PGK', + 'Kina Papua Nugini', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Peso Filipina', + 'PHP', + 'Peso Filipina', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Rupee Pakistan', + 'PKR', + 'Rupee Pakistan', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Zloty Polandia', + 'PLN', + 'Zloty Polandia', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Zloty Polandia (1950–1995)', + 'PLZ', + 'Zloty Polandia (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Escudo Portugal', + 'PTE', + 'Escudo Portugal', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Guarani Paraguay', + 'PYG', + 'Guarani Paraguay', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Rial Qatar', + 'QAR', + 'Rial Qatar', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'Dolar Rhodesia', + 'RHD', + 'Dolar Rhodesia', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Leu Rumania (1952–2006)', + 'ROL', + 'Leu Rumania (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'Leu Rumania', + 'RON', + 'Leu Rumania', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Dinar Serbia', + 'RSD', + 'Dinar Serbia', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Rubel Rusia', + 'RUB', + 'Rubel Rusia', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Rubel Rusia (1991–1998)', + 'RUR', + 'Rubel Rusia (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Franc Rwanda', + 'RWF', + 'Franc Rwanda', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Riyal Arab Saudi', + 'SAR', + 'Riyal Arab Saudi', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Dolar Kepulauan Solomon', + 'SBD', + 'Dolar Kepulauan Solomon', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Rupee Seychelles', + 'SCR', + 'Rupee Seychelles', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Dinar Sudan (1992–2007)', + 'SDD', + 'Dinar Sudan (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Pound Sudan', + 'SDG', + 'Pound Sudan', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Pound Sudan (1957–1998)', + 'SDP', + 'Pound Sudan (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Krona Swedia', + 'SEK', + 'Krona Swedia', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Dolar Singapura', + 'SGD', + 'Dolar Singapura', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Pound Saint Helena', + 'SHP', + 'Pound Saint Helena', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Tolar Slovenia', + 'SIT', + 'Tolar Slovenia', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Koruna Slovakia', + 'SKK', + 'Koruna Slovakia', + ], + 'SLE' => [ + 'SLE', + 'Leone Sierra Leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Leone Sierra Leone', + 'SLL', + 'Leone Sierra Leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Shilling Somalia', + 'SOS', + 'Shilling Somalia', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Dolar Suriname', + 'SRD', + 'Dolar Suriname', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Guilder Suriname', + 'SRG', + 'Guilder Suriname', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Pound Sudan Selatan', + 'SSP', + 'Pound Sudan Selatan', ], 'STD' => [ - 0 => 'STD', - 1 => 'Dobra Sao Tome dan Principe (1977–2017)', + 'STD', + 'Dobra Sao Tome dan Principe (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Dobra Sao Tome dan Principe', + 'STN', + 'Dobra Sao Tome dan Principe', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Rubel Soviet', + 'SUR', + 'Rubel Soviet', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'Colon El Savador', + 'SVC', + 'Colon El Savador', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Pound Suriah', + 'SYP', + 'Pound Suriah', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Lilangeni Swaziland', + 'SZL', + 'Lilangeni Swaziland', ], 'THB' => [ - 0 => '฿', - 1 => 'Baht Thailand', + '฿', + 'Baht Thailand', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Rubel Tajikistan', + 'TJR', + 'Rubel Tajikistan', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Somoni Tajikistan', + 'TJS', + 'Somoni Tajikistan', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Manat Turkmenistan (1993–2009)', + 'TMM', + 'Manat Turkmenistan (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Manat Turkmenistan', + 'TMT', + 'Manat Turkmenistan', ], 'TND' => [ - 0 => 'TND', - 1 => 'Dinar Tunisia', + 'TND', + 'Dinar Tunisia', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Paʻanga Tonga', + 'TOP', + 'Paʻanga Tonga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Escudo Timor', + 'TPE', + 'Escudo Timor', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Lira Turki (1922–2005)', + 'TRL', + 'Lira Turki (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Lira Turki', + 'TRY', + 'Lira Turki', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Dolar Trinidad dan Tobago', + 'TTD', + 'Dolar Trinidad dan Tobago', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Dolar Baru Taiwan', + 'NT$', + 'Dolar Baru Taiwan', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Shilling Tanzania', + 'TZS', + 'Shilling Tanzania', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Hryvnia Ukraina', + 'UAH', + 'Hryvnia Ukraina', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Karbovanet Ukraina', + 'UAK', + 'Karbovanet Ukraina', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'Shilling Uganda (1966–1987)', + 'UGS', + 'Shilling Uganda (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Shilling Uganda', + 'UGX', + 'Shilling Uganda', ], 'USD' => [ - 0 => 'US$', - 1 => 'Dolar Amerika Serikat', + 'US$', + 'Dolar Amerika Serikat', ], 'USN' => [ - 0 => 'USN', - 1 => 'Dolar AS (Hari berikutnya)', + 'USN', + 'Dolar AS (Hari berikutnya)', ], 'USS' => [ - 0 => 'USS', - 1 => 'Dolar AS (Hari yang sama)', + 'USS', + 'Dolar AS (Hari yang sama)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'Peso Uruguay (Unit Diindeks)', + 'UYI', + 'Peso Uruguay (Unit Diindeks)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'Peso Uruguay (1975–1993)', + 'UYP', + 'Peso Uruguay (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Peso Uruguay', + 'UYU', + 'Peso Uruguay', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Som Uzbekistan', + 'UZS', + 'Som Uzbekistan', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Bolivar Venezuela (1871–2008)', + 'VEB', + 'Bolivar Venezuela (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Bolivar Venezuela (2008–2018)', + 'VEF', + 'Bolivar Venezuela (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Bolivar Venezuela', + 'VES', + 'Bolivar Venezuela', ], 'VND' => [ - 0 => '₫', - 1 => 'Dong Vietnam', + '₫', + 'Dong Vietnam', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'Dong Vietnam (1978–1985)', + 'VNN', + 'Dong Vietnam (1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vatu Vanuatu', + 'VUV', + 'Vatu Vanuatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Tala Samoa', + 'WST', + 'Tala Samoa', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Franc CFA Afrika Tengah', + 'FCFA', + 'Franc CFA Afrika Tengah', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Dolar Karibia Timur', + 'EC$', + 'Dolar Karibia Timur', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'Satuan Mata Uang Eropa', + 'XEU', + 'Satuan Mata Uang Eropa', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Franc Gold Perancis', + 'XFO', + 'Franc Gold Perancis', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Franc UIC Perancis', + 'XFU', + 'Franc UIC Perancis', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Franc CFA Afrika Barat', + 'F CFA', + 'Franc CFA Afrika Barat', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'Franc CFP', + 'CFPF', + 'Franc CFP', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'Dana RINET', + 'XRE', + 'Dana RINET', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Dinar Yaman', + 'YDD', + 'Dinar Yaman', ], 'YER' => [ - 0 => 'YER', - 1 => 'Rial Yaman', + 'YER', + 'Rial Yaman', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'Hard Dinar Yugoslavia (1966–1990)', + 'YUD', + 'Hard Dinar Yugoslavia (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Dinar Baru Yugoslavia (1994–2002)', + 'YUM', + 'Dinar Baru Yugoslavia (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'Dinar Konvertibel Yugoslavia (1990–1992)', + 'YUN', + 'Dinar Konvertibel Yugoslavia (1990–1992)', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'Dinar Reformasi Yugoslavia (1992–1993)', + 'YUR', + 'Dinar Reformasi Yugoslavia (1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Rand Afrika Selatan (Keuangan)', + 'ZAL', + 'Rand Afrika Selatan (Keuangan)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Rand Afrika Selatan', + 'ZAR', + 'Rand Afrika Selatan', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Kwacha Zambia (1968–2012)', + 'ZMK', + 'Kwacha Zambia (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Kwacha Zambia', + 'ZMW', + 'Kwacha Zambia', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'Zaire Baru Zaire (1993–1998)', + 'ZRN', + 'Zaire Baru Zaire (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'Zaire Zaire (1971–1993)', + 'ZRZ', + 'Zaire Zaire (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Dolar Zimbabwe (1980–2008)', + 'ZWD', + 'Dolar Zimbabwe (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'Dolar Zimbabwe (2009)', + 'ZWL', + 'Dolar Zimbabwe (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'Dolar Zimbabwe (2008)', + 'ZWR', + 'Dolar Zimbabwe (2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/is.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/is.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/is.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/is.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,904 +3,908 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'Andorrskur peseti', + 'ADP', + 'Andorrskur peseti', ], 'AED' => [ - 0 => 'AED', - 1 => 'arabískt dírham', + 'AED', + 'arabískt dírham', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afgani', + 'AFN', + 'afgani', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'albanskt lek', + 'ALL', + 'albanskt lek', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'armenskt dramm', + 'AMD', + 'armenskt dramm', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'hollenskt Antillugyllini', + 'ANG', + 'hollenskt Antillugyllini', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'angólsk kvansa', + 'AOA', + 'angólsk kvansa', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'Argentine Austral', + 'ARA', + 'Argentine Austral', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'Argentískur pesi (1983–1985)', + 'ARP', + 'Argentískur pesi (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'argentínskur pesi', + 'ARS', + 'argentínskur pesi', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'Austurrískur skildingur', + 'ATS', + 'Austurrískur skildingur', ], 'AUD' => [ - 0 => 'AUD', - 1 => 'ástralskur dalur', + 'AUD', + 'ástralskur dalur', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'arúbönsk flórína', + 'AWG', + 'arúbönsk flórína', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'aserskt manat', + 'AZN', + 'aserskt manat', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'skiptanlegt Bosníu og Hersegóvínu-mark', + 'BAM', + 'skiptanlegt Bosníu og Hersegóvínu-mark', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'barbadoskur dalur', + 'BBD', + 'barbadoskur dalur', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'bangladessk taka', + 'BDT', + 'bangladessk taka', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'Belgískur franki', + 'BEF', + 'Belgískur franki', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'Lef', + 'BGL', + 'Lef', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'búlgarskt lef', + 'BGN', + 'búlgarskt lef', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'bareinskur denari', + 'BHD', + 'bareinskur denari', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'búrúndískur franki', + 'BIF', + 'búrúndískur franki', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Bermúdadalur', + 'BMD', + 'Bermúdadalur', ], 'BND' => [ - 0 => 'BND', - 1 => 'brúneiskur dalur', + 'BND', + 'brúneiskur dalur', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'bólivíani', + 'BOB', + 'bólivíani', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'Bólivískur pesi', + 'BOP', + 'Bólivískur pesi', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'Bolivian Mvdol', + 'BOV', + 'Bolivian Mvdol', ], 'BRL' => [ - 0 => 'BRL', - 1 => 'brasilískt ríal', + 'BRL', + 'brasilískt ríal', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Bahamadalur', + 'BSD', + 'Bahamadalur', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'bútanskt núltrum', + 'BTN', + 'bútanskt núltrum', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'Búrmverskt kjat', + 'BUK', + 'Búrmverskt kjat', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'botsvönsk púla', + 'BWP', + 'botsvönsk púla', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'hvítrússnesk rúbla', + 'BYN', + 'hvítrússnesk rúbla', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'hvítrússnesk rúbla (2000–2016)', + 'BYR', + 'hvítrússnesk rúbla (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'belískur dalur', + 'BZD', + 'belískur dalur', ], 'CAD' => [ - 0 => 'CAD', - 1 => 'Kanadadalur', + 'CAD', + 'Kanadadalur', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'kongóskur franki', + 'CDF', + 'kongóskur franki', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'svissneskur franki', + 'CHF', + 'svissneskur franki', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'Chilean Unidades de Fomento', + 'CLF', + 'Chilean Unidades de Fomento', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'síleskur pesi', + 'CLP', + 'síleskur pesi', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'kínverskt júan (utan heimalands)', + 'CNH', + 'kínverskt júan (utan heimalands)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'kínverskt júan', + 'CN¥', + 'kínverskt júan', ], 'COP' => [ - 0 => 'COP', - 1 => 'kólumbískur pesi', + 'COP', + 'kólumbískur pesi', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'kostarískt kólon', + 'CRC', + 'kostarískt kólon', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'Tékknesk króna, eldri', + 'CSK', + 'Tékknesk króna, eldri', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'kúbverskur skiptanlegur pesi', + 'CUC', + 'kúbverskur skiptanlegur pesi', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'kúbverskur pesi', + 'CUP', + 'kúbverskur pesi', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'grænhöfðeyskur skúti', + 'CVE', + 'grænhöfðeyskur skúti', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'Kýpverskt pund', + 'CYP', + 'Kýpverskt pund', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'tékknesk króna', + 'CZK', + 'tékknesk króna', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'Austurþýskt mark', + 'DDM', + 'Austurþýskt mark', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'Þýskt mark', + 'DEM', + 'Þýskt mark', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'djíbútískur franki', + 'DJF', + 'djíbútískur franki', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'dönsk króna', + 'DKK', + 'dönsk króna', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'dóminískur pesi', + 'DOP', + 'dóminískur pesi', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'alsírskur denari', + 'DZD', + 'alsírskur denari', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'Ecuador Sucre', + 'ECS', + 'Ecuador Sucre', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'Eistnesk króna', + 'EEK', + 'Eistnesk króna', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'egypskt pund', + 'EGP', + 'egypskt pund', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'erítresk nakfa', + 'ERN', + 'erítresk nakfa', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'Spænskur peseti', + 'ESP', + 'Spænskur peseti', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'eþíópískt birr', + 'ETB', + 'eþíópískt birr', ], 'EUR' => [ - 0 => 'EUR', - 1 => 'evra', + 'EUR', + 'evra', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'Finnskt mark', + 'FIM', + 'Finnskt mark', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'fídjískur dalur', + 'FJD', + 'fídjískur dalur', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'falklenskt pund', + 'FKP', + 'falklenskt pund', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'Franskur franki', + 'FRF', + 'Franskur franki', ], 'GBP' => [ - 0 => 'GBP', - 1 => 'sterlingspund', + 'GBP', + 'sterlingspund', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'georgískur lari', + 'GEL', + 'georgískur lari', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'ganverskur sedi', + 'GHS', + 'ganverskur sedi', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Gíbraltarspund', + 'GIP', + 'Gíbraltarspund', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'gambískur dalasi', + 'GMD', + 'gambískur dalasi', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Gíneufranki', + 'GNF', + 'Gíneufranki', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'Drakma', + 'GRD', + 'Drakma', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'gvatemalskt kvesal', + 'GTQ', + 'gvatemalskt kvesal', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'Portúgalskur, gíneskur skúti', + 'GWE', + 'Portúgalskur, gíneskur skúti', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'gvæjanskur dalur', + 'GYD', + 'gvæjanskur dalur', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Hong Kong-dalur', + 'HK$', + 'Hong Kong-dalur', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'hondúrsk lempíra', + 'HNL', + 'hondúrsk lempíra', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'króatísk kúna', + 'HRK', + 'króatísk kúna', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'haítískur gúrdi', + 'HTG', + 'haítískur gúrdi', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'ungversk fórinta', + 'HUF', + 'ungversk fórinta', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'indónesísk rúpía', + 'IDR', + 'indónesísk rúpía', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'Írskt pund', + 'IEP', + 'Írskt pund', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'Ísraelskt pund', + 'ILP', + 'Ísraelskt pund', ], 'ILS' => [ - 0 => '₪', - 1 => 'nýr ísraelskur sikill', + '₪', + 'nýr ísraelskur sikill', ], 'INR' => [ - 0 => 'INR', - 1 => 'indversk rúpía', + 'INR', + 'indversk rúpía', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'írakskur denari', + 'IQD', + 'írakskur denari', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'íranskt ríal', + 'IRR', + 'íranskt ríal', ], 'ISK' => [ - 0 => 'kr.', - 1 => 'íslensk króna', + 'kr.', + 'íslensk króna', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'Ítölsk líra', + 'ITL', + 'Ítölsk líra', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'jamaískur dalur', + 'JMD', + 'jamaískur dalur', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'jórdanskur denari', + 'JOD', + 'jórdanskur denari', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'japanskt jen', + 'JP¥', + 'japanskt jen', ], 'KES' => [ - 0 => 'KES', - 1 => 'kenískur skildingur', + 'KES', + 'kenískur skildingur', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'kirgiskt som', + 'KGS', + 'kirgiskt som', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'kambódískt ríal', + 'KHR', + 'kambódískt ríal', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'kómoreyskur franki', + 'KMF', + 'kómoreyskur franki', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'norðurkóreskt vonn', + 'KPW', + 'norðurkóreskt vonn', ], 'KRW' => [ - 0 => 'KRW', - 1 => 'suðurkóreskt vonn', + 'KRW', + 'suðurkóreskt vonn', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'kúveiskur denari', + 'KWD', + 'kúveiskur denari', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'caymaneyskur dalur', + 'KYD', + 'caymaneyskur dalur', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'kasakst tengi', + 'KZT', + 'kasakst tengi', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'laoskt kip', + 'LAK', + 'laoskt kip', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'líbanskt pund', + 'LBP', + 'líbanskt pund', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'srílönsk rúpía', + 'LKR', + 'srílönsk rúpía', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'líberískur dalur', + 'LRD', + 'líberískur dalur', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'lesótóskur lóti', + 'LSL', + 'lesótóskur lóti', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Litháískt lít', + 'LTL', + 'Litháískt lít', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'Lithuanian Talonas', + 'LTT', + 'Lithuanian Talonas', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'Lúxemborgarfranki', + 'LUF', + 'Lúxemborgarfranki', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Lettneskt lat', + 'LVL', + 'Lettneskt lat', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'Lettnesk rúbla', + 'LVR', + 'Lettnesk rúbla', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'líbískur denari', + 'LYD', + 'líbískur denari', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'marokkóskt dírham', + 'MAD', + 'marokkóskt dírham', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'Marokkóskur franki', + 'MAF', + 'Marokkóskur franki', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'moldavískt lei', + 'MDL', + 'moldavískt lei', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Madagaskararjari', + 'MGA', + 'Madagaskararjari', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'Madagaskur franki', + 'MGF', + 'Madagaskur franki', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'makedónskur denari', + 'MKD', + 'makedónskur denari', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'Malískur franki', + 'MLF', + 'Malískur franki', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'mjanmarskt kjat', + 'MMK', + 'mjanmarskt kjat', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'mongólskur túríkur', + 'MNT', + 'mongólskur túríkur', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'makaósk pataka', + 'MOP', + 'makaósk pataka', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'márítönsk úgía (1973–2017)', + 'MRO', + 'márítönsk úgía (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'márítönsk úgía', + 'MRU', + 'márítönsk úgía', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'Meltnesk líra', + 'MTL', + 'Meltnesk líra', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'Maltneskt pund', + 'MTP', + 'Maltneskt pund', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'máritísk rúpía', + 'MUR', + 'máritísk rúpía', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'maldíveysk rúpía', + 'MVR', + 'maldíveysk rúpía', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'malavísk kvaka', + 'MWK', + 'malavísk kvaka', ], 'MXN' => [ - 0 => 'MXN', - 1 => 'mexíkóskur pesi', + 'MXN', + 'mexíkóskur pesi', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'Mexíkóskur silfurpesi (1861–1992)', + 'MXP', + 'Mexíkóskur silfurpesi (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'Mexíkóskur pesi, UDI', + 'MXV', + 'Mexíkóskur pesi, UDI', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'malasískt ringit', + 'MYR', + 'malasískt ringit', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'Mósambískur skúti', + 'MZE', + 'Mósambískur skúti', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'mósambískt metikal', + 'MZN', + 'mósambískt metikal', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'namibískur dalur', + 'NAD', + 'namibískur dalur', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'nígerísk næra', + 'NGN', + 'nígerísk næra', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'Níkarögsk kordóva (1988–1991)', + 'NIC', + 'Níkarögsk kordóva (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'níkarögsk kordóva', + 'NIO', + 'níkarögsk kordóva', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'Hollenskt gyllini', + 'NLG', + 'Hollenskt gyllini', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'norsk króna', + 'NOK', + 'norsk króna', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'nepölsk rúpía', + 'NPR', + 'nepölsk rúpía', ], 'NZD' => [ - 0 => 'NZD', - 1 => 'nýsjálenskur dalur', + 'NZD', + 'nýsjálenskur dalur', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'ómanskt ríal', + 'OMR', + 'ómanskt ríal', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'balbói', + 'PAB', + 'balbói', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'perúskt sól', + 'PEN', + 'perúskt sól', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'papúsk kína', + 'PGK', + 'papúsk kína', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'filippseyskur pesi', + 'PHP', + 'filippseyskur pesi', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'pakistönsk rúpía', + 'PKR', + 'pakistönsk rúpía', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'pólskt slot', + 'PLN', + 'pólskt slot', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'Slot', + 'PLZ', + 'Slot', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'Portúgalskur skúti', + 'PTE', + 'Portúgalskur skúti', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'paragvæskt gvaraní', + 'PYG', + 'paragvæskt gvaraní', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'katarskt ríal', + 'QAR', + 'katarskt ríal', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'Rúmenskt lei (1952–2006)', + 'ROL', + 'Rúmenskt lei (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'rúmenskt lei', + 'RON', + 'rúmenskt lei', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'serbneskur denari', + 'RSD', + 'serbneskur denari', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'rússnesk rúbla', + 'RUB', + 'rússnesk rúbla', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'Rússnesk rúbla (1991–1998)', + 'RUR', + 'Rússnesk rúbla (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'rúandskur franki', + 'RWF', + 'rúandskur franki', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'sádíarabískt ríal', + 'SAR', + 'sádíarabískt ríal', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'salómonseyskur dalur', + 'SBD', + 'salómonseyskur dalur', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Seychellesrúpía', + 'SCR', + 'Seychellesrúpía', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'Súdanskur denari', + 'SDD', + 'Súdanskur denari', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'súdanskt pund', + 'SDG', + 'súdanskt pund', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'Súdanskt pund (1957–1998)', + 'SDP', + 'Súdanskt pund (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'sænsk króna', + 'SEK', + 'sænsk króna', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'singapúrskur dalur', + 'SGD', + 'singapúrskur dalur', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'helenskt pund', + 'SHP', + 'helenskt pund', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'Slóvenskur dalur', + 'SIT', + 'Slóvenskur dalur', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'Slóvakísk króna', + 'SKK', + 'Slóvakísk króna', + ], + 'SLE' => [ + 'SLE', + 'síerraleónsk ljóna', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'síerraleónsk ljóna', + 'SLL', + 'síerraleónsk ljóna (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'sómalískur skildingur', + 'SOS', + 'sómalískur skildingur', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Súrínamdalur', + 'SRD', + 'Súrínamdalur', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'Suriname Guilder', + 'SRG', + 'Suriname Guilder', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'suðursúdanskt pund', + 'SSP', + 'suðursúdanskt pund', ], 'STD' => [ - 0 => 'STD', - 1 => 'Saó Tóme og Prinsípe-dóbra (1977–2017)', + 'STD', + 'Saó Tóme og Prinsípe-dóbra (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Saó Tóme og Prinsípe-dóbra', + 'STN', + 'Saó Tóme og Prinsípe-dóbra', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'Soviet Rouble', + 'SUR', + 'Soviet Rouble', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'El Salvador Colon', + 'SVC', + 'El Salvador Colon', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'sýrlenskt pund', + 'SYP', + 'sýrlenskt pund', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'svasílenskur lílangeni', + 'SZL', + 'svasílenskur lílangeni', ], 'THB' => [ - 0 => 'THB', - 1 => 'taílenskt bat', + 'THB', + 'taílenskt bat', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'Tadsjiksk rúbla', + 'TJR', + 'Tadsjiksk rúbla', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'tadsjikskur sómóni', + 'TJS', + 'tadsjikskur sómóni', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'Túrkmenskt manat (1993–2009)', + 'TMM', + 'Túrkmenskt manat (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'túrkmenskt manat', + 'TMT', + 'túrkmenskt manat', ], 'TND' => [ - 0 => 'TND', - 1 => 'túniskur denari', + 'TND', + 'túniskur denari', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Tongapanga', + 'TOP', + 'Tongapanga', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'Tímorskur skúti', + 'TPE', + 'Tímorskur skúti', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'Tyrknesk líra (1922–2005)', + 'TRL', + 'Tyrknesk líra (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'tyrknesk líra', + 'TRY', + 'tyrknesk líra', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Trínidad og Tóbagó-dalur', + 'TTD', + 'Trínidad og Tóbagó-dalur', ], 'TWD' => [ - 0 => 'TWD', - 1 => 'taívanskur dalur', + 'TWD', + 'taívanskur dalur', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'tansanískur skildingur', + 'TZS', + 'tansanískur skildingur', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'úkraínsk hrinja', + 'UAH', + 'úkraínsk hrinja', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'Ukrainian Karbovanetz', + 'UAK', + 'Ukrainian Karbovanetz', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'úgandskur skildingur', + 'UGX', + 'úgandskur skildingur', ], 'USD' => [ - 0 => 'USD', - 1 => 'Bandaríkjadalur', + 'USD', + 'Bandaríkjadalur', ], 'USN' => [ - 0 => 'USN', - 1 => 'Bandaríkjadalur (næsta dag)', + 'USN', + 'Bandaríkjadalur (næsta dag)', ], 'USS' => [ - 0 => 'USS', - 1 => 'Bandaríkjadalur (sama dag)', + 'USS', + 'Bandaríkjadalur (sama dag)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'úrúgvæskur pesi', + 'UYU', + 'úrúgvæskur pesi', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'úsbekskt súm', + 'UZS', + 'úsbekskt súm', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'Bolívar í Venesúela (1871–2008)', + 'VEB', + 'Bolívar í Venesúela (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'venesúelskur bólívari (2008–2018)', + 'VEF', + 'venesúelskur bólívari (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'venesúelskur bólívari', + 'VES', + 'venesúelskur bólívari', ], 'VND' => [ - 0 => 'VND', - 1 => 'víetnamskt dong', + 'VND', + 'víetnamskt dong', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vanúatúskt vatú', + 'VUV', + 'vanúatúskt vatú', ], 'WST' => [ - 0 => 'WST', - 1 => 'Samóatala', + 'WST', + 'Samóatala', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'miðafrískur franki', + 'FCFA', + 'miðafrískur franki', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'austurkarabískur dalur', + 'EC$', + 'austurkarabískur dalur', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'Franskur gullfranki', + 'XFO', + 'Franskur gullfranki', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'Franskur franki, UIC', + 'XFU', + 'Franskur franki, UIC', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'vesturafrískur franki', + 'F CFA', + 'vesturafrískur franki', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'pólinesískur franki', + 'CFPF', + 'pólinesískur franki', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'Jemenskur denari', + 'YDD', + 'Jemenskur denari', ], 'YER' => [ - 0 => 'YER', - 1 => 'jemenskt ríal', + 'YER', + 'jemenskt ríal', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'Júgóslavneskur denari', + 'YUM', + 'Júgóslavneskur denari', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'Rand (viðskipta)', + 'ZAL', + 'Rand (viðskipta)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'suðurafrískt rand', + 'ZAR', + 'suðurafrískt rand', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Zambian Kwacha (1968–2012)', + 'ZMK', + 'Zambian Kwacha (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'sambísk kvaka', + 'ZMW', + 'sambísk kvaka', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Simbabveskur dalur', + 'ZWD', + 'Simbabveskur dalur', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/it.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/it.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/it.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/it.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1056 +3,1060 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'peseta andorrana', + 'ADP', + 'peseta andorrana', ], 'AED' => [ - 0 => 'AED', - 1 => 'dirham degli Emirati Arabi Uniti', + 'AED', + 'dirham degli Emirati Arabi Uniti', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'afgani (1927–2002)', + 'AFA', + 'afgani (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'afghani', + 'AFN', + 'afghani', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'lek albanese', + 'ALL', + 'lek albanese', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'dram armeno', + 'AMD', + 'dram armeno', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'fiorino delle Antille olandesi', + 'ANG', + 'fiorino delle Antille olandesi', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'kwanza angolano', + 'AOA', + 'kwanza angolano', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'kwanza angolano (1977–1990)', + 'AOK', + 'kwanza angolano (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'nuovo kwanza angolano (1990–2000)', + 'AON', + 'nuovo kwanza angolano (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'kwanza reajustado angolano (1995–1999)', + 'AOR', + 'kwanza reajustado angolano (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'austral argentino', + 'ARA', + 'austral argentino', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'peso argentino (vecchio Cod.)', + 'ARP', + 'peso argentino (vecchio Cod.)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'peso argentino', + 'ARS', + 'peso argentino', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'scellino austriaco', + 'ATS', + 'scellino austriaco', ], 'AUD' => [ - 0 => 'A$', - 1 => 'dollaro australiano', + 'A$', + 'dollaro australiano', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'fiorino di Aruba', + 'AWG', + 'fiorino di Aruba', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'manat azero (1993–2006)', + 'AZM', + 'manat azero (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'manat azero', + 'AZN', + 'manat azero', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'dinar Bosnia-Herzegovina', + 'BAD', + 'dinar Bosnia-Herzegovina', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'marco convertibile della Bosnia-Herzegovina', + 'BAM', + 'marco convertibile della Bosnia-Herzegovina', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'dollaro di Barbados', + 'BBD', + 'dollaro di Barbados', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'taka bangladese', + 'BDT', + 'taka bangladese', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'franco belga (convertibile)', + 'BEC', + 'franco belga (convertibile)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'franco belga', + 'BEF', + 'franco belga', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'franco belga (finanziario)', + 'BEL', + 'franco belga (finanziario)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'lev bulgaro (1962–1999)', + 'BGL', + 'lev bulgaro (1962–1999)', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'lev bulgaro', + 'BGN', + 'lev bulgaro', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'dinaro del Bahrein', + 'BHD', + 'dinaro del Bahrein', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'franco del Burundi', + 'BIF', + 'franco del Burundi', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'dollaro delle Bermuda', + 'BMD', + 'dollaro delle Bermuda', ], 'BND' => [ - 0 => 'BND', - 1 => 'dollaro del Brunei', + 'BND', + 'dollaro del Brunei', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'boliviano', + 'BOB', + 'boliviano', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'peso boliviano', + 'BOP', + 'peso boliviano', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'mvdol boliviano', + 'BOV', + 'mvdol boliviano', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'cruzeiro novo brasiliano (1967–1986)', + 'BRB', + 'cruzeiro novo brasiliano (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'cruzado brasiliano', + 'BRC', + 'cruzado brasiliano', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'cruzeiro brasiliano (1990–1993)', + 'BRE', + 'cruzeiro brasiliano (1990–1993)', ], 'BRL' => [ - 0 => 'BRL', - 1 => 'real brasiliano', + 'BRL', + 'real brasiliano', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'cruzado novo brasiliano', + 'BRN', + 'cruzado novo brasiliano', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'cruzeiro brasiliano', + 'BRR', + 'cruzeiro brasiliano', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'dollaro delle Bahamas', + 'BSD', + 'dollaro delle Bahamas', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ngultrum bhutanese', + 'BTN', + 'ngultrum bhutanese', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'kyat birmano', + 'BUK', + 'kyat birmano', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'pula del Botswana', + 'BWP', + 'pula del Botswana', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'nuovo rublo bielorusso (1994–1999)', + 'BYB', + 'nuovo rublo bielorusso (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'rublo bielorusso', + 'BYN', + 'rublo bielorusso', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'rublo bielorusso (2000–2016)', + 'BYR', + 'rublo bielorusso (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'dollaro del Belize', + 'BZD', + 'dollaro del Belize', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'dollaro canadese', + 'CA$', + 'dollaro canadese', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'franco congolese', + 'CDF', + 'franco congolese', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'franco svizzero', + 'CHF', + 'franco svizzero', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'unidades de fomento chilene', + 'CLF', + 'unidades de fomento chilene', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'peso cileno', + 'CLP', + 'peso cileno', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'renmimbi cinese offshore', + 'CNH', + 'renmimbi cinese offshore', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'renminbi cinese', + 'CN¥', + 'yuan cinese', ], 'COP' => [ - 0 => 'COP', - 1 => 'peso colombiano', + 'COP', + 'peso colombiano', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'colón costaricano', + 'CRC', + 'colón costaricano', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'antico dinaro serbo', + 'CSD', + 'antico dinaro serbo', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'corona forte cecoslovacca', + 'CSK', + 'corona forte cecoslovacca', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'peso cubano convertibile', + 'CUC', + 'peso cubano convertibile', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'peso cubano', + 'CUP', + 'peso cubano', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'escudo capoverdiano', + 'CVE', + 'escudo capoverdiano', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'sterlina cipriota', + 'CYP', + 'sterlina cipriota', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'corona ceca', + 'CZK', + 'corona ceca', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'ostmark della Germania Orientale', + 'DDM', + 'ostmark della Germania Orientale', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'marco tedesco', + 'DEM', + 'marco tedesco', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'franco di Gibuti', + 'DJF', + 'franco di Gibuti', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'corona danese', + 'DKK', + 'corona danese', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'peso dominicano', + 'DOP', + 'peso dominicano', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'dinaro algerino', + 'DZD', + 'dinaro algerino', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'sucre dell’Ecuador', + 'ECS', + 'sucre dell’Ecuador', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'unidad de valor constante (UVC) dell’Ecuador', + 'ECV', + 'unidad de valor constante (UVC) dell’Ecuador', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'corona dell’Estonia', + 'EEK', + 'corona dell’Estonia', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'sterlina egiziana', + 'EGP', + 'sterlina egiziana', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'nakfa eritreo', + 'ERN', + 'nakfa eritreo', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'peseta spagnola account', + 'ESA', + 'peseta spagnola account', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'peseta spagnola account convertibile', + 'ESB', + 'peseta spagnola account convertibile', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'peseta spagnola', + 'ESP', + 'peseta spagnola', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'birr etiope', + 'ETB', + 'birr etiope', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'markka finlandese', + 'FIM', + 'markka finlandese', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'dollaro delle Figi', + 'FJD', + 'dollaro delle Figi', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'sterlina delle Falkland', + 'FKP', + 'sterlina delle Falkland', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'franco francese', + 'FRF', + 'franco francese', ], 'GBP' => [ - 0 => '£', - 1 => 'sterlina britannica', + '£', + 'sterlina britannica', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'kupon larit georgiano', + 'GEK', + 'kupon larit georgiano', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'lari georgiano', + 'GEL', + 'lari georgiano', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'cedi del Ghana', + 'GHC', + 'cedi del Ghana', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'cedi ghanese', + 'GHS', + 'cedi ghanese', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'sterlina di Gibilterra', + 'GIP', + 'sterlina di Gibilterra', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'dalasi gambiano', + 'GMD', + 'dalasi gambiano', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'franco della Guinea', + 'GNF', + 'franco della Guinea', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'syli della Guinea', + 'GNS', + 'syli della Guinea', ], 'GQE' => [ - 0 => 'GQE', - 1 => 'ekwele della Guinea Equatoriale', + 'GQE', + 'ekwele della Guinea Equatoriale', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'dracma greca', + 'GRD', + 'dracma greca', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'quetzal guatemalteco', + 'GTQ', + 'quetzal guatemalteco', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'escudo della Guinea portoghese', + 'GWE', + 'escudo della Guinea portoghese', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'peso della Guinea-Bissau', + 'GWP', + 'peso della Guinea-Bissau', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'dollaro della Guyana', + 'GYD', + 'dollaro della Guyana', ], 'HKD' => [ - 0 => 'HKD', - 1 => 'dollaro di Hong Kong', + 'HKD', + 'dollaro di Hong Kong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'lempira honduregna', + 'HNL', + 'lempira honduregna', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'dinaro croato', + 'HRD', + 'dinaro croato', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'kuna croata', + 'HRK', + 'kuna croata', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'gourde haitiano', + 'HTG', + 'gourde haitiano', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'fiorino ungherese', + 'HUF', + 'fiorino ungherese', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'rupia indonesiana', + 'IDR', + 'rupia indonesiana', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'sterlina irlandese', + 'IEP', + 'sterlina irlandese', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'sterlina israeliana', + 'ILP', + 'sterlina israeliana', ], 'ILS' => [ - 0 => '₪', - 1 => 'nuovo siclo israeliano', + '₪', + 'nuovo siclo israeliano', ], 'INR' => [ - 0 => 'INR', - 1 => 'rupia indiana', + 'INR', + 'rupia indiana', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'dinaro iracheno', + 'IQD', + 'dinaro iracheno', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'rial iraniano', + 'IRR', + 'rial iraniano', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'corona islandese', + 'ISK', + 'corona islandese', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'lira italiana', + 'ITL', + 'lira italiana', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'dollaro giamaicano', + 'JMD', + 'dollaro giamaicano', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'dinaro giordano', + 'JOD', + 'dinaro giordano', ], 'JPY' => [ - 0 => 'JPY', - 1 => 'yen giapponese', + 'JPY', + 'yen giapponese', ], 'KES' => [ - 0 => 'KES', - 1 => 'scellino keniota', + 'KES', + 'scellino keniota', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'som kirghiso', + 'KGS', + 'som kirghiso', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'riel cambogiano', + 'KHR', + 'riel cambogiano', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'franco comoriano', + 'KMF', + 'franco comoriano', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'won nordcoreano', + 'KPW', + 'won nordcoreano', ], 'KRW' => [ - 0 => 'KRW', - 1 => 'won sudcoreano', + 'KRW', + 'won sudcoreano', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'dinaro kuwaitiano', + 'KWD', + 'dinaro kuwaitiano', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'dollaro delle Isole Cayman', + 'KYD', + 'dollaro delle Isole Cayman', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'tenge kazako', + 'KZT', + 'tenge kazako', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'kip laotiano', + 'LAK', + 'kip laotiano', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'lira libanese', + 'LBP', + 'lira libanese', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'rupia di Sri Lanka', + 'LKR', + 'rupia di Sri Lanka', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'dollaro liberiano', + 'LRD', + 'dollaro liberiano', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'loti del Lesotho', + 'LSL', + 'loti del Lesotho', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'litas lituano', + 'LTL', + 'litas lituano', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'talonas lituani', + 'LTT', + 'talonas lituani', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'franco convertibile del Lussemburgo', + 'LUC', + 'franco convertibile del Lussemburgo', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'franco del Lussemburgo', + 'LUF', + 'franco del Lussemburgo', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'franco finanziario del Lussemburgo', + 'LUL', + 'franco finanziario del Lussemburgo', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'lats lettone', + 'LVL', + 'lats lettone', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'rublo lettone', + 'LVR', + 'rublo lettone', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'dinaro libico', + 'LYD', + 'dinaro libico', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'dirham marocchino', + 'MAD', + 'dirham marocchino', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'franco marocchino', + 'MAF', + 'franco marocchino', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'leu moldavo', + 'MDL', + 'leu moldavo', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'ariary malgascio', + 'MGA', + 'ariary malgascio', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'franco malgascio', + 'MGF', + 'franco malgascio', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'dinaro macedone', + 'MKD', + 'dinaro macedone', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'dinaro macedone (1992–1993)', + 'MKN', + 'dinaro macedone (1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'franco di Mali', + 'MLF', + 'franco di Mali', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'kyat di Myanmar', + 'MMK', + 'kyat di Myanmar', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'tugrik mongolo', + 'MNT', + 'tugrik mongolo', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'pataca di Macao', + 'MOP', + 'pataca di Macao', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'ouguiya della Mauritania (1973–2017)', + 'MRO', + 'ouguiya della Mauritania (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'ouguiya della Mauritania', + 'MRU', + 'ouguiya della Mauritania', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'lira maltese', + 'MTL', + 'lira maltese', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'sterlina maltese', + 'MTP', + 'sterlina maltese', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'rupia mauriziana', + 'MUR', + 'rupia mauriziana', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'rufiyaa delle Maldive', + 'MVR', + 'rufiyaa delle Maldive', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'kwacha malawiano', + 'MWK', + 'kwacha malawiano', ], 'MXN' => [ - 0 => 'MXN', - 1 => 'peso messicano', + 'MXN', + 'peso messicano', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'peso messicano d’argento (1861–1992)', + 'MXP', + 'peso messicano d’argento (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'unidad de inversion (UDI) messicana', + 'MXV', + 'unidad de inversion (UDI) messicana', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'ringgit malese', + 'MYR', + 'ringgit malese', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'escudo del Mozambico', + 'MZE', + 'escudo del Mozambico', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'metical mozambicano', + 'MZN', + 'metical mozambicano', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'dollaro namibiano', + 'NAD', + 'dollaro namibiano', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'naira nigeriana', + 'NGN', + 'naira nigeriana', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'cordoba nicaraguense', + 'NIC', + 'cordoba nicaraguense', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'córdoba nicaraguense', + 'NIO', + 'córdoba nicaraguense', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'fiorino olandese', + 'NLG', + 'fiorino olandese', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'corona norvegese', + 'NOK', + 'corona norvegese', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'rupia nepalese', + 'NPR', + 'rupia nepalese', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'dollaro neozelandese', + 'NZ$', + 'dollaro neozelandese', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'rial omanita', + 'OMR', + 'rial omanita', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'balboa panamense', + 'PAB', + 'balboa panamense', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'inti peruviano', + 'PEI', + 'inti peruviano', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'sol peruviano', + 'PEN', + 'sol peruviano', ], 'PES' => [ - 0 => 'PES', - 1 => 'sol peruviano (1863–1965)', + 'PES', + 'sol peruviano (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'kina papuana', + 'PGK', + 'kina papuana', ], 'PHP' => [ - 0 => '₱', - 1 => 'peso filippino', + '₱', + 'peso filippino', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'rupia pakistana', + 'PKR', + 'rupia pakistana', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'zloty polacco', + 'PLN', + 'zloty polacco', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'złoty Polacco (1950–1995)', + 'PLZ', + 'złoty Polacco (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'escudo portoghese', + 'PTE', + 'escudo portoghese', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'guaraní paraguayano', + 'PYG', + 'guaraní paraguayano', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'rial qatariano', + 'QAR', + 'rial qatariano', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'dollaro della Rhodesia', + 'RHD', + 'dollaro della Rhodesia', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'leu della Romania', + 'ROL', + 'leu della Romania', ], 'RON' => [ - 0 => 'RON', - 1 => 'leu rumeno', + 'RON', + 'leu rumeno', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'dinaro serbo', + 'RSD', + 'dinaro serbo', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'rublo russo', + 'RUB', + 'rublo russo', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'rublo della CSI', + 'RUR', + 'rublo della CSI', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'franco ruandese', + 'RWF', + 'franco ruandese', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'riyal saudita', + 'SAR', + 'riyal saudita', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'dollaro delle Isole Salomone', + 'SBD', + 'dollaro delle Isole Salomone', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'rupia delle Seychelles', + 'SCR', + 'rupia delle Seychelles', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'dinaro sudanese', + 'SDD', + 'dinaro sudanese', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'sterlina sudanese', + 'SDG', + 'sterlina sudanese', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'corona svedese', + 'SEK', + 'corona svedese', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'dollaro di Singapore', + 'SGD', + 'dollaro di Singapore', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'sterlina di Sant’Elena', + 'SHP', + 'sterlina di Sant’Elena', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'tallero sloveno', + 'SIT', + 'tallero sloveno', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'corona slovacca', + 'SKK', + 'corona slovacca', + ], + 'SLE' => [ + 'SLE', + 'leone della Sierra Leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'leone della Sierra Leone', + 'SLL', + 'leone della Sierra Leone (1964–2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'scellino somalo', + 'SOS', + 'scellino somalo', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'dollaro del Suriname', + 'SRD', + 'dollaro del Suriname', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'fiorino del Suriname', + 'SRG', + 'fiorino del Suriname', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'sterlina sud-sudanese', + 'SSP', + 'sterlina sud-sudanese', ], 'STD' => [ - 0 => 'STD', - 1 => 'dobra di Sao Tomé e Principe (1977–2017)', + 'STD', + 'dobra di Sao Tomé e Principe (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'dobra di Sao Tomé e Príncipe', + 'STN', + 'dobra di Sao Tomé e Príncipe', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'rublo sovietico', + 'SUR', + 'rublo sovietico', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'colón salvadoregno', + 'SVC', + 'colón salvadoregno', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'lira siriana', + 'SYP', + 'lira siriana', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'lilangeni dello Swaziland', + 'SZL', + 'lilangeni', ], 'THB' => [ - 0 => '฿', - 1 => 'baht thailandese', + '฿', + 'baht thailandese', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'rublo del Tajikistan', + 'TJR', + 'rublo del Tajikistan', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'somoni tagiko', + 'TJS', + 'somoni tagiko', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'manat turkmeno (1993–2009)', + 'TMM', + 'manat turkmeno (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'manat turkmeno', + 'TMT', + 'manat turkmeno', ], 'TND' => [ - 0 => 'TND', - 1 => 'dinaro tunisino', + 'TND', + 'dinaro tunisino', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'paʻanga tongano', + 'TOP', + 'paʻanga tongano', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'escudo di Timor', + 'TPE', + 'escudo di Timor', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'lira turca (1922–2005)', + 'TRL', + 'lira turca (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'lira turca', + 'TRY', + 'lira turca', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'dollaro di Trinidad e Tobago', + 'TTD', + 'dollaro di Trinidad e Tobago', ], 'TWD' => [ - 0 => 'TWD', - 1 => 'nuovo dollaro taiwanese', + 'TWD', + 'nuovo dollaro taiwanese', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'scellino della Tanzania', + 'TZS', + 'scellino della Tanzania', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'grivnia ucraina', + 'UAH', + 'grivnia ucraina', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'karbovanetz ucraino', + 'UAK', + 'karbovanetz ucraino', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'scellino ugandese (1966–1987)', + 'UGS', + 'scellino ugandese (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'scellino ugandese', + 'UGX', + 'scellino ugandese', ], 'USD' => [ - 0 => 'USD', - 1 => 'dollaro statunitense', + 'USD', + 'dollaro statunitense', ], 'USN' => [ - 0 => 'USN', - 1 => 'dollaro statunitense (next day)', + 'USN', + 'dollaro statunitense (next day)', ], 'USS' => [ - 0 => 'USS', - 1 => 'dollaro statunitense (same day)', + 'USS', + 'dollaro statunitense (same day)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'peso uruguaiano in unità indicizzate', + 'UYI', + 'peso uruguaiano in unità indicizzate', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'peso uruguaiano (1975–1993)', + 'UYP', + 'peso uruguaiano (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'peso uruguayano', + 'UYU', + 'peso uruguayano', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'sum uzbeco', + 'UZS', + 'sum uzbeco', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'bolivar venezuelano (1871–2008)', + 'VEB', + 'bolivar venezuelano (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'bolívar venezuelano (2008–2018)', + 'VEF', + 'bolívar venezuelano (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'bolívar venezuelano', + 'VES', + 'bolívar venezuelano', ], 'VND' => [ - 0 => 'VND', - 1 => 'dong vietnamita', + 'VND', + 'dong vietnamita', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'vatu di Vanuatu', + 'VUV', + 'vatu di Vanuatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'tala samoano', + 'WST', + 'tala samoano', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'franco CFA BEAC', + 'FCFA', + 'franco CFA BEAC', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'dollaro dei Caraibi orientali', + 'EC$', + 'dollaro dei Caraibi orientali', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'franco oro francese', + 'XFO', + 'franco oro francese', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'franco UIC francese', + 'XFU', + 'franco UIC francese', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'franco CFA BCEAO', + 'F CFA', + 'franco CFA BCEAO', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'franco CFP', + 'CFPF', + 'franco CFP', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'fondi RINET', + 'XRE', + 'fondi RINET', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'dinaro dello Yemen', + 'YDD', + 'dinaro dello Yemen', ], 'YER' => [ - 0 => 'YER', - 1 => 'riyal yemenita', + 'YER', + 'riyal yemenita', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'dinaro forte yugoslavo', + 'YUD', + 'dinaro forte yugoslavo', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'dinaro noviy yugoslavo', + 'YUM', + 'dinaro noviy yugoslavo', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'dinaro convertibile yugoslavo', + 'YUN', + 'dinaro convertibile yugoslavo', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'rand sudafricano (finanziario)', + 'ZAL', + 'rand sudafricano (finanziario)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'rand sudafricano', + 'ZAR', + 'rand sudafricano', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'kwacha dello Zambia (1968–2012)', + 'ZMK', + 'kwacha dello Zambia (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'kwacha zambiano', + 'ZMW', + 'kwacha zambiano', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'nuovo zaire dello Zaire', + 'ZRN', + 'nuovo zaire dello Zaire', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'zaire dello Zaire', + 'ZRZ', + 'zaire dello Zaire', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'dollaro dello Zimbabwe', + 'ZWD', + 'dollaro dello Zimbabwe', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'dollaro zimbabwiano (2009)', + 'ZWL', + 'dollaro zimbabwiano (2009)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/iw.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/iw.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/iw.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/iw.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,892 +3,896 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'פזטה אנדורית', + 'ADP', + 'פזטה אנדורית', ], 'AED' => [ - 0 => 'AED', - 1 => 'דירהם של איחוד הנסיכויות הערביות', + 'AED', + 'דירהם של איחוד הנסיכויות הערביות', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'אפגני אפגני', + 'AFN', + 'אפגני אפגני', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'לק אלבני', + 'ALL', + 'לק אלבני', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'דראם ארמני', + 'AMD', + 'דראם ארמני', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'גילדר של האנטילים ההולנדיים', + 'ANG', + 'גילדר של האנטילים ההולנדיים', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'קואנזה אנגולי', + 'AOA', + 'קואנזה אנגולי', ], 'AON' => [ - 0 => 'AON', - 1 => 'קואנזה חדש אנגולי (1990–2000)', + 'AON', + 'קואנזה חדש אנגולי (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'קואנזה רג׳וסטדו אנגולי (1995–1999)', + 'AOR', + 'קואנזה רג׳וסטדו אנגולי (1995–1999)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'פזו ארגנטינאי (1983–1985)', + 'ARP', + 'פזו ארגנטינאי (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'פסו ארגנטינאי', + 'ARS', + 'פסו ארגנטינאי', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'שילינג אוסטרי', + 'ATS', + 'שילינג אוסטרי', ], 'AUD' => [ - 0 => 'A$', - 1 => 'דולר אוסטרלי', + 'A$', + 'דולר אוסטרלי', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'פלורין של ארובה', + 'AWG', + 'פלורין של ארובה', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'מנאט אזרביג׳אני (1993–2006)', + 'AZM', + 'מנאט אזרביג׳אני (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'מאנאט אזרבייג׳ני', + 'AZN', + 'מאנאט אזרבייג׳ני', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'דינר של בוסניה־הרצגובינה', + 'BAD', + 'דינר של בוסניה־הרצגובינה', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'מארק סחיר של בוסניה והרצגובינה', + 'BAM', + 'מארק סחיר של בוסניה והרצגובינה', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'דולר ברבדיאני', + 'BBD', + 'דולר ברבדיאני', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'טאקה בנגלדשי', + 'BDT', + 'טאקה בנגלדשי', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'פרנק בלגי (בר המרה)', + 'BEC', + 'פרנק בלגי (בר המרה)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'פרנק בלגי', + 'BEF', + 'פרנק בלגי', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'לב בולגרי ישן', + 'BGL', + 'לב בולגרי ישן', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'לב בולגרי', + 'BGN', + 'לב בולגרי', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'דינר בחרייני', + 'BHD', + 'דינר בחרייני', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'פרנק בורונדי', + 'BIF', + 'פרנק בורונדי', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'דולר ברמודה', + 'BMD', + 'דולר ברמודה', ], 'BND' => [ - 0 => 'BND', - 1 => 'דולר ברוניי', + 'BND', + 'דולר ברוניי', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'בוליביאנו', + 'BOB', + 'בוליביאנו', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'פזו בוליבי', + 'BOP', + 'פזו בוליבי', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'קרוזיארו חדש ברזילאי (1967–1986)', + 'BRB', + 'קרוזיארו חדש ברזילאי (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'קרוזדו ברזילאי', + 'BRC', + 'קרוזדו ברזילאי', ], 'BRL' => [ - 0 => 'R$', - 1 => 'ריאל ברזילאי', + 'R$', + 'ריאל ברזילאי', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'דולר בהאמי', + 'BSD', + 'דולר בהאמי', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'נגולטרום בהוטני', + 'BTN', + 'נגולטרום בהוטני', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'פולה בוטסואני', + 'BWP', + 'פולה בוטסואני', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'רובל בלרוסי', + 'BYN', + 'רובל בלרוסי', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'רובל בלרוסי (2000–2016)', + 'BYR', + 'רובל בלרוסי (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'דולר בליזי', + 'BZD', + 'דולר בליזי', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'דולר קנדי', + 'CA$', + 'דולר קנדי', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'פרנק קונגולזי', + 'CDF', + 'פרנק קונגולזי', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'פרנק שוויצרי', + 'CHF', + 'פרנק שוויצרי', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'פסו צ׳ילאני', + 'CLP', + 'פסו צ׳ילאני', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'יואן סיני (CNH)', + 'CNH', + 'יואן סיני (CNH)', ], 'CNY' => [ - 0 => '‎CN¥‎', - 1 => 'יואן סיני', + '‎CN¥‎', + 'יואן סיני', ], 'COP' => [ - 0 => 'COP', - 1 => 'פסו קולומביאני', + 'COP', + 'פסו קולומביאני', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'קולון קוסטה־ריקני', + 'CRC', + 'קולון קוסטה־ריקני', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'דינר סרבי ישן', + 'CSD', + 'דינר סרבי ישן', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'פסו קובני להמרה', + 'CUC', + 'פסו קובני להמרה', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'פסו קובני', + 'CUP', + 'פסו קובני', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'אסקודו כף ורדה', + 'CVE', + 'אסקודו כף ורדה', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'לירה קפריסאית', + 'CYP', + 'לירה קפריסאית', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'קורונה צ׳כית', + 'CZK', + 'קורונה צ׳כית', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'מרק מזרח גרמני', + 'DDM', + 'מרק מזרח גרמני', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'מרק גרמני', + 'DEM', + 'מרק גרמני', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'פרנק ג׳יבוטי', + 'DJF', + 'פרנק ג׳יבוטי', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'כתר דני', + 'DKK', + 'כתר דני', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'פסו דומיניקני', + 'DOP', + 'פסו דומיניקני', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'דינר אלג׳ירי', + 'DZD', + 'דינר אלג׳ירי', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'סוקר אקואדורי', + 'ECS', + 'סוקר אקואדורי', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'קרון אסטוני', + 'EEK', + 'קרון אסטוני', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'לירה מצרית', + 'EGP', + 'לירה מצרית', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'נאקפה אריתראי', + 'ERN', + 'נאקפה אריתראי', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'פסטה ספרדי', + 'ESP', + 'פסטה ספרדי', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'ביר אתיופי', + 'ETB', + 'ביר אתיופי', ], 'EUR' => [ - 0 => '€', - 1 => 'אירו', + '€', + 'אירו', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'מרק פיני', + 'FIM', + 'מרק פיני', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'דולר פיג׳י', + 'FJD', + 'דולר פיג׳י', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'לירה של איי פוקלנד', + 'FKP', + 'לירה של איי פוקלנד', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'פרנק צרפתי', + 'FRF', + 'פרנק צרפתי', ], 'GBP' => [ - 0 => '£', - 1 => 'לירה שטרלינג', + '£', + 'לירה שטרלינג', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'לארי גאורגי', + 'GEL', + 'לארי גאורגי', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'סדי גאני', + 'GHS', + 'סדי גאני', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'פאונד גיברלטר', + 'GIP', + 'פאונד גיברלטר', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'דלסי גמבי', + 'GMD', + 'דלסי גמבי', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'פרנק גינאי', + 'GNF', + 'פרנק גינאי', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'דרכמה', + 'GRD', + 'דרכמה', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'קצאל גואטמלי', + 'GTQ', + 'קצאל גואטמלי', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'פזו גינאי', + 'GWP', + 'פזו גינאי', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'דולר גיאני', + 'GYD', + 'דולר גיאני', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'דולר הונג קונגי', + 'HK$', + 'דולר הונג קונגי', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'למפירה הונדורי', + 'HNL', + 'למפירה הונדורי', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'קונה קרואטי', + 'HRK', + 'קונה קרואטי', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'גורד האיטי', + 'HTG', + 'גורד האיטי', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'פורינט הונגרי', + 'HUF', + 'פורינט הונגרי', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'רופיה אינדונזית', + 'IDR', + 'רופיה אינדונזית', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'לירה אירית', + 'IEP', + 'לירה אירית', ], 'ILP' => [ - 0 => 'ל״י', - 1 => 'לירה ישראלית', + 'ל״י', + 'לירה ישראלית', ], 'ILS' => [ - 0 => '₪', - 1 => 'שקל חדש', + '₪', + 'שקל חדש', ], 'INR' => [ - 0 => '₹', - 1 => 'רופי הודי', + '₹', + 'רופי הודי', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'דינר עיראקי', + 'IQD', + 'דינר עיראקי', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'ריאל איראני', + 'IRR', + 'ריאל איראני', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'כתר איסלנדי', + 'ISK', + 'כתר איסלנדי', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'לירה איטלקית', + 'ITL', + 'לירה איטלקית', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'דולר ג׳מייקני', + 'JMD', + 'דולר ג׳מייקני', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'דינר ירדני', + 'JOD', + 'דינר ירדני', ], 'JPY' => [ - 0 => '¥', - 1 => 'ין יפני', + '¥', + 'ין יפני', ], 'KES' => [ - 0 => 'KES', - 1 => 'שילינג קנייתי', + 'KES', + 'שילינג קנייתי', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'סום קירגיזי', + 'KGS', + 'סום קירגיזי', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'ריל קמבודי', + 'KHR', + 'ריל קמבודי', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'פרנק קומורואי', + 'KMF', + 'פרנק קומורואי', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'וון צפון קוריאני', + 'KPW', + 'וון צפון קוריאני', ], 'KRW' => [ - 0 => '₩', - 1 => 'וון דרום קוריאני', + '₩', + 'וון דרום קוריאני', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'דינר כוויתי', + 'KWD', + 'דינר כוויתי', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'דולר קיימני', + 'KYD', + 'דולר קיימני', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'טנגה קזחסטני', + 'KZT', + 'טנגה קזחסטני', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'קיפ לאי', + 'LAK', + 'קיפ לאי', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'לירה לבנונית', + 'LBP', + 'לירה לבנונית', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'רופי סרי לנקי', + 'LKR', + 'רופי סרי לנקי', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'דולר ליברי', + 'LRD', + 'דולר ליברי', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'לוטי לסותי', + 'LSL', + 'לוטי לסותי', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'ליטא ליטאי', + 'LTL', + 'ליטא ליטאי', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'פרנק לוקסמבורגי', + 'LUF', + 'פרנק לוקסמבורגי', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'לט לטבי', + 'LVL', + 'לט לטבי', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'דינר לובי', + 'LYD', + 'דינר לובי', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'דירהם מרוקאי', + 'MAD', + 'דירהם מרוקאי', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'פרנק מרוקאי', + 'MAF', + 'פרנק מרוקאי', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'לאו מולדובני', + 'MDL', + 'לאו מולדובני', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'אריארי מלגשי', + 'MGA', + 'אריארי מלגשי', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'פרנק מדגסקארי', + 'MGF', + 'פרנק מדגסקארי', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'דינר מקדוני', + 'MKD', + 'דינר מקדוני', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'קיאט מיאנמרי', + 'MMK', + 'קיאט מיאנמרי', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'טוגרוג מונגולי', + 'MNT', + 'טוגרוג מונגולי', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'פטקה של מקאו', + 'MOP', + 'פטקה של מקאו', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'אואוגויה מאוריטני (1973–2017)', + 'MRO', + 'אואוגויה מאוריטני (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'אואוגויה מאוריטני', + 'MRU', + 'אואוגויה מאוריטני', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'לירה מלטית', + 'MTL', + 'לירה מלטית', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'רופי מאוריציני', + 'MUR', + 'רופי מאוריציני', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'רופיה מלדיבית', + 'MVR', + 'רופיה מלדיבית', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'קואצ׳ה מלאווי', + 'MWK', + 'קואצ׳ה מלאווי', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'פסו מקסיקני', + 'MX$', + 'פסו מקסיקני', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'פזו מקסיקני (1861 – 1992)', + 'MXP', + 'פזו מקסיקני (1861 – 1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'יחידת השקעות מקסיקנית', + 'MXV', + 'יחידת השקעות מקסיקנית', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'רינגיט מלזי', + 'MYR', + 'רינגיט מלזי', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'אסקודו מוזמביקי', + 'MZE', + 'אסקודו מוזמביקי', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'מטיקל', + 'MZM', + 'מטיקל', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'מטיקל מוזמביני', + 'MZN', + 'מטיקל מוזמביני', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'דולר נמיבי', + 'NAD', + 'דולר נמיבי', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'נאירה ניגרי', + 'NGN', + 'נאירה ניגרי', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'קורדובה (1988–1991)', + 'NIC', + 'קורדובה (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'קורדובה ניקרגואה', + 'NIO', + 'קורדובה ניקרגואה', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'גילדן הולנדי', + 'NLG', + 'גילדן הולנדי', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'כתר נורווגי', + 'NOK', + 'כתר נורווגי', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'רופי נפאלי', + 'NPR', + 'רופי נפאלי', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'דולר ניו זילנדי', + 'NZ$', + 'דולר ניו זילנדי', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'ריאל עומאני', + 'OMR', + 'ריאל עומאני', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'בלבואה פנמי', + 'PAB', + 'בלבואה פנמי', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'סול פרואני', + 'PEN', + 'סול פרואני', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'קינה של פפואה גינאה החדשה', + 'PGK', + 'קינה של פפואה גינאה החדשה', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'פסו פיליפיני', + 'PHP', + 'פסו פיליפיני', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'רופי פקיסטני', + 'PKR', + 'רופי פקיסטני', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'זלוטי פולני', + 'PLN', + 'זלוטי פולני', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'אסקודו פורטוגלי', + 'PTE', + 'אסקודו פורטוגלי', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'גוארני פרגוואי', + 'PYG', + 'גוארני פרגוואי', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'ריאל קטארי', + 'QAR', + 'ריאל קטארי', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'לאו רומני ישן', + 'ROL', + 'לאו רומני ישן', ], 'RON' => [ - 0 => 'RON', - 1 => 'לאו רומני', + 'RON', + 'לאו רומני', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'דינר סרבי', + 'RSD', + 'דינר סרבי', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'רובל רוסי', + 'RUB', + 'רובל רוסי', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'רובל רוסי (1991 – 1998)', + 'RUR', + 'רובל רוסי (1991 – 1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'פרנק רואנדי', + 'RWF', + 'פרנק רואנדי', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'ריאל סעודי', + 'SAR', + 'ריאל סעודי', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'דולר איי שלמה', + 'SBD', + 'דולר איי שלמה', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'רופי סיישלי', + 'SCR', + 'רופי סיישלי', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'דינר סודני', + 'SDD', + 'דינר סודני', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'לירה סודנית', + 'SDG', + 'לירה סודנית', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'לירה סודנית (1957–1998)', + 'SDP', + 'לירה סודנית (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'כתר שוודי', + 'SEK', + 'כתר שוודי', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'דולר סינגפורי', + 'SGD', + 'דולר סינגפורי', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'פאונד סנט הלני', + 'SHP', + 'פאונד סנט הלני', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'טולאר סלובני', + 'SIT', + 'טולאר סלובני', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'קורונה סלובקי', + 'SKK', + 'קורונה סלובקי', + ], + 'SLE' => [ + 'SLE', + 'ליאון סיירה לאוני', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'ליאון סיירה לאוני', + 'SLL', + 'ליאון סיירה לאוני - 1964-2022', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'שילינג סומלי', + 'SOS', + 'שילינג סומלי', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'דולר סורינאמי', + 'SRD', + 'דולר סורינאמי', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'גילדר סורינאמי', + 'SRG', + 'גילדר סורינאמי', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'לירה דרום-סודנית', + 'SSP', + 'לירה דרום-סודנית', ], 'STD' => [ - 0 => 'STD', - 1 => 'דוברה של סן טומה ופרינסיפה (1977–2017)', + 'STD', + 'דוברה של סן טומה ופרינסיפה (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'דוברה של סאו טומה ופרינסיפה', + 'STN', + 'דוברה של סאו טומה ופרינסיפה', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'רובל סובייטי', + 'SUR', + 'רובל סובייטי', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'קולון סלבדורי', + 'SVC', + 'קולון סלבדורי', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'לירה סורית', + 'SYP', + 'לירה סורית', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'לילנגני סווזילנדי', + 'SZL', + 'לילנגני סווזילנדי', ], 'THB' => [ - 0 => '฿', - 1 => 'בהט תאילנדי', + '฿', + 'בהט תאילנדי', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'סומוני טג׳קיסטני', + 'TJS', + 'סומוני טג׳קיסטני', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'מנאט טורקמאני', + 'TMM', + 'מנאט טורקמאני', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'מאנאט טורקמני', + 'TMT', + 'מאנאט טורקמני', ], 'TND' => [ - 0 => 'TND', - 1 => 'דינר טוניסאי', + 'TND', + 'דינר טוניסאי', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'פאנגה טונגי', + 'TOP', + 'פאנגה טונגי', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'אסקודו טימוראי', + 'TPE', + 'אסקודו טימוראי', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'לירה טורקית', + 'TRL', + 'לירה טורקית', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'לירה טורקית חדשה', + 'TRY', + 'לירה טורקית חדשה', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'דולר טרינידדי', + 'TTD', + 'דולר טרינידדי', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'דולר טייוואני חדש', + 'NT$', + 'דולר טייוואני חדש', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'שילינג טנזני', + 'TZS', + 'שילינג טנזני', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'הריבנה אוקראיני', + 'UAH', + 'הריבנה אוקראיני', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'שילינג אוגנדי (1966 – 1987)', + 'UGS', + 'שילינג אוגנדי (1966 – 1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'שילינג אוגנדי', + 'UGX', + 'שילינג אוגנדי', ], 'USD' => [ - 0 => '$', - 1 => 'דולר אמריקאי', + '$', + 'דולר אמריקאי', ], 'USN' => [ - 0 => 'USN', - 1 => 'דולר אמריקאי (היום הבא)', + 'USN', + 'דולר אמריקאי (היום הבא)', ], 'USS' => [ - 0 => 'USS', - 1 => 'דולר אמריקאי (היום הזה)', + 'USS', + 'דולר אמריקאי (היום הזה)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'פסו אורוגוואי', + 'UYU', + 'פסו אורוגוואי', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'סום אוזבקי', + 'UZS', + 'סום אוזבקי', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'בוליבר ונצואלי (1871–2008)', + 'VEB', + 'בוליבר ונצואלי (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'בוליבר ונצואלי (2008–2018)', + 'VEF', + 'בוליבר ונצואלי (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'בוליבר ונצואלי', + 'VES', + 'בוליבר ונצואלי', ], 'VND' => [ - 0 => '₫', - 1 => 'דונג וייטנאמי', + '₫', + 'דונג וייטנאמי', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'ואטו של ונואטו', + 'VUV', + 'ואטו של ונואטו', ], 'WST' => [ - 0 => 'WST', - 1 => 'טאלה סמואי', + 'WST', + 'טאלה סמואי', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'פרנק CFA מרכז אפריקני', + 'FCFA', + 'פרנק CFA מרכז אפריקני', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'דולר מזרח קריבי', + 'EC$', + 'דולר מזרח קריבי', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'פרנק זהב', + 'XFO', + 'פרנק זהב', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'פרנק CFA מערב אפריקני', + 'F CFA', + 'פרנק CFA מערב אפריקני', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'פרנק פולינזיה הצרפתית', + 'CFPF', + 'פרנק פולינזיה הצרפתית', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'דינר תימני', + 'YDD', + 'דינר תימני', ], 'YER' => [ - 0 => 'YER', - 1 => 'ריאל תימני', + 'YER', + 'ריאל תימני', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => 'ראנד דרום אפריקאי (כספי)', + 'ZAL', + 'ראנד דרום אפריקאי (כספי)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'ראנד דרום אפריקאי', + 'ZAR', + 'ראנד דרום אפריקאי', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'קוואצ׳ה זמבית (1968–2012)', + 'ZMK', + 'קוואצ׳ה זמבית (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'קוואצ׳ה זמבי', + 'ZMW', + 'קוואצ׳ה זמבי', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'זאיר חדש', + 'ZRN', + 'זאיר חדש', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'דולר זימבבואי', + 'ZWD', + 'דולר זימבבואי', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ja.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ja.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ja.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ja.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,1160 +3,1164 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'アンドラ ペセタ', + 'ADP', + 'アンドラ ペセタ', ], 'AED' => [ - 0 => 'AED', - 1 => 'アラブ首長国連邦ディルハム', + 'AED', + 'アラブ首長国連邦ディルハム', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'アフガニスタン アフガニー (1927–2002)', + 'AFA', + 'アフガニスタン アフガニー (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'アフガニスタン アフガニー', + 'AFN', + 'アフガニスタン アフガニー', ], 'ALK' => [ - 0 => 'ALK', - 1 => 'アルバニア レク (1946–1965)', + 'ALK', + 'アルバニア レク (1946–1965)', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'アルバニア レク', + 'ALL', + 'アルバニア レク', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'アルメニア ドラム', + 'AMD', + 'アルメニア ドラム', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'オランダ領アンティル ギルダー', + 'ANG', + 'オランダ領アンティル ギルダー', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'アンゴラ クワンザ', + 'AOA', + 'アンゴラ クワンザ', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'アンゴラ クワンザ (1977–1991)', + 'AOK', + 'アンゴラ クワンザ (1977–1991)', ], 'AON' => [ - 0 => 'AON', - 1 => 'アンゴラ 新クワンザ (1990–2000)', + 'AON', + 'アンゴラ 新クワンザ (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'アンゴラ 旧クワンザ (1995–1999)', + 'AOR', + 'アンゴラ 旧クワンザ (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'アルゼンチン アゥストラール', + 'ARA', + 'アルゼンチン アゥストラール', ], 'ARL' => [ - 0 => 'ARL', - 1 => 'アルゼンチン・ペソ・レイ(1970–1983)', + 'ARL', + 'アルゼンチン・ペソ・レイ(1970–1983)', ], 'ARM' => [ - 0 => 'ARM', - 1 => 'アルゼンチン・ペソ(1881–1970)', + 'ARM', + 'アルゼンチン・ペソ(1881–1970)', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'アルゼンチン ペソ (1983–1985)', + 'ARP', + 'アルゼンチン ペソ (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'アルゼンチン ペソ', + 'ARS', + 'アルゼンチン ペソ', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'オーストリア シリング', + 'ATS', + 'オーストリア シリング', ], 'AUD' => [ - 0 => 'A$', - 1 => 'オーストラリア ドル', + 'A$', + 'オーストラリア ドル', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'アルバ フロリン', + 'AWG', + 'アルバ フロリン', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'アゼルバイジャン マナト (1993–2006)', + 'AZM', + 'アゼルバイジャン マナト (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'アゼルバイジャン マナト', + 'AZN', + 'アゼルバイジャン マナト', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'ボスニア・ヘルツェゴビナ ディナール (1992–1994)', + 'BAD', + 'ボスニア・ヘルツェゴビナ ディナール (1992–1994)', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'ボスニア・ヘルツェゴビナ 兌換マルク (BAM)', + 'BAM', + 'ボスニア・ヘルツェゴビナ 兌換マルク (BAM)', ], 'BAN' => [ - 0 => 'BAN', - 1 => 'ボスニア・ヘルツェゴビナ 新ディナール(1994–1997)', + 'BAN', + 'ボスニア・ヘルツェゴビナ 新ディナール(1994–1997)', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'バルバドス ドル', + 'BBD', + 'バルバドス ドル', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'バングラデシュ タカ', + 'BDT', + 'バングラデシュ タカ', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'ベルギー フラン (BEC)', + 'BEC', + 'ベルギー フラン (BEC)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'ベルギー フラン', + 'BEF', + 'ベルギー フラン', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'ベルギー フラン (BEL)', + 'BEL', + 'ベルギー フラン (BEL)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'ブルガリア レフ', + 'BGL', + 'ブルガリア レフ', ], 'BGM' => [ - 0 => 'BGM', - 1 => 'ブルガリア社会主義 レフ', + 'BGM', + 'ブルガリア社会主義 レフ', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'ブルガリア 新レフ', + 'BGN', + 'ブルガリア 新レフ', ], 'BGO' => [ - 0 => 'BGO', - 1 => 'ブルガリア レフ(1879–1952)', + 'BGO', + 'ブルガリア レフ(1879–1952)', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'バーレーン ディナール', + 'BHD', + 'バーレーン ディナール', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'ブルンジ フラン', + 'BIF', + 'ブルンジ フラン', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'バミューダ ドル', + 'BMD', + 'バミューダ ドル', ], 'BND' => [ - 0 => 'BND', - 1 => 'ブルネイ ドル', + 'BND', + 'ブルネイ ドル', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'ボリビア ボリビアーノ', + 'BOB', + 'ボリビア ボリビアーノ', ], 'BOL' => [ - 0 => 'BOL', - 1 => 'ボリビア ボリビアーノ (1863–1963)', + 'BOL', + 'ボリビア ボリビアーノ (1863–1963)', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'ボリビア ペソ', + 'BOP', + 'ボリビア ペソ', ], 'BOV' => [ - 0 => 'BOV', - 1 => 'ボリビア (Mvdol)', + 'BOV', + 'ボリビア (Mvdol)', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'ブラジル 新クルゼイロ (1967–1986)', + 'BRB', + 'ブラジル 新クルゼイロ (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'ブラジル クルザード (1986–1989)', + 'BRC', + 'ブラジル クルザード (1986–1989)', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'ブラジル クルゼイロ (1990–1993)', + 'BRE', + 'ブラジル クルゼイロ (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'ブラジル レアル', + 'R$', + 'ブラジル レアル', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'ブラジル 新クルザード (1989–1990)', + 'BRN', + 'ブラジル 新クルザード (1989–1990)', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'ブラジル クルゼイロ (1993–1994)', + 'BRR', + 'ブラジル クルゼイロ (1993–1994)', ], 'BRZ' => [ - 0 => 'BRZ', - 1 => 'ブラジル クルゼイロ(1942–1967)', + 'BRZ', + 'ブラジル クルゼイロ(1942–1967)', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'バハマ ドル', + 'BSD', + 'バハマ ドル', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ブータン ニュルタム', + 'BTN', + 'ブータン ニュルタム', ], 'BUK' => [ - 0 => 'BUK', - 1 => 'ビルマ チャット', + 'BUK', + 'ビルマ チャット', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'ボツワナ プラ', + 'BWP', + 'ボツワナ プラ', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'ベラルーシ 新ルーブル (1994–1999)', + 'BYB', + 'ベラルーシ 新ルーブル (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'ベラルーシ ルーブル', + 'BYN', + 'ベラルーシ ルーブル', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'ベラルーシ ルーブル (2000–2016)', + 'BYR', + 'ベラルーシ ルーブル (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'ベリーズ ドル', + 'BZD', + 'ベリーズ ドル', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'カナダ ドル', + 'CA$', + 'カナダ ドル', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'コンゴ フラン', + 'CDF', + 'コンゴ フラン', ], 'CHE' => [ - 0 => 'CHE', - 1 => 'ユーロ (WIR)', + 'CHE', + 'ユーロ (WIR)', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'スイス フラン', + 'CHF', + 'スイス フラン', ], 'CHW' => [ - 0 => 'CHW', - 1 => 'フラン (WIR)', + 'CHW', + 'フラン (WIR)', ], 'CLE' => [ - 0 => 'CLE', - 1 => 'チリ エスクード', + 'CLE', + 'チリ エスクード', ], 'CLF' => [ - 0 => 'CLF', - 1 => 'チリ ウニダ・デ・フォメント (UF)', + 'CLF', + 'チリ ウニダ・デ・フォメント (UF)', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'チリ ペソ', + 'CLP', + 'チリ ペソ', ], 'CNH' => [ - 0 => 'CNH', - 1 => '中国人民元(オフショア)', + 'CNH', + '中国人民元(オフショア)', ], 'CNX' => [ - 0 => 'CNX', - 1 => '中国人民銀行ドル', + 'CNX', + '中国人民銀行ドル', ], 'CNY' => [ - 0 => '元', - 1 => '中国人民元', + '元', + '中国人民元', ], 'COP' => [ - 0 => 'COP', - 1 => 'コロンビア ペソ', + 'COP', + 'コロンビア ペソ', ], 'COU' => [ - 0 => 'COU', - 1 => 'コロンビア レアル (UVR)', + 'COU', + 'コロンビア レアル (UVR)', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'コスタリカ コロン', + 'CRC', + 'コスタリカ コロン', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'セルビア ディナール (2002–2006)', + 'CSD', + 'セルビア ディナール (2002–2006)', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'チェコスロバキア コルナ', + 'CSK', + 'チェコスロバキア コルナ', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'キューバ 兌換ペソ', + 'CUC', + 'キューバ 兌換ペソ', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'キューバ ペソ', + 'CUP', + 'キューバ ペソ', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'カーボベルデ エスクード', + 'CVE', + 'カーボベルデ エスクード', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'キプロス ポンド', + 'CYP', + 'キプロス ポンド', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'チェコ コルナ', + 'CZK', + 'チェコ コルナ', ], 'DDM' => [ - 0 => 'DDM', - 1 => '東ドイツ マルク', + 'DDM', + '東ドイツ マルク', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'ドイツ マルク', + 'DEM', + 'ドイツ マルク', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'ジブチ フラン', + 'DJF', + 'ジブチ フラン', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'デンマーク クローネ', + 'DKK', + 'デンマーク クローネ', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'ドミニカ ペソ', + 'DOP', + 'ドミニカ ペソ', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'アルジェリア ディナール', + 'DZD', + 'アルジェリア ディナール', ], 'ECS' => [ - 0 => 'ECS', - 1 => 'エクアドル スクレ', + 'ECS', + 'エクアドル スクレ', ], 'ECV' => [ - 0 => 'ECV', - 1 => 'エクアドル (UVC)', + 'ECV', + 'エクアドル (UVC)', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'エストニア クルーン', + 'EEK', + 'エストニア クルーン', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'エジプト ポンド', + 'EGP', + 'エジプト ポンド', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'エリトリア ナクファ', + 'ERN', + 'エリトリア ナクファ', ], 'ESA' => [ - 0 => 'ESA', - 1 => 'スペインペセタ(勘定A)', + 'ESA', + 'スペインペセタ(勘定A)', ], 'ESB' => [ - 0 => 'ESB', - 1 => 'スペイン 兌換ペセタ', + 'ESB', + 'スペイン 兌換ペセタ', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'スペイン ペセタ', + 'ESP', + 'スペイン ペセタ', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'エチオピア ブル', + 'ETB', + 'エチオピア ブル', ], 'EUR' => [ - 0 => '€', - 1 => 'ユーロ', + '€', + 'ユーロ', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'フィンランド マルカ', + 'FIM', + 'フィンランド マルカ', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'フィジー ドル', + 'FJD', + 'フィジー ドル', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'フォークランド(マルビナス)諸島 ポンド', + 'FKP', + 'フォークランド(マルビナス)諸島 ポンド', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'フランス フラン', + 'FRF', + 'フランス フラン', ], 'GBP' => [ - 0 => '£', - 1 => '英国ポンド', + '£', + '英国ポンド', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'ジョージア クーポン ラリ', + 'GEK', + 'ジョージア クーポン ラリ', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'ジョージア ラリ', + 'GEL', + 'ジョージア ラリ', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'ガーナ セディ (1979–2007)', + 'GHC', + 'ガーナ セディ (1979–2007)', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'ガーナ セディ', + 'GHS', + 'ガーナ セディ', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'ジブラルタル ポンド', + 'GIP', + 'ジブラルタル ポンド', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'ガンビア ダラシ', + 'GMD', + 'ガンビア ダラシ', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'ギニア フラン', + 'GNF', + 'ギニア フラン', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'ギニア シリー', + 'GNS', + 'ギニア シリー', ], 'GQE' => [ - 0 => 'GQE', - 1 => '赤道ギニア エクウェレ', + 'GQE', + '赤道ギニア エクウェレ', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'ギリシャ ドラクマ', + 'GRD', + 'ギリシャ ドラクマ', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'グアテマラ ケツァル', + 'GTQ', + 'グアテマラ ケツァル', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'ポルトガル領ギニア エスクード', + 'GWE', + 'ポルトガル領ギニア エスクード', ], 'GWP' => [ - 0 => 'GWP', - 1 => 'ギニアビサウ ペソ', + 'GWP', + 'ギニアビサウ ペソ', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'ガイアナ ドル', + 'GYD', + 'ガイアナ ドル', ], 'HKD' => [ - 0 => 'HK$', - 1 => '香港ドル', + 'HK$', + '香港ドル', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'ホンジュラス レンピラ', + 'HNL', + 'ホンジュラス レンピラ', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'クロアチア ディナール', + 'HRD', + 'クロアチア ディナール', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'クロアチア クーナ', + 'HRK', + 'クロアチア クーナ', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'ハイチ グールド', + 'HTG', + 'ハイチ グールド', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'ハンガリー フォリント', + 'HUF', + 'ハンガリー フォリント', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'インドネシア ルピア', + 'IDR', + 'インドネシア ルピア', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'アイリッシュ ポンド', + 'IEP', + 'アイリッシュ ポンド', ], 'ILP' => [ - 0 => 'ILP', - 1 => 'イスラエル ポンド', + 'ILP', + 'イスラエル ポンド', ], 'ILR' => [ - 0 => 'ILR', - 1 => 'イスラエル シェケル (1980–1985)', + 'ILR', + 'イスラエル シェケル (1980–1985)', ], 'ILS' => [ - 0 => '₪', - 1 => 'イスラエル新シェケル', + '₪', + 'イスラエル新シェケル', ], 'INR' => [ - 0 => '₹', - 1 => 'インド ルピー', + '₹', + 'インド ルピー', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'イラク ディナール', + 'IQD', + 'イラク ディナール', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'イラン リアル', + 'IRR', + 'イラン リアル', ], 'ISJ' => [ - 0 => 'ISJ', - 1 => 'アイスランド クローナ (1918–1981)', + 'ISJ', + 'アイスランド クローナ (1918–1981)', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'アイスランド クローナ', + 'ISK', + 'アイスランド クローナ', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'イタリア リラ', + 'ITL', + 'イタリア リラ', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'ジャマイカ ドル', + 'JMD', + 'ジャマイカ ドル', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'ヨルダン ディナール', + 'JOD', + 'ヨルダン ディナール', ], 'JPY' => [ - 0 => '¥', - 1 => '日本円', + '¥', + '日本円', ], 'KES' => [ - 0 => 'KES', - 1 => 'ケニア シリング', + 'KES', + 'ケニア シリング', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'キルギス ソム', + 'KGS', + 'キルギス ソム', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'カンボジア リエル', + 'KHR', + 'カンボジア リエル', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'コモロ フラン', + 'KMF', + 'コモロ フラン', ], 'KPW' => [ - 0 => 'KPW', - 1 => '北朝鮮ウォン', + 'KPW', + '北朝鮮ウォン', ], 'KRH' => [ - 0 => 'KRH', - 1 => '韓国 ファン(1953–1962)', + 'KRH', + '韓国 ファン(1953–1962)', ], 'KRO' => [ - 0 => 'KRO', - 1 => '韓国 ウォン(1945–1953)', + 'KRO', + '韓国 ウォン(1945–1953)', ], 'KRW' => [ - 0 => '₩', - 1 => '韓国ウォン', + '₩', + '韓国ウォン', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'クウェート ディナール', + 'KWD', + 'クウェート ディナール', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'ケイマン諸島 ドル', + 'KYD', + 'ケイマン諸島 ドル', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'カザフスタン テンゲ', + 'KZT', + 'カザフスタン テンゲ', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'ラオス キープ', + 'LAK', + 'ラオス キープ', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'レバノン ポンド', + 'LBP', + 'レバノン ポンド', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'スリランカ ルピー', + 'LKR', + 'スリランカ ルピー', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'リベリア ドル', + 'LRD', + 'リベリア ドル', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'レソト ロティ', + 'LSL', + 'レソト ロティ', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'リトアニア リタス', + 'LTL', + 'リトアニア リタス', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'リトアニア タロナ', + 'LTT', + 'リトアニア タロナ', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'ルクセンブルク 兌換フラン', + 'LUC', + 'ルクセンブルク 兌換フラン', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'ルクセンブルグ フラン', + 'LUF', + 'ルクセンブルグ フラン', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'ルクセンブルク 金融フラン', + 'LUL', + 'ルクセンブルク 金融フラン', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'ラトビア ラッツ', + 'LVL', + 'ラトビア ラッツ', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'ラトビア ルーブル', + 'LVR', + 'ラトビア ルーブル', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'リビア ディナール', + 'LYD', + 'リビア ディナール', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'モロッコ ディルハム', + 'MAD', + 'モロッコ ディルハム', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'モロッコ フラン', + 'MAF', + 'モロッコ フラン', ], 'MCF' => [ - 0 => 'MCF', - 1 => 'モネガスク フラン', + 'MCF', + 'モネガスク フラン', ], 'MDC' => [ - 0 => 'MDC', - 1 => 'モルドバ クーポン', + 'MDC', + 'モルドバ クーポン', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'モルドバ レイ', + 'MDL', + 'モルドバ レイ', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'マダガスカル アリアリ', + 'MGA', + 'マダガスカル アリアリ', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'マラガシ フラン', + 'MGF', + 'マラガシ フラン', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'マケドニア デナル', + 'MKD', + 'マケドニア デナル', ], 'MKN' => [ - 0 => 'MKN', - 1 => 'マケドニア ディナール(1992–1993)', + 'MKN', + 'マケドニア ディナール(1992–1993)', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'マリ フラン', + 'MLF', + 'マリ フラン', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'ミャンマー チャット', + 'MMK', + 'ミャンマー チャット', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'モンゴル トグログ', + 'MNT', + 'モンゴル トグログ', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'マカオ パタカ', + 'MOP', + 'マカオ パタカ', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'モーリタニア ウギア (1973–2017)', + 'MRO', + 'モーリタニア ウギア (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'モーリタニア ウギア', + 'MRU', + 'モーリタニア ウギア', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'マルタ リラ', + 'MTL', + 'マルタ リラ', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'マルタ ポンド', + 'MTP', + 'マルタ ポンド', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'モーリシャス ルピー', + 'MUR', + 'モーリシャス ルピー', ], 'MVP' => [ - 0 => 'MVP', - 1 => 'モルディブ諸島 ルピー', + 'MVP', + 'モルディブ諸島 ルピー', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'モルディブ ルフィア', + 'MVR', + 'モルディブ ルフィア', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'マラウィ クワチャ', + 'MWK', + 'マラウィ クワチャ', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'メキシコ ペソ', + 'MX$', + 'メキシコ ペソ', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'メキシコ ペソ (1861–1992)', + 'MXP', + 'メキシコ ペソ (1861–1992)', ], 'MXV' => [ - 0 => 'MXV', - 1 => 'メキシコ (UDI)', + 'MXV', + 'メキシコ (UDI)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'マレーシア リンギット', + 'MYR', + 'マレーシア リンギット', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'モザンピーク エスクード', + 'MZE', + 'モザンピーク エスクード', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'モザンビーク メティカル (1980–2006)', + 'MZM', + 'モザンビーク メティカル (1980–2006)', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'モザンビーク メティカル', + 'MZN', + 'モザンビーク メティカル', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'ナミビア ドル', + 'NAD', + 'ナミビア ドル', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'ナイジェリア ナイラ', + 'NGN', + 'ナイジェリア ナイラ', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'ニカラグア コルドバ (1988–1991)', + 'NIC', + 'ニカラグア コルドバ (1988–1991)', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'ニカラグア コルドバ オロ', + 'NIO', + 'ニカラグア コルドバ オロ', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'オランダ ギルダー', + 'NLG', + 'オランダ ギルダー', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'ノルウェー クローネ', + 'NOK', + 'ノルウェー クローネ', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'ネパール ルピー', + 'NPR', + 'ネパール ルピー', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'ニュージーランド ドル', + 'NZ$', + 'ニュージーランド ドル', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'オマーン リアル', + 'OMR', + 'オマーン リアル', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'パナマ バルボア', + 'PAB', + 'パナマ バルボア', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'ペルー インティ', + 'PEI', + 'ペルー インティ', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'ペルー ソル', + 'PEN', + 'ペルー ソル', ], 'PES' => [ - 0 => 'PES', - 1 => 'ペルー ソル (1863–1965)', + 'PES', + 'ペルー ソル (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'パプアニューギニア キナ', + 'PGK', + 'パプアニューギニア キナ', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'フィリピン ペソ', + 'PHP', + 'フィリピン ペソ', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'パキスタン ルピー', + 'PKR', + 'パキスタン ルピー', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'ポーランド ズウォティ', + 'PLN', + 'ポーランド ズウォティ', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'ポーランド ズウォティ (1950–1995)', + 'PLZ', + 'ポーランド ズウォティ (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'ポルトガル エスクード', + 'PTE', + 'ポルトガル エスクード', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'パラグアイ グアラニ', + 'PYG', + 'パラグアイ グアラニ', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'カタール リアル', + 'QAR', + 'カタール リアル', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'ローデシア ドル', + 'RHD', + 'ローデシア ドル', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'ルーマニア レイ (1952–2006)', + 'ROL', + 'ルーマニア レイ (1952–2006)', ], 'RON' => [ - 0 => 'RON', - 1 => 'ルーマニア レイ', + 'RON', + 'ルーマニア レイ', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'ディナール (セルビア)', + 'RSD', + 'セルビア ディナール', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'ロシア ルーブル', + 'RUB', + 'ロシア ルーブル', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'ロシア ルーブル (1991–1998)', + 'RUR', + 'ロシア ルーブル (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'ルワンダ フラン', + 'RWF', + 'ルワンダ フラン', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'サウジ リヤル', + 'SAR', + 'サウジ リヤル', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'ソロモン諸島 ドル', + 'SBD', + 'ソロモン諸島 ドル', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'セーシェル ルピー', + 'SCR', + 'セーシェル ルピー', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'スーダン ディナール (1992–2007)', + 'SDD', + 'スーダン ディナール (1992–2007)', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'スーダン ポンド', + 'SDG', + 'スーダン ポンド', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'スーダン ポンド (1957–1998)', + 'SDP', + 'スーダン ポンド (1957–1998)', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'スウェーデン クローナ', + 'SEK', + 'スウェーデン クローナ', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'シンガポール ドル', + 'SGD', + 'シンガポール ドル', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'セントヘレナ ポンド', + 'SHP', + 'セントヘレナ ポンド', ], 'SIT' => [ - 0 => 'SIT', - 1 => 'スロベニア トラール', + 'SIT', + 'スロベニア トラール', ], 'SKK' => [ - 0 => 'SKK', - 1 => 'スロバキア コルナ', + 'SKK', + 'スロバキア コルナ', + ], + 'SLE' => [ + 'SLE', + 'シエラレオネ レオン', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'シエラレオネ レオン', + 'SLL', + 'シエラレオネ レオン (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'ソマリア シリング', + 'SOS', + 'ソマリア シリング', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'スリナム ドル', + 'SRD', + 'スリナム ドル', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'スリナム ギルダー', + 'SRG', + 'スリナム ギルダー', ], 'SSP' => [ - 0 => 'SSP', - 1 => '南スーダン ポンド', + 'SSP', + '南スーダン ポンド', ], 'STD' => [ - 0 => 'STD', - 1 => 'サントメ・プリンシペ ドブラ (1977–2017)', + 'STD', + 'サントメ・プリンシペ ドブラ (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'サントメ・プリンシペ ドブラ', + 'STN', + 'サントメ・プリンシペ ドブラ', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'ソ連 ルーブル', + 'SUR', + 'ソ連 ルーブル', ], 'SVC' => [ - 0 => 'SVC', - 1 => 'エルサルバドル コロン', + 'SVC', + 'エルサルバドル コロン', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'シリア ポンド', + 'SYP', + 'シリア ポンド', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'スワジランド リランゲニ', + 'SZL', + 'スワジランド リランゲニ', ], 'THB' => [ - 0 => 'THB', - 1 => 'タイ バーツ', + 'THB', + 'タイ バーツ', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'タジキスタン ルーブル', + 'TJR', + 'タジキスタン ルーブル', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'タジキスタン ソモニ', + 'TJS', + 'タジキスタン ソモニ', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'トルクメニスタン マナト (1993–2009)', + 'TMM', + 'トルクメニスタン マナト (1993–2009)', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'トルクメニスタン マナト', + 'TMT', + 'トルクメニスタン マナト', ], 'TND' => [ - 0 => 'TND', - 1 => 'チュニジア ディナール', + 'TND', + 'チュニジア ディナール', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'トンガ パ・アンガ', + 'TOP', + 'トンガ パ・アンガ', ], 'TPE' => [ - 0 => 'TPE', - 1 => 'ティモール エスクード', + 'TPE', + 'ティモール エスクード', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'トルコ リラ (1922–2005)', + 'TRL', + 'トルコ リラ (1922–2005)', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'トルコリラ', + 'TRY', + 'トルコ リラ', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'トリニダード・トバゴ ドル', + 'TTD', + 'トリニダード・トバゴ ドル', ], 'TWD' => [ - 0 => 'NT$', - 1 => '新台湾ドル', + 'NT$', + '新台湾ドル', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'タンザニア シリング', + 'TZS', + 'タンザニア シリング', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'ウクライナ グリブナ', + 'UAH', + 'ウクライナ フリヴニャ', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'ウクライナ カルボバネツ', + 'UAK', + 'ウクライナ カルボバネツ', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'ウガンダ シリング (1966–1987)', + 'UGS', + 'ウガンダ シリング (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'ウガンダ シリング', + 'UGX', + 'ウガンダ シリング', ], 'USD' => [ - 0 => '$', - 1 => '米ドル', + '$', + '米ドル', ], 'USN' => [ - 0 => 'USN', - 1 => '米ドル (翌日)', + 'USN', + '米ドル (翌日)', ], 'USS' => [ - 0 => 'USS', - 1 => '米ドル (当日)', + 'USS', + '米ドル (当日)', ], 'UYI' => [ - 0 => 'UYI', - 1 => 'ウルグアイ ペソエン', + 'UYI', + 'ウルグアイ ペソエン', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'ウルグアイ ペソ (1975–1993)', + 'UYP', + 'ウルグアイ ペソ (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'ウルグアイ ペソ', + 'UYU', + 'ウルグアイ ペソ', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'ウズベキスタン スム', + 'UZS', + 'ウズベキスタン スム', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'ベネズエラ ボリバル (1871–2008)', + 'VEB', + 'ベネズエラ ボリバル (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'ベネズエラ ボリバル (2008–2018)', + 'VEF', + 'ベネズエラ ボリバル (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'ベネズエラ ボリバル', + 'VES', + 'ベネズエラ ボリバル', ], 'VND' => [ - 0 => '₫', - 1 => 'ベトナム ドン', + '₫', + 'ベトナム ドン', ], 'VNN' => [ - 0 => 'VNN', - 1 => 'ベトナム ドン(1978–1985)', + 'VNN', + 'ベトナム ドン(1978–1985)', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'バヌアツ バツ', + 'VUV', + 'バヌアツ バツ', ], 'WST' => [ - 0 => 'WST', - 1 => 'サモア タラ', + 'WST', + 'サモア タラ', ], 'XAF' => [ - 0 => 'FCFA', - 1 => '中央アフリカ CFA フラン', + 'FCFA', + '中央アフリカ CFA フラン', ], 'XCD' => [ - 0 => 'EC$', - 1 => '東カリブ ドル', + 'EC$', + '東カリブ ドル', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'ヨーロッパ通貨単位', + 'XEU', + 'ヨーロッパ通貨単位', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'フランス金フラン', + 'XFO', + 'フランス金フラン', ], 'XFU' => [ - 0 => 'XFU', - 1 => 'フランス フラン (UIC)', + 'XFU', + 'フランス フラン (UIC)', ], 'XOF' => [ - 0 => 'F CFA', - 1 => '西アフリカ CFA フラン', + 'F CFA', + '西アフリカ CFA フラン', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP フラン', + 'CFPF', + 'CFP フラン', ], 'XRE' => [ - 0 => 'XRE', - 1 => 'RINET基金', + 'XRE', + 'RINET基金', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'イエメン ディナール', + 'YDD', + 'イエメン ディナール', ], 'YER' => [ - 0 => 'YER', - 1 => 'イエメン リアル', + 'YER', + 'イエメン リアル', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'ユーゴスラビア ハード・ディナール (1966–1990)', + 'YUD', + 'ユーゴスラビア ハード・ディナール (1966–1990)', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'ユーゴスラビア ノビ・ディナール (1994–2002)', + 'YUM', + 'ユーゴスラビア ノビ・ディナール (1994–2002)', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'ユーゴスラビア 兌換ディナール (1990–1992)', + 'YUN', + 'ユーゴスラビア 兌換ディナール (1990–1992)', ], 'YUR' => [ - 0 => 'YUR', - 1 => 'ユーゴスラビア 改革ディナール(1992–1993)', + 'YUR', + 'ユーゴスラビア 改革ディナール(1992–1993)', ], 'ZAL' => [ - 0 => 'ZAL', - 1 => '南アフリカ ランド (ZAL)', + 'ZAL', + '南アフリカ ランド (ZAL)', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => '南アフリカ ランド', + 'ZAR', + '南アフリカ ランド', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'ザンビア クワチャ (1968–2012)', + 'ZMK', + 'ザンビア クワチャ (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'ザンビア クワチャ', + 'ZMW', + 'ザンビア クワチャ', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'ザイール 新ザイール (1993–1998)', + 'ZRN', + 'ザイール 新ザイール (1993–1998)', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'ザイール ザイール (1971–1993)', + 'ZRZ', + 'ザイール ザイール (1971–1993)', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'ジンバブエ ドル (1980–2008)', + 'ZWD', + 'ジンバブエ ドル (1980–2008)', ], 'ZWL' => [ - 0 => 'ZWL', - 1 => 'ジンバブエ ドル (2009)', + 'ZWL', + 'ジンバブエ ドル (2009)', ], 'ZWR' => [ - 0 => 'ZWR', - 1 => 'シンバブエ ドル(2008)', + 'ZWR', + 'シンバブエ ドル(2008)', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/jv.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/jv.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/jv.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/jv.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,636 +3,640 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'Dirham Uni Emirat Arab', + 'AED', + 'Dirham Uni Emirat Arab', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Afghani Afganistan', + 'AFN', + 'Afghani Afganistan', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Lek Albania', + 'ALL', + 'Lek Albania', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Dram Armenia', + 'AMD', + 'Dram Armenia', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Guilder Antilla Walanda', + 'ANG', + 'Guilder Antilla Walanda', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Kwanza Angola', + 'AOA', + 'Kwanza Angola', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Peso Argentina', + 'ARS', + 'Peso Argentina', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Dolar Australia', + 'A$', + 'Dolar Australia', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Florin Aruban', + 'AWG', + 'Florin Aruban', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Manat Azerbaijan', + 'AZN', + 'Manat Azerbaijan', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Mark Konvertibel Bosnia-Herzegovina', + 'BAM', + 'Mark Konvertibel Bosnia-Herzegovina', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Dolar Barbadian', + 'BBD', + 'Dolar Barbadian', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Taka Bangladesh', + 'BDT', + 'Taka Bangladesh', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Lev Bulgaria', + 'BGN', + 'Lev Bulgaria', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Bahrain Dinar', + 'BHD', + 'Bahrain Dinar', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Franc Burundi', + 'BIF', + 'Franc Burundi', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Dolar Bermuda', + 'BMD', + 'Dolar Bermuda', ], 'BND' => [ - 0 => 'BND', - 1 => 'Dolar Brunai', + 'BND', + 'Dolar Brunai', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Boliviano Bolivia', + 'BOB', + 'Boliviano Bolivia', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Real Brasil', + 'R$', + 'Real Brasil', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Dolar Bahamian', + 'BSD', + 'Dolar Bahamian', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Ngultrum Bhutan', + 'BTN', + 'Ngultrum Bhutan', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Pula Botswana', + 'BWP', + 'Pula Botswana', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Ruble Belarusia', + 'BYN', + 'Ruble Belarusia', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Dolar Belise', + 'BZD', + 'Dolar Belise', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Dolar Kanada', + 'CA$', + 'Dolar Kanada', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Franc Kongo', + 'CDF', + 'Franc Kongo', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Franc Swiss', + 'CHF', + 'Franc Swiss', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Peso Chili', + 'CLP', + 'Peso Chili', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Yuan Tyongkok (Jaban Rangkah)', + 'CNH', + 'Yuan Tyongkok (Jaban Rangkah)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Yuan Tyongkok', + 'CN¥', + 'Yuan Tyongkok', ], 'COP' => [ - 0 => 'COP', - 1 => 'Peso Kolumbia', + 'COP', + 'Peso Kolumbia', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Colon Kosta Rika', + 'CRC', + 'Colon Kosta Rika', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Peso Konvertibel Kuba', + 'CUC', + 'Peso Konvertibel Kuba', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Peso Kuba', + 'CUP', + 'Peso Kuba', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Escudo Tanjung Verde', + 'CVE', + 'Escudo Tanjung Verde', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Koruna Czech', + 'CZK', + 'Koruna Czech', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Franc Djibouti', + 'DJF', + 'Franc Djibouti', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Krone Denmark', + 'DKK', + 'Krone Denmark', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Peso Dominika', + 'DOP', + 'Peso Dominika', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Dinar Algeria', + 'DZD', + 'Dinar Algeria', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Pound Mesir', + 'EGP', + 'Pound Mesir', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Nakfa Eritrea', + 'ERN', + 'Nakfa Eritrea', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Birr Ethiopia', + 'ETB', + 'Birr Ethiopia', ], 'EUR' => [ - 0 => '€', - 1 => 'Euro', + '€', + 'Euro', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Dolar Fiji', + 'FJD', + 'Dolar Fiji', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Pound Kepuloan Falkland', + 'FKP', + 'Pound Kepuloan Falkland', ], 'GBP' => [ - 0 => '£', - 1 => 'Pound Inggris', + '£', + 'Pound Inggris', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Lari Georgia', + 'GEL', + 'Lari Georgia', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Cedi Ghana', + 'GHS', + 'Cedi Ghana', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Pound Gibraltar', + 'GIP', + 'Pound Gibraltar', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Dalasi Gambia', + 'GMD', + 'Dalasi Gambia', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Franc Guinea', + 'GNF', + 'Franc Guinea', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Quetzal Guatemala', + 'GTQ', + 'Quetzal Guatemala', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Dolar Guyana', + 'GYD', + 'Dolar Guyana', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Dolar Hong Kong', + 'HK$', + 'Dolar Hong Kong', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Lempira Honduras', + 'HNL', + 'Lempira Honduras', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Kuna Kroasia', + 'HRK', + 'Kuna Kroasia', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Gourde Haiti', + 'HTG', + 'Gourde Haiti', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Forint Hungaria', + 'HUF', + 'Forint Hungaria', ], 'IDR' => [ - 0 => 'Rp', - 1 => 'Rupiah Indonesia', + 'Rp', + 'Rupiah Indonesia', ], 'ILS' => [ - 0 => '₪', - 1 => 'Shekel Anyar Israel', + '₪', + 'Shekel Anyar Israel', ], 'INR' => [ - 0 => '₹', - 1 => 'Rupee India', + '₹', + 'Rupee India', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Dinar Irak', + 'IQD', + 'Dinar Irak', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Rial Iran', + 'IRR', + 'Rial Iran', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Krona Islandia', + 'ISK', + 'Krona Islandia', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Dolar Jamaika', + 'JMD', + 'Dolar Jamaika', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Dinar Yordania', + 'JOD', + 'Dinar Yordania', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Yen Jepang', + 'JP¥', + 'Yen Jepang', ], 'KES' => [ - 0 => 'KES', - 1 => 'Shilling Kenya', + 'KES', + 'Shilling Kenya', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Som Kirgistan', + 'KGS', + 'Som Kirgistan', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Riel Kamboja', + 'KHR', + 'Riel Kamboja', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Franc Komoro', + 'KMF', + 'Franc Komoro', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Won Korea Lor', + 'KPW', + 'Won Korea Lor', ], 'KRW' => [ - 0 => '₩', - 1 => 'Won Korea Kidul', + '₩', + 'Won Korea Kidul', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Dinar Kuwait', + 'KWD', + 'Dinar Kuwait', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Dolar Kepuloan Caiman', + 'KYD', + 'Dolar Kepuloan Caiman', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'Tenge Kasakhstan', + 'KZT', + 'Tenge Kasakhstan', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Kip Laos', + 'LAK', + 'Kip Laos', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Pound Libanon', + 'LBP', + 'Pound Libanon', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Rupee Sri Lanka', + 'LKR', + 'Rupee Sri Lanka', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Dolar Liberia', + 'LRD', + 'Dolar Liberia', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Lesotho Loti', + 'LSL', + 'Loti Lesotho', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Dinar Libya', + 'LYD', + 'Dinar Libya', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Dirham Maroko', + 'MAD', + 'Dirham Maroko', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Leu Moldova', + 'MDL', + 'Leu Moldova', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Ariary Malagasi', + 'MGA', + 'Ariary Malagasi', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Denar Masedonia', + 'MKD', + 'Denar Masedonia', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Kyat Myanmar', + 'MMK', + 'Kyat Myanmar', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Tugrik Mongol', + 'MNT', + 'Tugrik Mongol', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Pataca Macau', + 'MOP', + 'Pataca Macau', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Ouguiya Mauritania (1973 - 2017)', + 'MRO', + 'Ouguiya Mauritania (1973 - 2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Ouguiya Mauritania', + 'MRU', + 'Ouguiya Mauritania', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Rupee Mauritius', + 'MUR', + 'Rupee Mauritius', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Rufiyaa Maladewa', + 'MVR', + 'Rufiyaa Maladewa', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Kwacha Malawi', + 'MWK', + 'Kwacha Malawi', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Peso Meksiko', + 'MX$', + 'Peso Meksiko', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Ringgit Malaysia', + 'MYR', + 'Ringgit Malaysia', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Metical Mosambik', + 'MZN', + 'Metical Mosambik', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Dolar Namibia', + 'NAD', + 'Dolar Namibia', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Naira Nigeria', + 'NGN', + 'Naira Nigeria', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Cordoba Nikaragua', + 'NIO', + 'Cordoba Nikaragua', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Krone Norwegia', + 'NOK', + 'Krone Norwegia', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Rupee Nepal', + 'NPR', + 'Rupee Nepal', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Dolar Selandia Anyar', + 'NZ$', + 'Dolar Selandia Anyar', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Rial Oman', + 'OMR', + 'Rial Oman', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Balboa Panama', + 'PAB', + 'Balboa Panama', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Sol Peru', + 'PEN', + 'Sol Peru', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Kina Papua Nugini', + 'PGK', + 'Kina Papua Nugini', ], 'PHP' => [ - 0 => '₱', - 1 => 'Piso Filipina', + '₱', + 'Peso Filipina', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Rupee Pakistan', + 'PKR', + 'Rupee Pakistan', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Zloty Polandia', + 'PLN', + 'Zloty Polandia', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Guarani Paraguay', + 'PYG', + 'Guarani Paraguay', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Rial Qatar', + 'QAR', + 'Rial Qatar', ], 'RON' => [ - 0 => 'RON', - 1 => 'Leu Rumania', + 'RON', + 'Leu Rumania', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Dinar Serbia', + 'RSD', + 'Dinar Serbia', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'Rubel Rusia', + 'RUB', + 'Rubel Rusia', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Franc Rwanda', + 'RWF', + 'Franc Rwanda', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Riyal Saudi', + 'SAR', + 'Riyal Saudi', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Dolar Kepuloan Solomon', + 'SBD', + 'Dolar Kepuloan Solomon', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Rupee Seichelles', + 'SCR', + 'Rupee Seichelles', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Pound Sudan', + 'SDG', + 'Pound Sudan', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Krona Swedia', + 'SEK', + 'Krona Swedia', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Dolar Singapura', + 'SGD', + 'Dolar Singapura', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Pound Santa Helena', + 'SHP', + 'Pound Santa Helena', + ], + 'SLE' => [ + 'SLE', + 'Leone Sierra Leone', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Leone Sierra Leone', + 'SLL', + 'Leone Sierra Leone (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Shilling Somalia', + 'SOS', + 'Shilling Somalia', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Dolar Suriname', + 'SRD', + 'Dolar Suriname', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Pound Sudan Kidul', + 'SSP', + 'Pound Sudan Kidul', ], 'STN' => [ - 0 => 'STN', - 1 => 'Dobra Sao Tome lan Principe', + 'STN', + 'Dobra Sao Tome lan Principe', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Pound Siria', + 'SYP', + 'Pound Siria', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Lilangeni Swasi', + 'SZL', + 'Lilangeni Swasi', ], 'THB' => [ - 0 => 'THB', - 1 => 'Baht Thai', + 'THB', + 'Baht Thai', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Somoni Tajikistan', + 'TJS', + 'Somoni Tajikistan', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Manat Turmenistan', + 'TMT', + 'Manat Turmenistan', ], 'TND' => [ - 0 => 'TND', - 1 => 'Dinar Tunisia', + 'TND', + 'Dinar Tunisia', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Paʻanga Tonga', + 'TOP', + 'Paʻanga Tonga', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Lira Turki', + 'TRY', + 'Lira Turki', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Dolar Trinidad lan Tobago', + 'TTD', + 'Dolar Trinidad lan Tobago', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Dolar Anyar Taiwan', + 'NT$', + 'Dolar Anyar Taiwan', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Shilling Tansania', + 'TZS', + 'Shilling Tansania', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Hryvnia Ukrania', + 'UAH', + 'Hryvnia Ukrania', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Shilling Uganda', + 'UGX', + 'Shilling Uganda', ], 'USD' => [ - 0 => 'US$', - 1 => 'Dolar Amerika Serikat', + 'US$', + 'Dolar Amerika Serikat', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Peso Uruguay', + 'UYU', + 'Peso Uruguay', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Som Usbekistan', + 'UZS', + 'Som Usbekistan', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Bolivar Venezuela (2008 - 2018)', + 'VEF', + 'Bolivar Venezuela (2008 - 2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Bolivar Venezuela', + 'VES', + 'Bolivar Venezuela', ], 'VND' => [ - 0 => '₫', - 1 => 'Dong Vietnam', + '₫', + 'Dong Vietnam', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Vatu Vanuatu', + 'VUV', + 'Vatu Vanuatu', ], 'WST' => [ - 0 => 'WST', - 1 => 'Tala Samoa', + 'WST', + 'Tala Samoa', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'CFA Franc Afrika Tengah', + 'FCFA', + 'CFA Franc Afrika Tengah', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Dolar Karibia Wetan', + 'EC$', + 'Dolar Karibia Wetan', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'CFA Franc Afrika Kulon', + 'F CFA', + 'CFA Franc Afrika Kulon', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'Franc CFP', + 'CFPF', + 'Franc CFP', ], 'YER' => [ - 0 => 'YER', - 1 => 'Rial Yaman', + 'YER', + 'Rial Yaman', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Rand Afrika Kidul', + 'ZAR', + 'Rand Afrika Kidul', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Kwacha Sambia', + 'ZMW', + 'Kwacha Sambia', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ka.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ka.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ka.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ka.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,976 +3,980 @@ return [ 'Names' => [ 'ADP' => [ - 0 => 'ADP', - 1 => 'ანდორული პესეტა', + 'ADP', + 'ანდორული პესეტა', ], 'AED' => [ - 0 => 'AED', - 1 => 'არაბთა გაერთიანებული საამიროების დირჰამი', + 'AED', + 'არაბთა გაერთიანებული საამიროების დირჰამი', ], 'AFA' => [ - 0 => 'AFA', - 1 => 'ავღანი (1927–2002)', + 'AFA', + 'ავღანი (1927–2002)', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'ავღანური ავღანი', + 'AFN', + 'ავღანური ავღანი', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'ალბანური ლეკი', + 'ALL', + 'ალბანური ლეკი', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'სომხური დრამი', + 'AMD', + 'სომხური დრამი', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'ნიდერლანდების ანტილების გულდენი', + 'ANG', + 'ნიდერლანდების ანტილების გულდენი', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'ანგოლური კვანზა', + 'AOA', + 'ანგოლური კვანზა', ], 'AOK' => [ - 0 => 'AOK', - 1 => 'ანგოლური კვანზა (1977–1990)', + 'AOK', + 'ანგოლური კვანზა (1977–1990)', ], 'AON' => [ - 0 => 'AON', - 1 => 'ანგოლური ახალი კვანზა (1990–2000)', + 'AON', + 'ანგოლური ახალი კვანზა (1990–2000)', ], 'AOR' => [ - 0 => 'AOR', - 1 => 'ანგოლური მიტოლებული კვანზა (1995–1999)', + 'AOR', + 'ანგოლური მიტოლებული კვანზა (1995–1999)', ], 'ARA' => [ - 0 => 'ARA', - 1 => 'არგენტინული აუსტრალი', + 'ARA', + 'არგენტინული აუსტრალი', ], 'ARP' => [ - 0 => 'ARP', - 1 => 'არგენტინული პესო (1983–1985)', + 'ARP', + 'არგენტინული პესო (1983–1985)', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'არგენტინული პესო', + 'ARS', + 'არგენტინული პესო', ], 'ATS' => [ - 0 => 'ATS', - 1 => 'ავსტრიული შილინგი', + 'ATS', + 'ავსტრიული შილინგი', ], 'AUD' => [ - 0 => 'AUD', - 1 => 'ავსტრალიური დოლარი', + 'AUD', + 'ავსტრალიური დოლარი', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'არუბანული გულდენი', + 'AWG', + 'არუბანული გულდენი', ], 'AZM' => [ - 0 => 'AZM', - 1 => 'აზერბაიჯანული მანათი (1993–2006)', + 'AZM', + 'აზერბაიჯანული მანათი (1993–2006)', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'აზერბაიჯანული მანათი', + 'AZN', + 'აზერბაიჯანული მანათი', ], 'BAD' => [ - 0 => 'BAD', - 1 => 'ბოსნია-ჰერცოგოვინას დინარი', + 'BAD', + 'ბოსნია-ჰერცოგოვინას დინარი', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'ბოსნია და ჰერცოგოვინას კონვერტირებადი მარკა', + 'BAM', + 'ბოსნია და ჰერცოგოვინას კონვერტირებადი მარკა', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'ბარბადოსული დოლარი', + 'BBD', + 'ბარბადოსული დოლარი', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'ბანგლადეშური ტაკა', + 'BDT', + 'ბანგლადეშური ტაკა', ], 'BEC' => [ - 0 => 'BEC', - 1 => 'ბელგიური ფრანკი (კოვერტირებადი)', + 'BEC', + 'ბელგიური ფრანკი (კოვერტირებადი)', ], 'BEF' => [ - 0 => 'BEF', - 1 => 'ბელგიური ფრანკი', + 'BEF', + 'ბელგიური ფრანკი', ], 'BEL' => [ - 0 => 'BEL', - 1 => 'ბელგიური ფრანკი (ფინანსური)', + 'BEL', + 'ბელგიური ფრანკი (ფინანსური)', ], 'BGL' => [ - 0 => 'BGL', - 1 => 'ბულგარული მყარი ლევი', + 'BGL', + 'ბულგარული მყარი ლევი', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'ბულგარული ლევი', + 'BGN', + 'ბულგარული ლევი', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'ბაჰრეინული დინარი', + 'BHD', + 'ბაჰრეინული დინარი', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'ბურუნდიული ფრანკი', + 'BIF', + 'ბურუნდიული ფრანკი', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'ბერმუდული დოლარი', + 'BMD', + 'ბერმუდული დოლარი', ], 'BND' => [ - 0 => 'BND', - 1 => 'ბრუნეული დოლარი', + 'BND', + 'ბრუნეული დოლარი', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'ბოლივიური ბოლივიანო', + 'BOB', + 'ბოლივიური ბოლივიანო', ], 'BOP' => [ - 0 => 'BOP', - 1 => 'ბოლივიური პესო', + 'BOP', + 'ბოლივიური პესო', ], 'BRB' => [ - 0 => 'BRB', - 1 => 'ბრაზილიური კრუზეირო ნოვო (1967–1986)', + 'BRB', + 'ბრაზილიური კრუზეირო ნოვო (1967–1986)', ], 'BRC' => [ - 0 => 'BRC', - 1 => 'ბრაზილიური კრუზადო', + 'BRC', + 'ბრაზილიური კრუზადო', ], 'BRE' => [ - 0 => 'BRE', - 1 => 'ბრაზილიური კრუზეირო (1990–1993)', + 'BRE', + 'ბრაზილიური კრუზეირო (1990–1993)', ], 'BRL' => [ - 0 => 'R$', - 1 => 'ბრაზილიური რეალი', + 'R$', + 'ბრაზილიური რეალი', ], 'BRN' => [ - 0 => 'BRN', - 1 => 'ბრაზილიური კრუზადო ნოვო', + 'BRN', + 'ბრაზილიური კრუზადო ნოვო', ], 'BRR' => [ - 0 => 'BRR', - 1 => 'ბრაზილიური კრუზეირო', + 'BRR', + 'ბრაზილიური კრუზეირო', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'ბაჰამური დოლარი', + 'BSD', + 'ბაჰამური დოლარი', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ბუტანური ნგულტრუმი', + 'BTN', + 'ბუტანური ნგულტრუმი', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'ბოცვანური პულა', + 'BWP', + 'ბოცვანური პულა', ], 'BYB' => [ - 0 => 'BYB', - 1 => 'ახალი ბელარუსიული რუბლი (1994–1999)', + 'BYB', + 'ახალი ბელარუსიული რუბლი (1994–1999)', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'ბელორუსული რუბლი', + 'BYN', + 'ბელორუსული რუბლი', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'ბელორუსული რუბლი (2000–2016)', + 'BYR', + 'ბელორუსული რუბლი (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'ბელიზის დოლარი', + 'BZD', + 'ბელიზის დოლარი', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'კანადური დოლარი', + 'CA$', + 'კანადური დოლარი', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'კონგოს ფრანკი', + 'CDF', + 'კონგოს ფრანკი', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'შვეიცარიული ფრანკი', + 'CHF', + 'შვეიცარიული ფრანკი', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'ჩილეს პესო', + 'CLP', + 'ჩილეს პესო', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'ჩინური იუანი (ოფშორი)', + 'CNH', + 'ჩინური იუანი (ოფშორი)', ], 'CNY' => [ - 0 => 'CNY', - 1 => 'ჩინური იუანი', + 'CNY', + 'ჩინური იუანი', ], 'COP' => [ - 0 => 'COP', - 1 => 'კოლუმბიური პესო', + 'COP', + 'კოლუმბიური პესო', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'კოსტა-რიკული კოლონი', + 'CRC', + 'კოსტა-რიკული კოლონი', ], 'CSD' => [ - 0 => 'CSD', - 1 => 'ძველი სერბიული დინარი', + 'CSD', + 'ძველი სერბიული დინარი', ], 'CSK' => [ - 0 => 'CSK', - 1 => 'ჩეხოსლოვაკიის მყარი კრონა', + 'CSK', + 'ჩეხოსლოვაკიის მყარი კრონა', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'კუბური კონვერტირებადი პესო', + 'CUC', + 'კუბური კონვერტირებადი პესო', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'კუბური პესო', + 'CUP', + 'კუბური პესო', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'კაბო-ვერდეს ესკუდო', + 'CVE', + 'კაბო-ვერდეს ესკუდო', ], 'CYP' => [ - 0 => 'CYP', - 1 => 'კვიპროსის გირვანქა', + 'CYP', + 'კვიპროსის გირვანქა', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'ჩეხური კრონა', + 'CZK', + 'ჩეხური კრონა', ], 'DDM' => [ - 0 => 'DDM', - 1 => 'აღმოსავლეთ გერმანული მარკა', + 'DDM', + 'აღმოსავლეთ გერმანული მარკა', ], 'DEM' => [ - 0 => 'DEM', - 1 => 'გერმანული მარკა', + 'DEM', + 'გერმანული მარკა', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'ჯიბუტის ფრანკი', + 'DJF', + 'ჯიბუტის ფრანკი', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'დანიური კრონა', + 'DKK', + 'დანიური კრონა', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'დომინიკური პესო', + 'DOP', + 'დომინიკური პესო', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'ალჟირული დინარი', + 'DZD', + 'ალჟირული დინარი', ], 'EEK' => [ - 0 => 'EEK', - 1 => 'ესტონური კრუნა', + 'EEK', + 'ესტონური კრუნა', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'ეგვიპტური გირვანქა', + 'EGP', + 'ეგვიპტური გირვანქა', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'ერიტრეის ნაკფა', + 'ERN', + 'ერიტრეის ნაკფა', ], 'ESP' => [ - 0 => 'ESP', - 1 => 'ესპანური პესეტა', + 'ESP', + 'ესპანური პესეტა', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'ეთიოპიური ბირი', + 'ETB', + 'ეთიოპიური ბირი', ], 'EUR' => [ - 0 => '€', - 1 => 'ევრო', + '€', + 'ევრო', ], 'FIM' => [ - 0 => 'FIM', - 1 => 'ფინური მარკა', + 'FIM', + 'ფინური მარკა', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'ფიჯის დოლარი', + 'FJD', + 'ფიჯის დოლარი', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'ფოლკლენდის კუნძულების ფუნტი', + 'FKP', + 'ფოლკლენდის კუნძულების ფუნტი', ], 'FRF' => [ - 0 => 'FRF', - 1 => 'ფრანგული ფრანკი', + 'FRF', + 'ფრანგული ფრანკი', ], 'GBP' => [ - 0 => '£', - 1 => 'ბრიტანული გირვანქა სტერლინგი', + '£', + 'ბრიტანული გირვანქა სტერლინგი', ], 'GEK' => [ - 0 => 'GEK', - 1 => 'ქართული კუპონი ლარით', + 'GEK', + 'ქართული კუპონი ლარით', ], 'GEL' => [ - 0 => '₾', - 1 => 'ქართული ლარი', + '₾', + 'ქართული ლარი', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'განური სედი', + 'GHS', + 'განური სედი', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'გიბრალტარული ფუნტი', + 'GIP', + 'გიბრალტარული ფუნტი', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'გამბიური დალასი', + 'GMD', + 'გამბიური დალასი', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'გვინეური ფრანკი', + 'GNF', + 'გვინეური ფრანკი', ], 'GRD' => [ - 0 => 'GRD', - 1 => 'ბერძნული დრაჰმა', + 'GRD', + 'ბერძნული დრაჰმა', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'გვატემალური კეტსალი', + 'GTQ', + 'გვატემალური კეტსალი', ], 'GWE' => [ - 0 => 'GWE', - 1 => 'პორტუგალიური გინეა ესკუდო', + 'GWE', + 'პორტუგალიური გინეა ესკუდო', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'გაიანური დოლარი', + 'GYD', + 'გაიანური დოლარი', ], 'HKD' => [ - 0 => 'HKD', - 1 => 'ჰონკონგის დოლარი', + 'HKD', + 'ჰონკონგის დოლარი', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'ჰონდურასული ლემპირა', + 'HNL', + 'ჰონდურასული ლემპირა', ], 'HRD' => [ - 0 => 'HRD', - 1 => 'ხორვატიული დინარი', + 'HRD', + 'ხორვატიული დინარი', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'ხორვატული კუნა', + 'HRK', + 'ხორვატული კუნა', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'ჰაიტური გურდი', + 'HTG', + 'ჰაიტური გურდი', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'უნგრული ფორინტი', + 'HUF', + 'უნგრული ფორინტი', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'ინდონეზიური რუპია', + 'IDR', + 'ინდონეზიური რუპია', ], 'IEP' => [ - 0 => 'IEP', - 1 => 'ირლანდიური გირვანქა', + 'IEP', + 'ირლანდიური გირვანქა', ], 'ILS' => [ - 0 => 'ILS', - 1 => 'ისრაელის ახალი შეკელი', + 'ILS', + 'ისრაელის ახალი შეკელი', ], 'INR' => [ - 0 => 'INR', - 1 => 'ინდური რუპია', + 'INR', + 'ინდური რუპია', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'ერაყული დინარი', + 'IQD', + 'ერაყული დინარი', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'ირანული რიალი', + 'IRR', + 'ირანული რიალი', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'ისლანდიური კრონა', + 'ISK', + 'ისლანდიური კრონა', ], 'ITL' => [ - 0 => 'ITL', - 1 => 'იტალიური ლირა', + 'ITL', + 'იტალიური ლირა', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'იამაიკური დოლარი', + 'JMD', + 'იამაიკური დოლარი', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'იორდანიული დოლარი', + 'JOD', + 'იორდანიული დოლარი', ], 'JPY' => [ - 0 => 'JPY', - 1 => 'იაპონური იენი', + 'JPY', + 'იაპონური იენი', ], 'KES' => [ - 0 => 'KES', - 1 => 'კენიური შილინგი', + 'KES', + 'კენიური შილინგი', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'ყირგიზული სომი', + 'KGS', + 'ყირგიზული სომი', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'კამბოჯური რიელი', + 'KHR', + 'კამბოჯური რიელი', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'კომორული ფრანკი', + 'KMF', + 'კომორული ფრანკი', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'ჩრდილოეთ კორეული ვონი', + 'KPW', + 'ჩრდილოეთ კორეული ვონი', ], 'KRW' => [ - 0 => 'KRW', - 1 => 'სამხრეთ კორეული ვონი', + 'KRW', + 'სამხრეთ კორეული ვონი', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'ქუვეითური დინარი', + 'KWD', + 'ქუვეითური დინარი', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'კაიმანის კუნძულების დოლარი', + 'KYD', + 'კაიმანის კუნძულების დოლარი', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'ყაზახური ტენგე', + 'KZT', + 'ყაზახური ტენგე', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'ლაოსური კიპი', + 'LAK', + 'ლაოსური კიპი', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'ლიბანური ფუნტი', + 'LBP', + 'ლიბანური ფუნტი', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'შრი-ლანკური რუპია', + 'LKR', + 'შრი-ლანკური რუპია', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'ლიბერიული დოლარი', + 'LRD', + 'ლიბერიული დოლარი', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'ლესოთოს ლოტი', + 'LSL', + 'ლესოთოს ლოტი', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'ლიტვური ლიტა', + 'LTL', + 'ლიტვური ლიტა', ], 'LTT' => [ - 0 => 'LTT', - 1 => 'ლიტვური ტალონი', + 'LTT', + 'ლიტვური ტალონი', ], 'LUC' => [ - 0 => 'LUC', - 1 => 'ლუქსემბურგის კონვერტირებადი ფრანკი', + 'LUC', + 'ლუქსემბურგის კონვერტირებადი ფრანკი', ], 'LUF' => [ - 0 => 'LUF', - 1 => 'ლუქსემბურგის ფრანკი', + 'LUF', + 'ლუქსემბურგის ფრანკი', ], 'LUL' => [ - 0 => 'LUL', - 1 => 'ლუქსემბურგის ფინანსური ფრანკი', + 'LUL', + 'ლუქსემბურგის ფინანსური ფრანკი', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'ლატვიური ლატი', + 'LVL', + 'ლატვიური ლატი', ], 'LVR' => [ - 0 => 'LVR', - 1 => 'ლატვიური რუბლი', + 'LVR', + 'ლატვიური რუბლი', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'ლიბიური დინარი', + 'LYD', + 'ლიბიური დინარი', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'მაროკოს დირჰამი', + 'MAD', + 'მაროკოს დირჰამი', ], 'MAF' => [ - 0 => 'MAF', - 1 => 'მაროკოს ფრანკი', + 'MAF', + 'მაროკოს ფრანკი', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'მოლდოვური ლეუ', + 'MDL', + 'მოლდოვური ლეუ', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'მადაგასკარის არიარი', + 'MGA', + 'მადაგასკარის არიარი', ], 'MGF' => [ - 0 => 'MGF', - 1 => 'მადაგასკარის ფრანკი', + 'MGF', + 'მადაგასკარის ფრანკი', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'მაკედონიური დინარი', + 'MKD', + 'მაკედონიური დინარი', ], 'MLF' => [ - 0 => 'MLF', - 1 => 'მალის ფრანკი', + 'MLF', + 'მალის ფრანკი', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'მიანმარის კიატი', + 'MMK', + 'მიანმარის კიატი', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'მონღოლური ტუგრიკი', + 'MNT', + 'მონღოლური ტუგრიკი', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'მაკაუს პატაკა', + 'MOP', + 'მაკაუს პატაკა', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'მავრიტანული უგია (1973–2017)', + 'MRO', + 'მავრიტანული უგია (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'მავრიტანული უგია', + 'MRU', + 'მავრიტანული უგია', ], 'MTL' => [ - 0 => 'MTL', - 1 => 'მალტის ლირა', + 'MTL', + 'მალტის ლირა', ], 'MTP' => [ - 0 => 'MTP', - 1 => 'მალტის გირვანქა', + 'MTP', + 'მალტის გირვანქა', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'მავრიტანული რუპია', + 'MUR', + 'მავრიტანული რუპია', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'მალდივური რუფია', + 'MVR', + 'მალდივური რუფია', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'მალავიური კვაჩა', + 'MWK', + 'მალავიური კვაჩა', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'მექსიკური პესო', + 'MX$', + 'მექსიკური პესო', ], 'MXP' => [ - 0 => 'MXP', - 1 => 'მექსიკური ვერცხლის პესო (1861–1992)', + 'MXP', + 'მექსიკური ვერცხლის პესო (1861–1992)', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'მალაიზიური რინგიტი', + 'MYR', + 'მალაიზიური რინგიტი', ], 'MZE' => [ - 0 => 'MZE', - 1 => 'მოზამბიკური ესკუდო', + 'MZE', + 'მოზამბიკური ესკუდო', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'ძველი მოზამბიკური მეტიკალი', + 'MZM', + 'ძველი მოზამბიკური მეტიკალი', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'მოზამბიკური მეტიკალი', + 'MZN', + 'მოზამბიკური მეტიკალი', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'ნამიბიური დოლარი', + 'NAD', + 'ნამიბიური დოლარი', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'ნიგერიული ნაირა', + 'NGN', + 'ნიგერიული ნაირა', ], 'NIC' => [ - 0 => 'NIC', - 1 => 'ნიკარაგუას კორდობა', + 'NIC', + 'ნიკარაგუას კორდობა', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'ნიკარაგუას ოქროს კორდობა', + 'NIO', + 'ნიკარაგუას ოქროს კორდობა', ], 'NLG' => [ - 0 => 'NLG', - 1 => 'ჰოლანდიური გულდენი', + 'NLG', + 'ჰოლანდიური გულდენი', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'ნორვეგიული კრონა', + 'NOK', + 'ნორვეგიული კრონა', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'ნეპალური რუპია', + 'NPR', + 'ნეპალური რუპია', ], 'NZD' => [ - 0 => 'NZD', - 1 => 'ახალი ზელანდიის დოლარი', + 'NZD', + 'ახალი ზელანდიის დოლარი', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'ომანის რიალი', + 'OMR', + 'ომანის რიალი', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'პანამური ბალბოა', + 'PAB', + 'პანამური ბალბოა', ], 'PEI' => [ - 0 => 'PEI', - 1 => 'პერუს ინტი', + 'PEI', + 'პერუს ინტი', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'პერუს სოლი', + 'PEN', + 'პერუს სოლი', ], 'PES' => [ - 0 => 'PES', - 1 => 'პერუს სოლი (1863–1965)', + 'PES', + 'პერუს სოლი (1863–1965)', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'პაპუა-ახალი გვინეის კინა', + 'PGK', + 'პაპუა-ახალი გვინეის კინა', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'ფილიპინური პესო', + 'PHP', + 'ფილიპინური პესო', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'პაკისტანური რუპია', + 'PKR', + 'პაკისტანური რუპია', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'პოლონური ზლოტი', + 'PLN', + 'პოლონური ზლოტი', ], 'PLZ' => [ - 0 => 'PLZ', - 1 => 'პოლონური ზლოტი (1950–1995)', + 'PLZ', + 'პოლონური ზლოტი (1950–1995)', ], 'PTE' => [ - 0 => 'PTE', - 1 => 'პორტუგალიური ესკუდო', + 'PTE', + 'პორტუგალიური ესკუდო', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'პარაგვაული გუარანი', + 'PYG', + 'პარაგვაული გუარანი', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'კატარის რიალი', + 'QAR', + 'კატარის რიალი', ], 'RHD' => [ - 0 => 'RHD', - 1 => 'როდეზიული დოლარი', + 'RHD', + 'როდეზიული დოლარი', ], 'ROL' => [ - 0 => 'ROL', - 1 => 'ძველი რუმინული ლეუ', + 'ROL', + 'ძველი რუმინული ლეუ', ], 'RON' => [ - 0 => 'RON', - 1 => 'რუმინული ლეუ', + 'RON', + 'რუმინული ლეუ', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'სერბული დინარი', + 'RSD', + 'სერბული დინარი', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'რუსული რუბლი', + 'RUB', + 'რუსული რუბლი', ], 'RUR' => [ - 0 => 'RUR', - 1 => 'რუსული რუბლი (1991–1998)', + 'RUR', + 'რუსული რუბლი (1991–1998)', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'რუანდული ფრანკი', + 'RWF', + 'რუანდული ფრანკი', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'საუდის არაბეთის რიალი', + 'SAR', + 'საუდის არაბეთის რიალი', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'სოლომონის კუნძულების დოლარი', + 'SBD', + 'სოლომონის კუნძულების დოლარი', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'სეიშელური რუპია', + 'SCR', + 'სეიშელური რუპია', ], 'SDD' => [ - 0 => 'SDD', - 1 => 'სუდანის დინარი', + 'SDD', + 'სუდანის დინარი', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'სუდანური ფუნტი', + 'SDG', + 'სუდანური ფუნტი', ], 'SDP' => [ - 0 => 'SDP', - 1 => 'სუდანის გირვანქა', + 'SDP', + 'სუდანის გირვანქა', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'შვედური კრონა', + 'SEK', + 'შვედური კრონა', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'სინგაპურის დოლარი', + 'SGD', + 'სინგაპურის დოლარი', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'წმ. ელენეს კუნძულის ფუნტი', + 'SHP', + 'წმ. ელენეს კუნძულის ფუნტი', + ], + 'SLE' => [ + 'SLE', + 'სიერა-ლეონეს ლეონე', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'სიერა-ლეონეს ლეონე', + 'SLL', + 'სიერა-ლეონეს ლეონე (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'სომალური შილინგი', + 'SOS', + 'სომალური შილინგი', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'სურინამული დოლარი', + 'SRD', + 'სურინამული დოლარი', ], 'SRG' => [ - 0 => 'SRG', - 1 => 'სურინამის გულდენი', + 'SRG', + 'სურინამის გულდენი', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'სამხრეთ სუდანური ფუნტი', + 'SSP', + 'სამხრეთ სუდანური ფუნტი', ], 'STD' => [ - 0 => 'STD', - 1 => 'სან-ტომე და პრინსიპის დობრა (1977–2017)', + 'STD', + 'სან-ტომე და პრინსიპის დობრა (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'სან-ტომე და პრინსიპის დობრა', + 'STN', + 'სან-ტომე და პრინსიპის დობრა', ], 'SUR' => [ - 0 => 'SUR', - 1 => 'საბჭოთა რუბლი', + 'SUR', + 'საბჭოთა რუბლი', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'სირიული ფუნტი', + 'SYP', + 'სირიული ფუნტი', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'სვაზილენდის ლილანგენი', + 'SZL', + 'სვაზილენდის ლილანგენი', ], 'THB' => [ - 0 => 'THB', - 1 => 'ტაილანდური ბატი', + 'THB', + 'ტაილანდური ბატი', ], 'TJR' => [ - 0 => 'TJR', - 1 => 'ტაჯიკური რუბლი', + 'TJR', + 'ტაჯიკური რუბლი', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'ტაჯიკური სომონი', + 'TJS', + 'ტაჯიკური სომონი', ], 'TMM' => [ - 0 => 'TMM', - 1 => 'თურქმენული მანათი', + 'TMM', + 'თურქმენული მანათი', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'თურქმენეთის მანათი', + 'TMT', + 'თურქმენეთის მანათი', ], 'TND' => [ - 0 => 'TND', - 1 => 'ტუნისური დინარი', + 'TND', + 'ტუნისური დინარი', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'ტონგანური პაანგა', + 'TOP', + 'ტონგანური პაანგა', ], 'TRL' => [ - 0 => 'TRL', - 1 => 'თურქული ლირა', + 'TRL', + 'თურქული ლირა', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'ახალი თურქული ლირა', + 'TRY', + 'ახალი თურქული ლირა', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'ტრინიდად და ტობაგოს დოლარი', + 'TTD', + 'ტრინიდად და ტობაგოს დოლარი', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'ტაივანური ახალი დოლარი', + 'NT$', + 'ტაივანური ახალი დოლარი', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'ტანზანიური შილინგი', + 'TZS', + 'ტანზანიური შილინგი', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'უკრაინული გრივნა', + 'UAH', + 'უკრაინული გრივნა', ], 'UAK' => [ - 0 => 'UAK', - 1 => 'უკრაინული კარბოვანეცი', + 'UAK', + 'უკრაინული კარბოვანეცი', ], 'UGS' => [ - 0 => 'UGS', - 1 => 'უგანდური შილინგი (1966–1987)', + 'UGS', + 'უგანდური შილინგი (1966–1987)', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'უგანდური შილინგი', + 'UGX', + 'უგანდური შილინგი', ], 'USD' => [ - 0 => 'US$', - 1 => 'აშშ დოლარი', + 'US$', + 'აშშ დოლარი', ], 'USN' => [ - 0 => 'USN', - 1 => 'აშშ დოლარი (შემდეგი დღე)', + 'USN', + 'აშშ დოლარი (შემდეგი დღე)', ], 'USS' => [ - 0 => 'USS', - 1 => 'აშშ დოლარი (იგივე დღე)', + 'USS', + 'აშშ დოლარი (იგივე დღე)', ], 'UYP' => [ - 0 => 'UYP', - 1 => 'ურუგვაის პესო (1975–1993)', + 'UYP', + 'ურუგვაის პესო (1975–1993)', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'ურუგვაის პესო', + 'UYU', + 'ურუგვაის პესო', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'უზბეკური სუმი', + 'UZS', + 'უზბეკური სუმი', ], 'VEB' => [ - 0 => 'VEB', - 1 => 'ვენესუელის ბოლივარი (1871–2008)', + 'VEB', + 'ვენესუელის ბოლივარი (1871–2008)', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'ვენესუელის ბოლივარი (2008–2018)', + 'VEF', + 'ვენესუელის ბოლივარი (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'ვენესუელის ბოლივარი', + 'VES', + 'ვენესუელის ბოლივარი', ], 'VND' => [ - 0 => 'VND', - 1 => 'ვიეტნამური დონგი', + 'VND', + 'ვიეტნამური დონგი', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'ვანუატუს ვატუ', + 'VUV', + 'ვანუატუს ვატუ', ], 'WST' => [ - 0 => 'WST', - 1 => 'სამოური ტალა', + 'WST', + 'სამოური ტალა', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'ცენტრალურ აფრიკული CFA ფრანკი', + 'FCFA', + 'ცენტრალურ აფრიკული CFA ფრანკი', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'აღმოსავლეთ კარიბიული დოლარი', + 'EC$', + 'აღმოსავლეთ კარიბიული დოლარი', ], 'XEU' => [ - 0 => 'XEU', - 1 => 'ევროპული სავალუტო ერთეული', + 'XEU', + 'ევროპული სავალუტო ერთეული', ], 'XFO' => [ - 0 => 'XFO', - 1 => 'ფრანგული ოქროს ფრანკი', + 'XFO', + 'ფრანგული ოქროს ფრანკი', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'დასავლეთ აფრიკული CFA ფრანკი', + 'F CFA', + 'დასავლეთ აფრიკული CFA ფრანკი', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'CFP ფრანკი', + 'CFPF', + 'CFP ფრანკი', ], 'YDD' => [ - 0 => 'YDD', - 1 => 'იემენის დინარი', + 'YDD', + 'იემენის დინარი', ], 'YER' => [ - 0 => 'YER', - 1 => 'იემენის რეალი', + 'YER', + 'იემენის რეალი', ], 'YUD' => [ - 0 => 'YUD', - 1 => 'იუგოსლავიური მყარი დინარი', + 'YUD', + 'იუგოსლავიური მყარი დინარი', ], 'YUM' => [ - 0 => 'YUM', - 1 => 'იუგოსლავიური ახალი დინარი', + 'YUM', + 'იუგოსლავიური ახალი დინარი', ], 'YUN' => [ - 0 => 'YUN', - 1 => 'იუგოსლავიური კონვერტირებადი დინარი', + 'YUN', + 'იუგოსლავიური კონვერტირებადი დინარი', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'სამხრეთ აფრიკული რანდი', + 'ZAR', + 'სამხრეთ აფრიკული რანდი', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'ზამბიური კვაჭა (1968–2012)', + 'ZMK', + 'ზამბიური კვაჭა (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'ზამბიური კვაჭა', + 'ZMW', + 'ზამბიური კვაჭა', ], 'ZRN' => [ - 0 => 'ZRN', - 1 => 'ზაირის ახალი ზაირი', + 'ZRN', + 'ზაირის ახალი ზაირი', ], 'ZRZ' => [ - 0 => 'ZRZ', - 1 => 'ზაირის ზაირი', + 'ZRZ', + 'ზაირის ზაირი', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'ზიმბაბვეს დოლარი', + 'ZWD', + 'ზიმბაბვეს დოლარი', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ki.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ki.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ki.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/ki.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,232 +3,236 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'Dirham ya Falme za Kiarabu', + 'AED', + 'Dirham ya Falme za Kiarabu', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Kwanza ya Angola', + 'AOA', + 'Kwanza ya Angola', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Dola ya Australia', + 'A$', + 'Dola ya Australia', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Dinari ya Bahareni', + 'BHD', + 'Dinari ya Bahareni', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Faranga ya Burundi', + 'BIF', + 'Faranga ya Burundi', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Pula ya Botswana', + 'BWP', + 'Pula ya Botswana', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Ndora ya Kananda', + 'CA$', + 'Ndora ya Kananda', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Faranga ya Kongo', + 'CDF', + 'Faranga ya Kongo', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Faranga ya Uswisi', + 'CHF', + 'Faranga ya Uswisi', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Yuan Renminbi ya China', + 'CN¥', + 'Yuan Renminbi ya China', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Eskudo ya Kepuvede', + 'CVE', + 'Eskudo ya Kepuvede', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Faranga ya Jibuti', + 'DJF', + 'Faranga ya Jibuti', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Dinari ya Aljeria', + 'DZD', + 'Dinari ya Aljeria', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Pauni ya Misri', + 'EGP', + 'Pauni ya Misri', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Nakfa ya Eritrea', + 'ERN', + 'Nakfa ya Eritrea', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Bir ya Uhabeshi', + 'ETB', + 'Bir ya Uhabeshi', ], 'EUR' => [ - 0 => '€', - 1 => 'Yuro', + '€', + 'Yuro', ], 'GBP' => [ - 0 => '£', - 1 => 'Mbauini cia Ngeretha', + '£', + 'Mbauini cia Ngeretha', ], 'GHC' => [ - 0 => 'GHC', - 1 => 'Sedi ya Ghana', + 'GHC', + 'Sedi ya Ghana', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Dalasi ya Gambia', + 'GMD', + 'Dalasi ya Gambia', ], 'GNS' => [ - 0 => 'GNS', - 1 => 'Faranga ya Gine', + 'GNS', + 'Faranga ya Gine', ], 'INR' => [ - 0 => '₹', - 1 => 'Rubia rwa India', + '₹', + 'Rubia rwa India', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Sarafu ya Kijapani', + 'JP¥', + 'Sarafu ya Kijapani', ], 'KES' => [ - 0 => 'Ksh', - 1 => 'Ciringi ya Kenya', + 'Ksh', + 'Ciringi ya Kenya', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Faranga ya Komoro', + 'KMF', + 'Faranga ya Komoro', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Dola ya Liberia', + 'LRD', + 'Dola ya Liberia', ], 'LSL' => [ - 0 => 'LSL', - 1 => 'Loti ya Lesoto', + 'LSL', + 'Loti ya Lesoto', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Dinari ya Libya', + 'LYD', + 'Dinari ya Libya', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Dirham ya Moroko', + 'MAD', + 'Dirham ya Moroko', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Ariary ya Bukini', + 'MGA', + 'Ariary ya Bukini', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Ugwiya ya Moritania (1973–2017)', + 'MRO', + 'Ugwiya ya Moritania (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Ugwiya ya Moritania', + 'MRU', + 'Ugwiya ya Moritania', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Rupia ya Morisi', + 'MUR', + 'Rupia ya Morisi', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Kwacha ya Malawi', + 'MWK', + 'Kwacha ya Malawi', ], 'MZM' => [ - 0 => 'MZM', - 1 => 'Metikali ya Msumbiji', + 'MZM', + 'Metikali ya Msumbiji', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Dola ya Namibia', + 'NAD', + 'Dola ya Namibia', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Naira ya Nijeria', + 'NGN', + 'Naira ya Nijeria', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Faranga ya Rwanda', + 'RWF', + 'Faranga ya Rwanda', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Riyal ya Saudia', + 'SAR', + 'Riyal ya Saudia', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Rupia ya Shelisheli', + 'SCR', + 'Rupia ya Shelisheli', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Pauni ya Sudani', + 'SDG', + 'Pauni ya Sudani', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Pauni ya Santahelena', + 'SHP', + 'Pauni ya Santahelena', + ], + 'SLE' => [ + 'SLE', + 'Leoni', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Leoni', + 'SLL', + 'Leoni (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'ciringi cia cumarĩ', + 'SOS', + 'ciringi cia cumarĩ', ], 'STD' => [ - 0 => 'STD', - 1 => 'Dobra ya Sao Tome na Principe (1977–2017)', + 'STD', + 'Dobra ya Sao Tome na Principe (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Dobra ya Sao Tome na Principe', + 'STN', + 'Dobra ya Sao Tome na Principe', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Lilangeni', + 'SZL', + 'Lilangeni', ], 'TND' => [ - 0 => 'TND', - 1 => 'Dinari ya Tunisia', + 'TND', + 'Dinari ya Tunisia', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'ciringi cia Tanizania', + 'TZS', + 'ciringi cia Tanizania', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'ciringi cia Ũganda', + 'UGX', + 'ciringi cia Ũganda', ], 'USD' => [ - 0 => 'US$', - 1 => 'Ndora cia Amerika', + 'US$', + 'Ndora cia Amerika', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Faranga CFA BEAC', + 'FCFA', + 'Faranga CFA BEAC', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Faranga CFA BCEAO', + 'F CFA', + 'Faranga CFA BCEAO', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Randi ya Afrika Kusini', + 'ZAR', + 'Randi ya Afrika Kusini', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'Kwacha ya Zambia (1968–2012)', + 'ZMK', + 'Kwacha ya Zambia (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Kwacha ya Zambia', + 'ZMW', + 'Kwacha ya Zambia', ], 'ZWD' => [ - 0 => 'ZWD', - 1 => 'Dola ya Zimbabwe', + 'ZWD', + 'Dola ya Zimbabwe', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kk.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kk.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kk.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kk.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,652 +3,656 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'Біріккен Араб Әмірліктерінің дирхамы', + 'AED', + 'Біріккен Араб Әмірліктерінің дирхамы', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'Ауғанстан афганиі', + 'AFN', + 'Ауғанстан афганиі', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'Албания легі', + 'ALL', + 'Албания легі', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'Армения драмы', + 'AMD', + 'Армения драмы', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'Нидерланд антиль гульдені', + 'ANG', + 'Нидерланд антиль гульдені', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'Ангола кванзасы', + 'AOA', + 'Ангола кванзасы', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'Аргентина песосы', + 'ARS', + 'Аргентина песосы', ], 'AUD' => [ - 0 => 'A$', - 1 => 'Аустралия доллары', + 'A$', + 'Аустралия доллары', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'Аруба флорині', + 'AWG', + 'Аруба флорині', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'Әзірбайжан манаты', + 'AZN', + 'Әзірбайжан манаты', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'Босния және Герцеговина айырбасталмалы маркасы', + 'BAM', + 'Босния және Герцеговина айырбасталмалы маркасы', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'Барбадос доллары', + 'BBD', + 'Барбадос доллары', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'Бангладеш такасы', + 'BDT', + 'Бангладеш такасы', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'Болгария леві', + 'BGN', + 'Болгария леві', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'Бахрейн динары', + 'BHD', + 'Бахрейн динары', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'Бурунди франкі', + 'BIF', + 'Бурунди франкі', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'Бермуд доллары', + 'BMD', + 'Бермуд доллары', ], 'BND' => [ - 0 => 'BND', - 1 => 'Бруней доллары', + 'BND', + 'Бруней доллары', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'Боливия боливианосы', + 'BOB', + 'Боливия боливианосы', ], 'BRL' => [ - 0 => 'R$', - 1 => 'Бразилия реалы', + 'R$', + 'Бразилия реалы', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'Багам доллары', + 'BSD', + 'Багам доллары', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'Бутан нгултрумы', + 'BTN', + 'Бутан нгултрумы', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'Ботсвана пуласы', + 'BWP', + 'Ботсвана пуласы', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'Беларусь рублі', + 'BYN', + 'Беларусь рублі', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'Беларусь рублі (2000–2016)', + 'BYR', + 'Беларусь рублі (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'Белиз доллары', + 'BZD', + 'Белиз доллары', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'Канада доллары', + 'CA$', + 'Канада доллары', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'Конго франкі', + 'CDF', + 'Конго франкі', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'Швейцария франкі', + 'CHF', + 'Швейцария франкі', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'Чили песосы', + 'CLP', + 'Чили песосы', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'Қытай юані (офшор)', + 'CNH', + 'Қытай юані (офшор)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'Қытай юані', + 'CN¥', + 'Қытай юані', ], 'COP' => [ - 0 => 'COP', - 1 => 'Колумбия песосы', + 'COP', + 'Колумбия песосы', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'Коста-Рика колоны', + 'CRC', + 'Коста-Рика колоны', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'Куба айырбасталмалы песосы', + 'CUC', + 'Куба айырбасталмалы песосы', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'Куба песосы', + 'CUP', + 'Куба песосы', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'Кабо-Верде эскудосы', + 'CVE', + 'Кабо-Верде эскудосы', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'Чехия кронасы', + 'CZK', + 'Чехия кронасы', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'Джибути франкі', + 'DJF', + 'Джибути франкі', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'Дат кроны', + 'DKK', + 'Дат кроны', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'Доминикан песосы', + 'DOP', + 'Доминикан песосы', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'Алжир динары', + 'DZD', + 'Алжир динары', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'Мысыр фунты', + 'EGP', + 'Мысыр фунты', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'Эритрея накфасы', + 'ERN', + 'Эритрея накфасы', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'Эфиопия быры', + 'ETB', + 'Эфиопия быры', ], 'EUR' => [ - 0 => '€', - 1 => 'Еуро', + '€', + 'Еуро', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'Фиджи доллары', + 'FJD', + 'Фиджи доллары', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'Фолкленд аралдарының фунты', + 'FKP', + 'Фолкленд аралдарының фунты', ], 'GBP' => [ - 0 => '£', - 1 => 'Британдық фунт', + '£', + 'Британдық фунт', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'Грузия лариі', + 'GEL', + 'Грузия лариі', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'Гана седиі', + 'GHS', + 'Гана седиі', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'Гибралтар фунты', + 'GIP', + 'Гибралтар фунты', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'Гамбия даласиі', + 'GMD', + 'Гамбия даласиі', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'Гвинея франкі', + 'GNF', + 'Гвинея франкі', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'Гватемала кетсалі', + 'GTQ', + 'Гватемала кетсалі', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'Гайана доллары', + 'GYD', + 'Гайана доллары', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'Гонконг доллары', + 'HK$', + 'Гонконг доллары', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'Гондурас лемпирасы', + 'HNL', + 'Гондурас лемпирасы', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'Хорватия кунасы', + 'HRK', + 'Хорватия кунасы', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'Гаити гурды', + 'HTG', + 'Гаити гурды', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'Венгрия форинті', + 'HUF', + 'Венгрия форинті', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'Индонезия рупиясы', + 'IDR', + 'Индонезия рупиясы', ], 'ILS' => [ - 0 => '₪', - 1 => 'Израиль жаңа шекелі', + '₪', + 'Израиль жаңа шекелі', ], 'INR' => [ - 0 => '₹', - 1 => 'Үндістан рупиясы', + '₹', + 'Үндістан рупиясы', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'Ирак динары', + 'IQD', + 'Ирак динары', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'Иран риалы', + 'IRR', + 'Иран риалы', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'Исландия кронасы', + 'ISK', + 'Исландия кронасы', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'Ямайка доллары', + 'JMD', + 'Ямайка доллары', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'Иордания динары', + 'JOD', + 'Иордания динары', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'Жапония иенасы', + 'JP¥', + 'Жапония иенасы', ], 'KES' => [ - 0 => 'KES', - 1 => 'Кения шиллингі', + 'KES', + 'Кения шиллингі', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'Қырғызстан сомы', + 'KGS', + 'Қырғызстан сомы', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'Камбоджа риелі', + 'KHR', + 'Камбоджа риелі', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'Комор аралдары франкі', + 'KMF', + 'Комор аралдары франкі', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'Солтүстік Корея воны', + 'KPW', + 'Солтүстік Корея воны', ], 'KRW' => [ - 0 => '₩', - 1 => 'Оңтүстік Корея воны', + '₩', + 'Оңтүстік Корея воны', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'Кувейт динары', + 'KWD', + 'Кувейт динары', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'Кайман аралдары доллары', + 'KYD', + 'Кайман аралдары доллары', ], 'KZT' => [ - 0 => '₸', - 1 => 'Қазақстан теңгесі', + '₸', + 'Қазақстан теңгесі', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'Лаос кипі', + 'LAK', + 'Лаос кипі', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'Ливан фунты', + 'LBP', + 'Ливан фунты', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'Шри-Ланка рупиясы', + 'LKR', + 'Шри-Ланка рупиясы', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'Либерия доллары', + 'LRD', + 'Либерия доллары', ], 'LSL' => [ - 0 => 'ЛСЛ', - 1 => 'Лесото лотиі', + 'ЛСЛ', + 'Лесото лотиі', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'Литва литы', + 'LTL', + 'Литва литы', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'Латвия латы', + 'LVL', + 'Латвия латы', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'Ливия динары', + 'LYD', + 'Ливия динары', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'Марокко дирхамы', + 'MAD', + 'Марокко дирхамы', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'Молдова лейі', + 'MDL', + 'Молдова лейі', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'Малагаси ариариі', + 'MGA', + 'Малагаси ариариі', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'Македония динары', + 'MKD', + 'Македония динары', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'Мьянма кьяты', + 'MMK', + 'Мьянма кьяты', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'Моңғолия тугригі', + 'MNT', + 'Моңғолия тугригі', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'Макао патакасы', + 'MOP', + 'Макао патакасы', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'Мавритания угиясы (1973–2017)', + 'MRO', + 'Мавритания угиясы (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'Мавритания угиясы', + 'MRU', + 'Мавритания угиясы', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'Маврикий рупиясы', + 'MUR', + 'Маврикий рупиясы', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'Мальдив руфиясы', + 'MVR', + 'Мальдив руфиясы', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'Малави квачасы', + 'MWK', + 'Малави квачасы', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'Мексика песосы', + 'MX$', + 'Мексика песосы', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'Малайзия ринггиті', + 'MYR', + 'Малайзия ринггиті', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'Мозамбик метикалы', + 'MZN', + 'Мозамбик метикалы', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'Намибия доллары', + 'NAD', + 'Намибия доллары', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'Нигерия найрасы', + 'NGN', + 'Нигерия найрасы', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'Никарагуа кордобасы', + 'NIO', + 'Никарагуа кордобасы', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'Норвегия кроны', + 'NOK', + 'Норвегия кроны', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'Непал рупиясы', + 'NPR', + 'Непал рупиясы', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'Жаңа Зеландия доллары', + 'NZ$', + 'Жаңа Зеландия доллары', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'Оман риалы', + 'OMR', + 'Оман риалы', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'Панама бальбоасы', + 'PAB', + 'Панама бальбоасы', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'Перу солі', + 'PEN', + 'Перу солі', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'Папуа - Жаңа Гвинея кинасы', + 'PGK', + 'Папуа - Жаңа Гвинея кинасы', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'Филиппин песосы', + 'PHP', + 'Филиппин песосы', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'Пәкістан рупиясы', + 'PKR', + 'Пәкістан рупиясы', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'Польша злотасы', + 'PLN', + 'Польша злотасы', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'Парагвай гуараниі', + 'PYG', + 'Парагвай гуараниі', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'Катар риалы', + 'QAR', + 'Катар риалы', ], 'RON' => [ - 0 => 'RON', - 1 => 'Румыния лейі', + 'RON', + 'Румыния лейі', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'Сербия динары', + 'RSD', + 'Сербия динары', ], 'RUB' => [ - 0 => '₽', - 1 => 'Ресей рублі', + '₽', + 'Ресей рублі', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'Руанда франкі', + 'RWF', + 'Руанда франкі', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'Сауд Арабиясының риалы', + 'SAR', + 'Сауд Арабиясының риалы', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'Соломон аралдары доллары', + 'SBD', + 'Соломон аралдары доллары', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'Сейшель рупиясы', + 'SCR', + 'Сейшель рупиясы', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'Судан фунты', + 'SDG', + 'Судан фунты', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'Швеция кроны', + 'SEK', + 'Швеция кроны', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'Сингапур доллары', + 'SGD', + 'Сингапур доллары', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'Әулие Елена аралы фунты', + 'SHP', + 'Әулие Елена аралы фунты', + ], + 'SLE' => [ + 'SLE', + 'Сьерра-Леоне леонесі', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'Сьерра-Леоне леонесі', + 'SLL', + 'Сьерра-Леоне леонесі (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'Сомали шиллингі', + 'SOS', + 'Сомали шиллингі', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'Суринам доллары', + 'SRD', + 'Суринам доллары', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'Оңтүстік Судан фунты', + 'SSP', + 'Оңтүстік Судан фунты', ], 'STD' => [ - 0 => 'STD', - 1 => 'Сант-Томе мен Принсипи добрасы (1977–2017)', + 'STD', + 'Сант-Томе мен Принсипи добрасы (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'Сант-Томе мен Принсипи добрасы', + 'STN', + 'Сант-Томе мен Принсипи добрасы', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'Сирия фунты', + 'SYP', + 'Сирия фунты', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'Свазиленд лилангениі', + 'SZL', + 'Свазиленд лилангениі', ], 'THB' => [ - 0 => '฿', - 1 => 'Тай баты', + '฿', + 'Тай баты', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'Тәжікстан сомониі', + 'TJS', + 'Тәжікстан сомониі', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'Түрікменстан манаты', + 'TMT', + 'Түрікменстан манаты', ], 'TND' => [ - 0 => 'TND', - 1 => 'Тунис динары', + 'TND', + 'Тунис динары', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'Тонга паангасы', + 'TOP', + 'Тонга паангасы', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'Түрік лирасы', + 'TRY', + 'Түрік лирасы', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'Тринидад және Тобаго доллары', + 'TTD', + 'Тринидад және Тобаго доллары', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'Жаңа Тайвань доллары', + 'NT$', + 'Жаңа Тайвань доллары', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'Танзания шиллингі', + 'TZS', + 'Танзания шиллингі', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'Украина гривнасы', + 'UAH', + 'Украина гривнасы', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'Уганда шиллингі', + 'UGX', + 'Уганда шиллингі', ], 'USD' => [ - 0 => '$', - 1 => 'АҚШ доллары', + '$', + 'АҚШ доллары', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'Уругвай песосы', + 'UYU', + 'Уругвай песосы', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'Өзбекстан сомы', + 'UZS', + 'Өзбекстан сомы', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'Венесуэла боливары (2008–2018)', + 'VEF', + 'Венесуэла боливары (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'Венесуэла боливары', + 'VES', + 'Венесуэла боливары', ], 'VND' => [ - 0 => '₫', - 1 => 'Вьетнам донгі', + '₫', + 'Вьетнам донгі', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'Вануату ватуы', + 'VUV', + 'Вануату ватуы', ], 'WST' => [ - 0 => 'WST', - 1 => 'Самоа таласы', + 'WST', + 'Самоа таласы', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'Орталық Африканың КФА франкі', + 'FCFA', + 'Орталық Африканың КФА франкі', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'Шығыс Кариб доллары', + 'EC$', + 'Шығыс Кариб доллары', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'Батыс Африканың КФА франкі', + 'F CFA', + 'Батыс Африканың КФА франкі', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'КФП франкі', + 'CFPF', + 'КФП франкі', ], 'YER' => [ - 0 => 'YER', - 1 => 'Йемен риалы', + 'YER', + 'Йемен риалы', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'Оңтүстік Африка рэнді', + 'ZAR', + 'Оңтүстік Африка рэнді', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'Замбия квачасы', + 'ZMW', + 'Замбия квачасы', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kl.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kl.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kl.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kl.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,12 +3,12 @@ return [ 'Names' => [ 'DKK' => [ - 0 => 'kr.', - 1 => 'DKK', + 'kr.', + 'DKK', ], 'EUR' => [ - 0 => '€', - 1 => 'euro', + '€', + 'euro', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/km.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/km.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/km.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/km.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,656 +3,660 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'ឌៀរហាំ​អារ៉ាប់រួម', + 'AED', + 'ឌៀរហាំ​អារ៉ាប់រួម', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'អាហ្វហ្គានី​អាហ្វហ្គានីស្ថាន', + 'AFN', + 'អាហ្វហ្គានី​អាហ្វហ្គានីស្ថាន', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'លិក​អាល់បានី', + 'ALL', + 'លិក​អាល់បានី', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'ដ្រាំ​អាមេនី', + 'AMD', + 'ដ្រាំ​អាមេនី', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'ហ្គីឌិន​ហុល្លង់​អង់ទីលៀន', + 'ANG', + 'ហ្គីឌិន​ហុល្លង់​អង់ទីលៀន', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'ក្វាន់ហ្សា​អង់ហ្គោឡា', + 'AOA', + 'ក្វាន់ហ្សា​អង់ហ្គោឡា', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'ប៉េសួអាហ្សង់ទីន', + 'ARS', + 'ប៉េសួអាហ្សង់ទីន', ], 'AUD' => [ - 0 => 'A$', - 1 => 'ដុល្លារ​អូស្ត្រាលី', + 'A$', + 'ដុល្លារ​អូស្ត្រាលី', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'ហ្វ្រ័ររិញ​អារ៉ូបា', + 'AWG', + 'ហ្វ្រ័ររិញ​អារ៉ូបា', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'ម៉ាណាត​អាស៊ែបៃហ្សង់', + 'AZN', + 'ម៉ាណាត​អាស៊ែបៃហ្សង់', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'ម៉ាក​អាច​បម្លែង​បាន​បូស្នី', + 'BAM', + 'ម៉ាក​អាច​បម្លែង​បាន​បូស្នី', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'ដុល្លារ​បាបាដុស', + 'BBD', + 'ដុល្លារ​បាបាដុស', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'តាកា​បង់ក្លាដែស', + 'BDT', + 'តាកា​បង់ក្លាដែស', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'លីវ​ប៊ុលហ្គារី', + 'BGN', + 'លីវ​ប៊ុលហ្គារី', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'ឌីណា​បារ៉ែន', + 'BHD', + 'ឌីណា​បារ៉ែន', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'ហ្វ្រង់​ប៊ូរុនឌី', + 'BIF', + 'ហ្វ្រង់​ប៊ូរុនឌី', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'ដុល្លារ​ប៊ឺមុយដា', + 'BMD', + 'ដុល្លារ​ប៊ឺមុយដា', ], 'BND' => [ - 0 => 'BND', - 1 => 'ដុល្លារព្រុយណេ', + 'BND', + 'ដុល្លារព្រុយណេ', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'បូលីវីណូ​បូលីវី', + 'BOB', + 'បូលីវីណូ​បូលីវី', ], 'BRL' => [ - 0 => 'R$', - 1 => 'រៀល​ប្រេស៊ីល', + 'R$', + 'រៀល​ប្រេស៊ីល', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'ដុល្លារ​បាហាម៉ា', + 'BSD', + 'ដុល្លារ​បាហាម៉ា', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ញូលត្រឹម​ប៊ូតាន', + 'BTN', + 'ញូលត្រឹម​ប៊ូតាន', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'ពូឡា​បុតស្វាណា', + 'BWP', + 'ពូឡា​បុតស្វាណា', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'រ៉ូបល​បេឡារុស', + 'BYN', + 'រ៉ូបល​បេឡារុស', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'រ៉ូបល​បេឡារុស (2000–2016)', + 'BYR', + 'រ៉ូបល​បេឡារុស (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'ដុល្លារ​បេលី', + 'BZD', + 'ដុល្លារ​បេលី', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'ដុល្លារ​កាណាដា', + 'CA$', + 'ដុល្លារ​កាណាដា', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'ហ្វ្រង់​កុងហ្គោ', + 'CDF', + 'ហ្វ្រង់​កុងហ្គោ', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'ហ្វ្រង់ស្វីស', + 'CHF', + 'ហ្វ្រង់ស្វីស', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'ប៉េសូឈីលី', + 'CLP', + 'ប៉េសូឈីលី', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'យ័នចិន (ក្រៅប្រទេស)', + 'CNH', + 'យ័នចិន (ក្រៅប្រទេស)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'យ័នចិន', + 'CN¥', + 'យ័នចិន', ], 'COP' => [ - 0 => 'COP', - 1 => 'ប៉េសូកូឡុំប៊ី', + 'COP', + 'ប៉េសូកូឡុំប៊ី', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'កូឡុង​កូស្តារីកា', + 'CRC', + 'កូឡុង​កូស្តារីកា', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'ប៉េសូ​គុយបាអាច​បម្លែង​បាន', + 'CUC', + 'ប៉េសូ​គុយបាអាច​បម្លែង​បាន', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'ប៉េសូគុយបា', + 'CUP', + 'ប៉េសូគុយបា', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'អ៊ីស្កូឌូ​កាប់វែរ', + 'CVE', + 'អ៊ីស្កូឌូ​កាប់វែរ', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'កូរុណា​សាធារណៈ​ឆេក', + 'CZK', + 'កូរុណា​សាធារណៈ​ឆេក', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'ហ្វ្រង់​ជីប៊ូទី', + 'DJF', + 'ហ្វ្រង់​ជីប៊ូទី', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'ក្រូណេ​ដាណាម៉ាក់', + 'DKK', + 'ក្រូណេ​ដាណាម៉ាក់', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'ប៉េសូដូមីនីក', + 'DOP', + 'ប៉េសូដូមីនីក', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'ឌីណា​អាល់ស៊េរី', + 'DZD', + 'ឌីណា​អាល់ស៊េរី', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'ផោនអេហ្ស៊ីប', + 'EGP', + 'ផោនអេហ្ស៊ីប', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'ណាក់ហ្វាអេរីទ្រា', + 'ERN', + 'ណាក់ហ្វាអេរីទ្រា', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'ប៊័រ​អេត្យូពី', + 'ETB', + 'ប៊័រ​អេត្យូពី', ], 'EUR' => [ - 0 => '€', - 1 => 'អឺរ៉ូ', + '€', + 'អឺរ៉ូ', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'ដុល្លារ​ហ្វីជី', + 'FJD', + 'ដុល្លារ​ហ្វីជី', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'ផោន​កោះ​ហ្វក់ឡែន', + 'FKP', + 'ផោន​កោះ​ហ្វក់ឡែន', ], 'GBP' => [ - 0 => '£', - 1 => 'ផោនចក្រភពអង់គ្លេស', + '£', + 'ផោនចក្រភពអង់គ្លេស', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'ឡារី​​ហ្សកហ្ស៊ី', + 'GEL', + 'ឡារី​​ហ្សកហ្ស៊ី', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'ស៊ីឌី​ហ្គាណា', + 'GHS', + 'ស៊ីឌី​ហ្គាណា', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'ផោន​ហ្ស៊ីប្រាល់តា', + 'GIP', + 'ផោន​ហ្ស៊ីប្រាល់តា', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'ដាឡាស៊ី​ហ្គាំប៊ី', + 'GMD', + 'ដាឡាស៊ី​ហ្គាំប៊ី', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'ហ្វ្រង់​ហ្គីណេ', + 'GNF', + 'ហ្វ្រង់​ហ្គីណេ', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'ហ្គីស្សាល​ក្វាតេម៉ាឡា', + 'GTQ', + 'ហ្គីស្សាល​ក្វាតេម៉ាឡា', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'ដុល្លារ​ហ្គីយ៉ាន', + 'GYD', + 'ដុល្លារ​ហ្គីយ៉ាន', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'ដុល្លារ​ហុងកុង', + 'HK$', + 'ដុល្លារ​ហុងកុង', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'លិមពីរ៉ា​ហុងឌូរ៉ាស', + 'HNL', + 'លិមពីរ៉ា​ហុងឌូរ៉ាស', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'គូណា​ក្រូអាត', + 'HRK', + 'គូណា​ក្រូអាត', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'គោឌី​ហៃទី', + 'HTG', + 'គោឌី​ហៃទី', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'ហ្វូរីន​ហុងគ្រី', + 'HUF', + 'ហ្វូរីន​ហុងគ្រី', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'រូពីឥណ្ឌូណេស៊ី', + 'IDR', + 'រូពីឥណ្ឌូណេស៊ី', ], 'ILS' => [ - 0 => '₪', - 1 => 'ស៊ីគែលថ្មីអ៊ីស្រាអែល', + '₪', + 'ស៊ីគែលថ្មីអ៊ីស្រាអែល', ], 'INR' => [ - 0 => '₹', - 1 => 'រូពីឥណ្ឌា', + '₹', + 'រូពីឥណ្ឌា', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'ឌីណា​អ៊ីរ៉ាក់', + 'IQD', + 'ឌីណា​អ៊ីរ៉ាក់', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'រៀល​អ៊ីរ៉ង់', + 'IRR', + 'រៀល​អ៊ីរ៉ង់', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'ក្រូណា​អ៊ីស្លង់', + 'ISK', + 'ក្រូណា​អ៊ីស្លង់', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'ដុល្លារ​ហ្សាម៉ាអ៊ីក', + 'JMD', + 'ដុល្លារ​ហ្សាម៉ាអ៊ីក', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'ឌីណា​ហ្ស៊កដានី', + 'JOD', + 'ឌីណា​ហ្ស៊កដានី', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'យេន​ជប៉ុន', + 'JP¥', + 'យេន​ជប៉ុន', ], 'KES' => [ - 0 => 'KES', - 1 => 'ស៊ីលិញ​កេនយ៉ា', + 'KES', + 'ស៊ីលិញ​កេនយ៉ា', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'សុម​កៀហ្ស៊ីស៊ីស្ថាន', + 'KGS', + 'សុម​កៀហ្ស៊ីស៊ីស្ថាន', ], 'KHR' => [ - 0 => '៛', - 1 => 'រៀល​កម្ពុជា', + '៛', + 'រៀល​កម្ពុជា', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'ហ្វ្រង់​កូម័រ', + 'KMF', + 'ហ្វ្រង់​កូម័រ', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'វ៉ុនកូរ៉េខាងជើង', + 'KPW', + 'វ៉ុនកូរ៉េខាងជើង', ], 'KRW' => [ - 0 => '₩', - 1 => 'វ៉ុនកូរ៉េខាងត្បូង', + '₩', + 'វ៉ុនកូរ៉េខាងត្បូង', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'ឌីណា​គុយវ៉ែត', + 'KWD', + 'ឌីណា​គុយវ៉ែត', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'ដុល្លារ​កោះ​កៃម៉ែន', + 'KYD', + 'ដុល្លារ​កោះ​កៃម៉ែន', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'តង់ហ្គី​កាហ្សាក់ស្ថាន', + 'KZT', + 'តង់ហ្គី​កាហ្សាក់ស្ថាន', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'គីប​ឡាវ', + 'LAK', + 'គីប​ឡាវ', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'ផោន​លីបង់', + 'LBP', + 'ផោន​លីបង់', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'រូពីស្រីលង្កា', + 'LKR', + 'រូពីស្រីលង្កា', ], 'LRD' => [ - 0 => 'LRD', - 1 => 'ដុល្លារ​លីប៊ី', + 'LRD', + 'ដុល្លារ​លីប៊ី', ], 'LSL' => [ - 0 => 'ឡូទី', - 1 => 'ឡូទីឡេសូតូ', + 'ឡូទី', + 'ឡូទីឡេសូតូ', ], 'LTL' => [ - 0 => 'LTL', - 1 => 'លីតា​លីទុយអានី', + 'LTL', + 'លីតា​លីទុយអានី', ], 'LVL' => [ - 0 => 'LVL', - 1 => 'ឡាត់​ឡេតូនី', + 'LVL', + 'ឡាត់​ឡេតូនី', ], 'LYD' => [ - 0 => 'LYD', - 1 => 'ឌីណា​លីប៊ី', + 'LYD', + 'ឌីណា​លីប៊ី', ], 'MAD' => [ - 0 => 'MAD', - 1 => 'ឌៀរហាំ​ម៉ារ៉ុក', + 'MAD', + 'ឌៀរហាំ​ម៉ារ៉ុក', ], 'MDL' => [ - 0 => 'MDL', - 1 => 'លូ​ម៉ុលដាវី', + 'MDL', + 'លូ​ម៉ុលដាវី', ], 'MGA' => [ - 0 => 'MGA', - 1 => 'អារៀរី​ម៉ាឡាហ្គាស៊ី', + 'MGA', + 'អារៀរី​ម៉ាឡាហ្គាស៊ី', ], 'MKD' => [ - 0 => 'MKD', - 1 => 'ឌីណាម៉ាសេដូនី', + 'MKD', + 'ឌីណាម៉ាសេដូនី', ], 'MMK' => [ - 0 => 'MMK', - 1 => 'គីយ៉ាត​ភូមា', + 'MMK', + 'គីយ៉ាត​ភូមា', ], 'MNT' => [ - 0 => 'MNT', - 1 => 'ទូរីក​ម៉ុងហ្គោលី', + 'MNT', + 'ទូរីក​ម៉ុងហ្គោលី', ], 'MOP' => [ - 0 => 'MOP', - 1 => 'ប៉ាតាកា​ម៉ាកាវ', + 'MOP', + 'ប៉ាតាកា​ម៉ាកាវ', ], 'MRO' => [ - 0 => 'MRO', - 1 => 'អ៊ូហ្គីយ៉ា​ម៉ូរីតានី (1973–2017)', + 'MRO', + 'អ៊ូហ្គីយ៉ា​ម៉ូរីតានី (1973–2017)', ], 'MRU' => [ - 0 => 'MRU', - 1 => 'អ៊ូហ្គីយ៉ា​ម៉ូរីតានី', + 'MRU', + 'អ៊ូហ្គីយ៉ា​ម៉ូរីតានី', ], 'MUR' => [ - 0 => 'MUR', - 1 => 'រូពីម៉ូរីតានី', + 'MUR', + 'រូពីម៉ូរីតានី', ], 'MVR' => [ - 0 => 'MVR', - 1 => 'រ៉ូហ្វីយ៉ា​ម៉ាល់ឌីវ', + 'MVR', + 'រ៉ូហ្វីយ៉ា​ម៉ាល់ឌីវ', ], 'MWK' => [ - 0 => 'MWK', - 1 => 'ក្វាចា​ម៉ាឡាវី', + 'MWK', + 'ក្វាចា​ម៉ាឡាវី', ], 'MXN' => [ - 0 => 'MX$', - 1 => 'ប៉េសូម៉ិកសិក', + 'MX$', + 'ប៉េសូម៉ិកសិក', ], 'MYR' => [ - 0 => 'MYR', - 1 => 'រីងហ្គីត​ម៉ាឡេស៊ី', + 'MYR', + 'រីងហ្គីត​ម៉ាឡេស៊ី', ], 'MZN' => [ - 0 => 'MZN', - 1 => 'មីទីខល​ម៉ូសំប៊ិក', + 'MZN', + 'មីទីខល​ម៉ូសំប៊ិក', ], 'NAD' => [ - 0 => 'NAD', - 1 => 'ដុល្លារ​ណាមីប៊ី', + 'NAD', + 'ដុល្លារ​ណាមីប៊ី', ], 'NGN' => [ - 0 => 'NGN', - 1 => 'ណៃរ៉ា​នីហ្សេរីយ៉ា', + 'NGN', + 'ណៃរ៉ា​នីហ្សេរីយ៉ា', ], 'NIO' => [ - 0 => 'NIO', - 1 => 'ខឌូបា​នីការ៉ាហ្កា', + 'NIO', + 'ខឌូបា​នីការ៉ាហ្កា', ], 'NOK' => [ - 0 => 'NOK', - 1 => 'ក្រូណេ​ន័រវ៉េ', + 'NOK', + 'ក្រូណេ​ន័រវ៉េ', ], 'NPR' => [ - 0 => 'NPR', - 1 => 'រូពីនេប៉ាល់', + 'NPR', + 'រូពីនេប៉ាល់', ], 'NZD' => [ - 0 => 'NZ$', - 1 => 'ដុល្លារ​នូវែលសេឡង់', + 'NZ$', + 'ដុល្លារ​នូវែលសេឡង់', ], 'OMR' => [ - 0 => 'OMR', - 1 => 'រៀល​រូម៉ានី', + 'OMR', + 'រៀល​រូម៉ានី', ], 'PAB' => [ - 0 => 'PAB', - 1 => 'បាល់ប៉ៅ​ប៉ាណាម៉ា', + 'PAB', + 'បាល់ប៉ៅ​ប៉ាណាម៉ា', ], 'PEN' => [ - 0 => 'PEN', - 1 => 'ញូវ៉ូសូល​ប៉េរូ', + 'PEN', + 'ញូវ៉ូសូល​ប៉េរូ', ], 'PGK' => [ - 0 => 'PGK', - 1 => 'គីណាប៉ាពួញូហ្គីណេ', + 'PGK', + 'គីណាប៉ាពួញូហ្គីណេ', ], 'PHP' => [ - 0 => 'PHP', - 1 => 'ប៉េសូហ្វីលីពីន', + 'PHP', + 'ប៉េសូហ្វីលីពីន', ], 'PKR' => [ - 0 => 'PKR', - 1 => 'រូពីប៉ាគីស្ថាន', + 'PKR', + 'រូពីប៉ាគីស្ថាន', ], 'PLN' => [ - 0 => 'PLN', - 1 => 'ហ្សូទី​ប៉ូឡូញ', + 'PLN', + 'ហ្សូទី​ប៉ូឡូញ', ], 'PYG' => [ - 0 => 'PYG', - 1 => 'ហ្គូរីនី​ប៉ារ៉ាហ្គាយ', + 'PYG', + 'ហ្គូរីនី​ប៉ារ៉ាហ្គាយ', ], 'QAR' => [ - 0 => 'QAR', - 1 => 'រៀល​កាតា', + 'QAR', + 'រីយ៉ាលកាតា', ], 'RON' => [ - 0 => 'RON', - 1 => 'លូ​រូម៉ានី', + 'RON', + 'លូ​រូម៉ានី', ], 'RSD' => [ - 0 => 'RSD', - 1 => 'ឌីណាស៊ែប', + 'RSD', + 'ឌីណាស៊ែប', ], 'RUB' => [ - 0 => 'RUB', - 1 => 'រ៉ូបល​រុស្ស៊ី', + 'RUB', + 'រ៉ូបល​រុស្ស៊ី', ], 'RWF' => [ - 0 => 'RWF', - 1 => 'ហ្វ្រង់​រវ៉ាន់ដា', + 'RWF', + 'ហ្វ្រង់​រវ៉ាន់ដា', ], 'SAR' => [ - 0 => 'SAR', - 1 => 'រីយ៉ាល​អារ៉ាប៊ីសាអូឌីត', + 'SAR', + 'រីយ៉ាល​អារ៉ាប៊ីសាអូឌីត', ], 'SBD' => [ - 0 => 'SBD', - 1 => 'ដុល្លារ​កោះ​សូឡូម៉ុង', + 'SBD', + 'ដុល្លារ​កោះ​សូឡូម៉ុង', ], 'SCR' => [ - 0 => 'SCR', - 1 => 'រូពី​សីស្ហែល', + 'SCR', + 'រូពី​សីស្ហែល', ], 'SDG' => [ - 0 => 'SDG', - 1 => 'ផោន​ស៊ូដង់', + 'SDG', + 'ផោន​ស៊ូដង់', ], 'SEK' => [ - 0 => 'SEK', - 1 => 'ក្រូណា​ស៊ុយអែត', + 'SEK', + 'ក្រូណា​ស៊ុយអែត', ], 'SGD' => [ - 0 => 'SGD', - 1 => 'ដុល្លារ​​សិង្ហបូរី', + 'SGD', + 'ដុល្លារ​​សិង្ហបូរី', ], 'SHP' => [ - 0 => 'SHP', - 1 => 'ផោន​សាំងហេឡេណា', + 'SHP', + 'ផោន​សាំងហេឡេណា', + ], + 'SLE' => [ + 'SLE', + 'លីអ៊ុន​សៀរ៉ាឡេអូន', ], 'SLL' => [ - 0 => 'SLL', - 1 => 'លីអ៊ុន​សៀរ៉ាឡេអូន', + 'SLL', + 'លីអ៊ុន​សៀរ៉ាឡេអូន (1964—2022)', ], 'SOS' => [ - 0 => 'SOS', - 1 => 'ស៊ីលិញ​សូម៉ាលី', + 'SOS', + 'ស៊ីលិញ​សូម៉ាលី', ], 'SRD' => [ - 0 => 'SRD', - 1 => 'ដុល្លារ​សូរីណាម', + 'SRD', + 'ដុល្លារ​សូរីណាម', ], 'SSP' => [ - 0 => 'SSP', - 1 => 'ផោន​ស៊ូដង់​ខាង​ត្បូង', + 'SSP', + 'ផោន​ស៊ូដង់​ខាង​ត្បូង', ], 'STD' => [ - 0 => 'STD', - 1 => 'ឌូប្រា​សៅតូម៉េ និងប្រាំងស៊ីប (1977–2017)', + 'STD', + 'ឌូប្រា​សៅតូម៉េ និងប្រាំងស៊ីប (1977–2017)', ], 'STN' => [ - 0 => 'STN', - 1 => 'ឌូប្រា​សៅតូម៉េ និងប្រាំងស៊ីប', + 'STN', + 'ឌូប្រា​សៅតូម៉េ និងប្រាំងស៊ីប', ], 'SYP' => [ - 0 => 'SYP', - 1 => 'ផោន​ស៊ីរី', + 'SYP', + 'ផោន​ស៊ីរី', ], 'SZL' => [ - 0 => 'SZL', - 1 => 'លីឡាងហ្គីនី​ស្វាស៊ីឡង់', + 'SZL', + 'លីឡាងហ្គីនី​ស្វាស៊ីឡង់', ], 'THB' => [ - 0 => '฿', - 1 => 'បាត​ថៃ', + '฿', + 'បាត​ថៃ', ], 'TJS' => [ - 0 => 'TJS', - 1 => 'សូមុនី​តាហ្ស៊ីគីស្ថាន', + 'TJS', + 'សូមុនី​តាហ្ស៊ីគីស្ថាន', ], 'TMT' => [ - 0 => 'TMT', - 1 => 'ម៉ាណាត​តួកម៉េនីស្ថាន', + 'TMT', + 'ម៉ាណាត​តួកម៉េនីស្ថាន', ], 'TND' => [ - 0 => 'TND', - 1 => 'ឌីណាទុយនេស៊ី', + 'TND', + 'ឌីណាទុយនេស៊ី', ], 'TOP' => [ - 0 => 'TOP', - 1 => 'ប៉ាអង់កា​តុងហ្គា', + 'TOP', + 'ប៉ាអង់កា​តុងហ្គា', ], 'TRY' => [ - 0 => 'TRY', - 1 => 'លីរ៉ាទួរគី', + 'TRY', + 'លីរ៉ាទួរគី', ], 'TTD' => [ - 0 => 'TTD', - 1 => 'ដុល្លារ​ទ្រីនីដាដ និងតូបាហ្គោ', + 'TTD', + 'ដុល្លារ​ទ្រីនីដាដ និងតូបាហ្គោ', ], 'TWD' => [ - 0 => 'NT$', - 1 => 'ដុល្លារ​តៃវ៉ាន់', + 'NT$', + 'ដុល្លារ​តៃវ៉ាន់', ], 'TZS' => [ - 0 => 'TZS', - 1 => 'ស៊ីលិញ​តង់សានី', + 'TZS', + 'ស៊ីលិញ​តង់សានី', ], 'UAH' => [ - 0 => 'UAH', - 1 => 'ហ៊ូនីយ៉ា​អ៊ុយក្រែន', + 'UAH', + 'ហ៊ូនីយ៉ា​អ៊ុយក្រែន', ], 'UGX' => [ - 0 => 'UGX', - 1 => 'ស៊ីលិញ​អ៊ូហ្គង់ដា', + 'UGX', + 'ស៊ីលិញ​អ៊ូហ្គង់ដា', ], 'USD' => [ - 0 => '$', - 1 => 'ដុល្លារ​អាមេរិក', + '$', + 'ដុល្លារ​អាមេរិក', ], 'UYU' => [ - 0 => 'UYU', - 1 => 'ប៉េសូអ៊ុយរូហ្គាយ', + 'UYU', + 'ប៉េសូអ៊ុយរូហ្គាយ', ], 'UZS' => [ - 0 => 'UZS', - 1 => 'សុមអ៊ូបេគីស្ថាន', + 'UZS', + 'សុមអ៊ូបេគីស្ថាន', ], 'VEF' => [ - 0 => 'VEF', - 1 => 'ប៊ូលីវ៉ា​វ៉េណេស៊ុយអេឡា (2008–2018)', + 'VEF', + 'ប៊ូលីវ៉ា​វ៉េណេស៊ុយអេឡា (2008–2018)', ], 'VES' => [ - 0 => 'VES', - 1 => 'ប៊ូលីវ៉ា​វ៉េណេស៊ុយអេឡា', + 'VES', + 'ប៊ូលីវ៉ា​វ៉េណេស៊ុយអេឡា', ], 'VND' => [ - 0 => '₫', - 1 => 'ដុង​វៀតណាម', + '₫', + 'ដុង​វៀតណាម', ], 'VUV' => [ - 0 => 'VUV', - 1 => 'វ៉ាទូវ៉ានូអាទូ', + 'VUV', + 'វ៉ាទូវ៉ានូអាទូ', ], 'WST' => [ - 0 => 'WST', - 1 => 'តាឡា​សាម័រ', + 'WST', + 'តាឡា​សាម័រ', ], 'XAF' => [ - 0 => 'FCFA', - 1 => 'ហ្វ្រង់ CFA អាហ្វ្រិកកណ្តាល', + 'FCFA', + 'ហ្វ្រង់ CFA អាហ្វ្រិកកណ្តាល', ], 'XCD' => [ - 0 => 'EC$', - 1 => 'ដុល្លារ​ការ៉ាប៊ីន​ខាង​កើត', + 'EC$', + 'ដុល្លារ​ការ៉ាប៊ីន​ខាង​កើត', ], 'XOF' => [ - 0 => 'F CFA', - 1 => 'ហ្វ្រង់ CFA អាហ្វ្រិកខាងលិច', + 'F CFA', + 'ហ្វ្រង់ CFA អាហ្វ្រិកខាងលិច', ], 'XPF' => [ - 0 => 'CFPF', - 1 => 'ហ្វ្រង់ CFP', + 'CFPF', + 'ហ្វ្រង់ CFP', ], 'YER' => [ - 0 => 'YER', - 1 => 'រៀល​យេម៉ែន', + 'YER', + 'រៀល​យេម៉ែន', ], 'ZAR' => [ - 0 => 'ZAR', - 1 => 'រ៉ង់អាហ្វ្រិកខាងត្បូង', + 'ZAR', + 'រ៉ង់អាហ្វ្រិកខាងត្បូង', ], 'ZMK' => [ - 0 => 'ZMK', - 1 => 'ក្វាចា សំប៊ី (1968–2012)', + 'ZMK', + 'ក្វាចា សំប៊ី (1968–2012)', ], 'ZMW' => [ - 0 => 'ZMW', - 1 => 'ក្វាចាហ្សំប៊ី', + 'ZMW', + 'ក្វាចាហ្សំប៊ី', ], ], ]; diff -Nru symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kn.php symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kn.php --- symfony-5.4.23+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kn.php 2023-04-28 13:30:08.000000000 +0000 +++ symfony-5.4.52+dfsg/src/Symfony/Component/Intl/Resources/data/currencies/kn.php 2026-05-20 08:22:01.000000000 +0000 @@ -3,656 +3,660 @@ return [ 'Names' => [ 'AED' => [ - 0 => 'AED', - 1 => 'ಸಂಯುಕ್ತ ಅರಬ್‌ ಎಮಿರೇಟ್‌‌ಗಳ ದಿರಾಮ್‌‌', + 'AED', + 'ಸಂಯುಕ್ತ ಅರಬ್‌ ಎಮಿರೇಟ್‌‌ಗಳ ದಿರಾಮ್‌‌', ], 'AFN' => [ - 0 => 'AFN', - 1 => 'ಅಫ್‌ಘನ್ ಅಫಘಾನಿ', + 'AFN', + 'ಅಫ್‌ಘನ್ ಅಫಘಾನಿ', ], 'ALL' => [ - 0 => 'ALL', - 1 => 'ಅಲ್‌ಬೇನಿಯನ್ ಲೆಕ್', + 'ALL', + 'ಅಲ್‌ಬೇನಿಯನ್ ಲೆಕ್', ], 'AMD' => [ - 0 => 'AMD', - 1 => 'ಅರ್ಮೆನಿಯನ್ ಡ್ರಾಮ್', + 'AMD', + 'ಅರ್ಮೆನಿಯನ್ ಡ್ರಾಮ್', ], 'ANG' => [ - 0 => 'ANG', - 1 => 'ನೆದರ್ಲೆಂಡ್ಸ್ ಆಂಟಿಲಿಯನ್ ಗಿಲ್ಡರ್', + 'ANG', + 'ನೆದರ್ಲೆಂಡ್ಸ್ ಆಂಟಿಲಿಯನ್ ಗಿಲ್ಡರ್', ], 'AOA' => [ - 0 => 'AOA', - 1 => 'ಅಂಗೋಲಾದ ಕ್ವಾನ್ಝಾ', + 'AOA', + 'ಅಂಗೋಲಾದ ಕ್ವಾನ್ಝಾ', ], 'ARS' => [ - 0 => 'ARS', - 1 => 'ಅರ್ಜೆಂಟಿನಾ ಪೆಸೊ', + 'ARS', + 'ಅರ್ಜೆಂಟಿನಾ ಪೆಸೊ', ], 'AUD' => [ - 0 => 'A$', - 1 => 'ಆಸ್ಟ್ರೇಲಿಯನ್ ಡಾಲರ್‌', + 'A$', + 'ಆಸ್ಟ್ರೇಲಿಯನ್ ಡಾಲರ್‌', ], 'AWG' => [ - 0 => 'AWG', - 1 => 'ಅರುಬನ್ ಫ್ಲೊರೀನ್‌‌', + 'AWG', + 'ಅರುಬನ್ ಫ್ಲೊರೀನ್‌‌', ], 'AZN' => [ - 0 => 'AZN', - 1 => 'ಅಝರ್‌ಬೈಜಾನಿ ಮನಾತ್', + 'AZN', + 'ಅಝರ್‌ಬೈಜಾನಿ ಮನಾತ್', ], 'BAM' => [ - 0 => 'BAM', - 1 => 'ಬೋಸ್ನಿಯಾ-ಹರ್ಜ್‌ಗೋವಿನ ಪರಿವರ್ತನೀಯ ಗುರುತು', + 'BAM', + 'ಬೋಸ್ನಿಯಾ-ಹರ್ಜ್‌ಗೋವಿನ ಪರಿವರ್ತನೀಯ ಗುರುತು', ], 'BBD' => [ - 0 => 'BBD', - 1 => 'ಬರ್ಬಾಡಿಯನ್ ಡಾಲರ್', + 'BBD', + 'ಬರ್ಬಾಡಿಯನ್ ಡಾಲರ್', ], 'BDT' => [ - 0 => 'BDT', - 1 => 'ಬಾಂಗ್ಲಾದೇಶದ ಟಾಕಾ', + 'BDT', + 'ಬಾಂಗ್ಲಾದೇಶದ ಟಾಕಾ', ], 'BGN' => [ - 0 => 'BGN', - 1 => 'ಬಲ್ಗೇರಿಯನ್ ಲೆವ್', + 'BGN', + 'ಬಲ್ಗೇರಿಯನ್ ಲೆವ್', ], 'BHD' => [ - 0 => 'BHD', - 1 => 'ಬಹ್‌‌ರೈನಿ ದಿನಾರ್', + 'BHD', + 'ಬಹ್‌‌ರೈನಿ ದಿನಾರ್', ], 'BIF' => [ - 0 => 'BIF', - 1 => 'ಬುರುಂದಿಯನ್ ಫ್ರಾಂಕ್', + 'BIF', + 'ಬುರುಂದಿಯನ್ ಫ್ರಾಂಕ್', ], 'BMD' => [ - 0 => 'BMD', - 1 => 'ಬರ್ಮುಡನ್ ಡಾಲರ್', + 'BMD', + 'ಬರ್ಮುಡನ್ ಡಾಲರ್', ], 'BND' => [ - 0 => 'BND', - 1 => 'ಬ್ರೂನಿ ಡಾಲರ್', + 'BND', + 'ಬ್ರೂನಿ ಡಾಲರ್', ], 'BOB' => [ - 0 => 'BOB', - 1 => 'ಬೊಲಿವಿಯಾದ ಬೊಲಿವಿಯಾನೊ', + 'BOB', + 'ಬೊಲಿವಿಯಾದ ಬೊಲಿವಿಯಾನೊ', ], 'BRL' => [ - 0 => 'R$', - 1 => 'ಬ್ರೆಜಿಲಿಯನ್‌ ರಿಯಲ್', + 'R$', + 'ಬ್ರೆಜಿಲಿಯನ್‌ ರಿಯಲ್', ], 'BSD' => [ - 0 => 'BSD', - 1 => 'ಬಹಾಮಿಯನ್ ಡಾಲರ್', + 'BSD', + 'ಬಹಾಮಿಯನ್ ಡಾಲರ್', ], 'BTN' => [ - 0 => 'BTN', - 1 => 'ಭೂತಾನೀಸ್ ನುಲ್ತರಮ್', + 'BTN', + 'ಭೂತಾನೀಸ್ ನುಲ್ತರಮ್', ], 'BWP' => [ - 0 => 'BWP', - 1 => 'ಬೋಟ್ಸ್‌ವಾನನ್ ಪುಲಾ', + 'BWP', + 'ಬೋಟ್ಸ್‌ವಾನನ್ ಪುಲಾ', ], 'BYN' => [ - 0 => 'BYN', - 1 => 'ಬೆಲಾರುಸಿಯನ್ ರೂಬಲ್', + 'BYN', + 'ಬೆಲಾರುಸಿಯನ್ ರೂಬಲ್', ], 'BYR' => [ - 0 => 'BYR', - 1 => 'ಬೆಲಾರುಸಿಯನ್ ರೂಬಲ್ (2000–2016)', + 'BYR', + 'ಬೆಲಾರುಸಿಯನ್ ರೂಬಲ್ (2000–2016)', ], 'BZD' => [ - 0 => 'BZD', - 1 => 'ಬೆಲೀಜ್ ಡಾಲರ್', + 'BZD', + 'ಬೆಲೀಜ್ ಡಾಲರ್', ], 'CAD' => [ - 0 => 'CA$', - 1 => 'ಕೆನಡಾದ ಡಾಲರ್', + 'CA$', + 'ಕೆನಡಾದ ಡಾಲರ್', ], 'CDF' => [ - 0 => 'CDF', - 1 => 'ಕಾಂಗೋಲೀಸ್ ಫ್ರಾಂಕ್', + 'CDF', + 'ಕಾಂಗೋಲೀಸ್ ಫ್ರಾಂಕ್', ], 'CHF' => [ - 0 => 'CHF', - 1 => 'ಸ್ವಿಸ್ ಫ್ರಾಂಕ್', + 'CHF', + 'ಸ್ವಿಸ್ ಫ್ರಾಂಕ್', ], 'CLP' => [ - 0 => 'CLP', - 1 => 'ಚಿಲಿಯ ಪೆಸೊ', + 'CLP', + 'ಚಿಲಿಯ ಪೆಸೊ', ], 'CNH' => [ - 0 => 'CNH', - 1 => 'ಚೈನೀಸ್ ಯುವಾನ್ (ಆಫ್‌ಶೋರ್)', + 'CNH', + 'ಚೈನೀಸ್ ಯುವಾನ್ (ಆಫ್‌ಶೋರ್)', ], 'CNY' => [ - 0 => 'CN¥', - 1 => 'ಚೈನೀಸ್ ಯುವಾನ್', + 'CN¥', + 'ಚೈನೀಸ್ ಯುವಾನ್', ], 'COP' => [ - 0 => 'COP', - 1 => 'ಕೊಲೊಂಬಿಯೋದ ಪೆಸೊ', + 'COP', + 'ಕೊಲೊಂಬಿಯೋದ ಪೆಸೊ', ], 'CRC' => [ - 0 => 'CRC', - 1 => 'ಕೋಸ್ಟ ರಿಕನ್ ಕೊಲನ್', + 'CRC', + 'ಕೋಸ್ಟ ರಿಕನ್ ಕೊಲನ್', ], 'CUC' => [ - 0 => 'CUC', - 1 => 'ಕ್ಯುಬಾದ ಪರಿವರ್ತನೀಯ ಪೆಸೊ', + 'CUC', + 'ಕ್ಯುಬಾದ ಪರಿವರ್ತನೀಯ ಪೆಸೊ', ], 'CUP' => [ - 0 => 'CUP', - 1 => 'ಕ್ಯೂಬಾದ ಪೆಸೊ', + 'CUP', + 'ಕ್ಯೂಬಾದ ಪೆಸೊ', ], 'CVE' => [ - 0 => 'CVE', - 1 => 'ಕೇಪ್ ವರ್ಡಿನ್ ಎಸ್‌ಕೂಡೊ', + 'CVE', + 'ಕೇಪ್ ವರ್ಡಿನ್ ಎಸ್‌ಕೂಡೊ', ], 'CZK' => [ - 0 => 'CZK', - 1 => 'ಝೆಕ್ ಗಣರಾಜ್ಯ ಕೊರೂನ', + 'CZK', + 'ಝೆಕ್ ಗಣರಾಜ್ಯ ಕೊರೂನ', ], 'DJF' => [ - 0 => 'DJF', - 1 => 'ಜಿಬೊಟಿಯನ್ ಫ್ರಾಂಕ್', + 'DJF', + 'ಜಿಬೊಟಿಯನ್ ಫ್ರಾಂಕ್', ], 'DKK' => [ - 0 => 'DKK', - 1 => 'ಡ್ಯಾನಿಶ್ ಕ್ರೋನ್', + 'DKK', + 'ಡ್ಯಾನಿಶ್ ಕ್ರೋನ್', ], 'DOP' => [ - 0 => 'DOP', - 1 => 'ಡೊಮಿನಿಕನ್ ಪೆಸೊ', + 'DOP', + 'ಡೊಮಿನಿಕನ್ ಪೆಸೊ', ], 'DZD' => [ - 0 => 'DZD', - 1 => 'ಅಲ್ಜೀರಿಯನ್ ದಿನಾರ್', + 'DZD', + 'ಅಲ್ಜೀರಿಯನ್ ದಿನಾರ್', ], 'EGP' => [ - 0 => 'EGP', - 1 => 'ಈಜಿಪ್ಷಿಯನ್ ಪೌಂಡ್‍', + 'EGP', + 'ಈಜಿಪ್ಷಿಯನ್ ಪೌಂಡ್‍', ], 'ERN' => [ - 0 => 'ERN', - 1 => 'ಎರಿತ್ರಿಯನ್ ನಕ್ಫಾ', + 'ERN', + 'ಎರಿತ್ರಿಯನ್ ನಕ್ಫಾ', ], 'ETB' => [ - 0 => 'ETB', - 1 => 'ಇಥಿಯೋಪಿಯನ್ ಬಿರ್', + 'ETB', + 'ಇಥಿಯೋಪಿಯನ್ ಬಿರ್', ], 'EUR' => [ - 0 => '€', - 1 => 'ಯೂರೊ', + '€', + 'ಯೂರೊ', ], 'FJD' => [ - 0 => 'FJD', - 1 => 'ಫಿಜಿಯನ್ ಡಾಲರ್', + 'FJD', + 'ಫಿಜಿಯನ್ ಡಾಲರ್', ], 'FKP' => [ - 0 => 'FKP', - 1 => 'ಫಾಕ್‌ಲ್ಯಾಂಡ್ ದ್ವೀಪಗಳ ಪೌಂಡ್', + 'FKP', + 'ಫಾಕ್‌ಲ್ಯಾಂಡ್ ದ್ವೀಪಗಳ ಪೌಂಡ್', ], 'GBP' => [ - 0 => '£', - 1 => 'ಬ್ರಿಟೀಷ್ ಪೌಂಡ್', + '£', + 'ಬ್ರಿಟಿಷ್ ಪೌಂಡ್', ], 'GEL' => [ - 0 => 'GEL', - 1 => 'ಜಾರ್ಜಿಯಾದ ಲಾರಿ', + 'GEL', + 'ಜಾರ್ಜಿಯಾದ ಲಾರಿ', ], 'GHS' => [ - 0 => 'GHS', - 1 => 'ಘಾನಾದ ಸೆದಿ', + 'GHS', + 'ಘಾನಾದ ಸೆದಿ', ], 'GIP' => [ - 0 => 'GIP', - 1 => 'ಗಿಬ್ರಾಲ್ಟರ್ ಪೌಂಡ್', + 'GIP', + 'ಗಿಬ್ರಾಲ್ಟರ್ ಪೌಂಡ್', ], 'GMD' => [ - 0 => 'GMD', - 1 => 'ಗ್ಯಾಂಬಿಯಾದ ದಲಾಸಿ', + 'GMD', + 'ಗ್ಯಾಂಬಿಯಾದ ದಲಾಸಿ', ], 'GNF' => [ - 0 => 'GNF', - 1 => 'ಗಿನಿಯನ್ ಫ್ರಾಂಕ್', + 'GNF', + 'ಗಿನಿಯನ್ ಫ್ರಾಂಕ್', ], 'GTQ' => [ - 0 => 'GTQ', - 1 => 'ಗ್ವಾಟೆಮಾಲಾದ ಕುಯಿಟ್ಸಲ್‌‌', + 'GTQ', + 'ಗ್ವಾಟೆಮಾಲಾದ ಕುಯಿಟ್ಸಲ್‌‌', ], 'GYD' => [ - 0 => 'GYD', - 1 => 'ಗುಯಾನೀಸ್‌ ಡಾಲರ್‌', + 'GYD', + 'ಗುಯಾನೀಸ್‌ ಡಾಲರ್‌', ], 'HKD' => [ - 0 => 'HK$', - 1 => 'ಹಾಂಗ್ ಕಾಂಗ್ ಡಾಲರ್', + 'HK$', + 'ಹಾಂಗ್ ಕಾಂಗ್ ಡಾಲರ್', ], 'HNL' => [ - 0 => 'HNL', - 1 => 'ಹೊಂಡುರಾನ್‌ ಲೆಂಪಿರಾ', + 'HNL', + 'ಹೊಂಡುರಾನ್‌ ಲೆಂಪಿರಾ', ], 'HRK' => [ - 0 => 'HRK', - 1 => 'ಕ್ರೊಯೆಷ್ಯಾದ ಕೂನಾ', + 'HRK', + 'ಕ್ರೊಯೆಷ್ಯಾದ ಕೂನಾ', ], 'HTG' => [ - 0 => 'HTG', - 1 => 'ಹೈಟಿಯ ಗೋರ್ದೆ', + 'HTG', + 'ಹೈಟಿಯ ಗೋರ್ದೆ', ], 'HUF' => [ - 0 => 'HUF', - 1 => 'ಹಂಗೇರಿಯನ್ ಫೋರಿಂಟ್', + 'HUF', + 'ಹಂಗೇರಿಯನ್ ಫೋರಿಂಟ್', ], 'IDR' => [ - 0 => 'IDR', - 1 => 'ಇಂಡೊನೇಷ್ಯಾ ರುಪೈ', + 'IDR', + 'ಇಂಡೊನೇಷ್ಯಾ ರುಪೈ', ], 'ILS' => [ - 0 => '₪', - 1 => 'ಇಸ್ರೇಲಿ ನ್ಯೂ ಶೇಖಲ್', + '₪', + 'ಇಸ್ರೇಲಿ ನ್ಯೂ ಶೇಖಲ್', ], 'INR' => [ - 0 => '₹', - 1 => 'ಭಾರತೀಯ ರೂಪಾಯಿ', + '₹', + 'ಭಾರತೀಯ ರೂಪಾಯಿ', ], 'IQD' => [ - 0 => 'IQD', - 1 => 'ಇರಾಕಿ ದಿನಾರ್', + 'IQD', + 'ಇರಾಕಿ ದಿನಾರ್', ], 'IRR' => [ - 0 => 'IRR', - 1 => 'ಇರಾನಿಯನ್ ರಿಯಲ್', + 'IRR', + 'ಇರಾನಿಯನ್ ರಿಯಲ್', ], 'ISK' => [ - 0 => 'ISK', - 1 => 'ಐಸ್‌ಲ್ಯಾಂಡಿಕ್ ಕ್ರೋನಾ', + 'ISK', + 'ಐಸ್‌ಲ್ಯಾಂಡಿಕ್ ಕ್ರೋನಾ', ], 'JMD' => [ - 0 => 'JMD', - 1 => 'ಜಮೈಕನ್ ಡಾಲರ್', + 'JMD', + 'ಜಮೈಕನ್ ಡಾಲರ್', ], 'JOD' => [ - 0 => 'JOD', - 1 => 'ಜೋರ್ಡಾನಿಯನ್ ದಿನಾರ್', + 'JOD', + 'ಜೋರ್ಡಾನಿಯನ್ ದಿನಾರ್', ], 'JPY' => [ - 0 => 'JP¥', - 1 => 'ಜಪಾನೀಸ್ ಯೆನ್', + 'JP¥', + 'ಜಪಾನೀಸ್ ಯೆನ್', ], 'KES' => [ - 0 => 'KES', - 1 => 'ಕೀನ್ಯಾದ ಶಿಲ್ಲಿಂಗ್‌', + 'KES', + 'ಕೀನ್ಯಾದ ಶಿಲ್ಲಿಂಗ್‌', ], 'KGS' => [ - 0 => 'KGS', - 1 => 'ಕಿರ್ಗಿಸ್ತಾನಿ ಸೋಮ್', + 'KGS', + 'ಕಿರ್ಗಿಸ್ತಾನಿ ಸೋಮ್', ], 'KHR' => [ - 0 => 'KHR', - 1 => 'ಕಾಂಬೋಡಿಯನ್ ರಿಯಲ್', + 'KHR', + 'ಕಾಂಬೋಡಿಯನ್ ರಿಯಲ್', ], 'KMF' => [ - 0 => 'KMF', - 1 => 'ಕೊಮೊರಿಯನ್ ಫ್ರಾಂಕ್', + 'KMF', + 'ಕೊಮೊರಿಯನ್ ಫ್ರಾಂಕ್', ], 'KPW' => [ - 0 => 'KPW', - 1 => 'ಉತ್ತರ ಕೊರಿಯನ್ ವೋನ್', + 'KPW', + 'ಉತ್ತರ ಕೊರಿಯನ್ ವೋನ್', ], 'KRW' => [ - 0 => '₩', - 1 => 'ದಕ್ಷಿಣ ಕೊರಿಯನ್ ವೊನ್', + '₩', + 'ದಕ್ಷಿಣ ಕೊರಿಯನ್ ವೊನ್', ], 'KWD' => [ - 0 => 'KWD', - 1 => 'ಕುವೈತೀ ದಿನಾರ್', + 'KWD', + 'ಕುವೈತೀ ದಿನಾರ್', ], 'KYD' => [ - 0 => 'KYD', - 1 => 'ಕೆಮ್ಯಾನ್‌ ಐಲ್ಯಾಂಡ್‌ನ ಡಾಲರ್‌', + 'KYD', + 'ಕೆಮ್ಯಾನ್‌ ಐಲ್ಯಾಂಡ್‌ನ ಡಾಲರ್‌', ], 'KZT' => [ - 0 => 'KZT', - 1 => 'ಕಜಾಕಿಸ್ತಾನಿ ತೆಂಗೆ', + 'KZT', + 'ಕಜಾಕಿಸ್ತಾನಿ ತೆಂಗೆ', ], 'LAK' => [ - 0 => 'LAK', - 1 => 'ಲೋಟಿಯನ್ ಕಿಪ್', + 'LAK', + 'ಲೋಟಿಯನ್ ಕಿಪ್', ], 'LBP' => [ - 0 => 'LBP', - 1 => 'ಲೆಬೆನೀಸ್ ಪೌಂಡ್', + 'LBP', + 'ಲೆಬೆನೀಸ್ ಪೌಂಡ್', ], 'LKR' => [ - 0 => 'LKR', - 1 => 'ಶ್ರೀಲಂಕಾದ ರುಪೀ', + 'LKR', + 'ಶ್ರೀಲಂಕಾದ ರುಪೀ',