<commit_before><?php
declare(strict_types=1);

use Psr\Log\LoggerInterface;
use Shlinkio\Shlink\Core\Options\AppOptions;
use Shlinkio\Shlink\Core\Service;
use Shlinkio\Shlink\Rest\Action;
use Shlinkio\Shlink\Rest\Authentication\JWTService;
use Shlinkio\Shlink\Rest\Middleware;
use Shlinkio\Shlink\Rest\Service\ApiKeyService;
use Zend\I18n\Translator\Translator;
use Zend\ServiceManager\AbstractFactory\ConfigAbstractFactory;
use Zend\ServiceManager\Factory\InvokableFactory;

return [

    'dependencies' => [
        'factories' => [
            JWTService::class => ConfigAbstractFactory::class,
            ApiKeyService::class => ConfigAbstractFactory::class,

            Action\AuthenticateAction::class => ConfigAbstractFactory::class,
            Action\ShortCode\CreateShortCodeAction::class => ConfigAbstractFactory::class,
            Action\ShortCode\SingleStepCreateShortCodeAction::class => ConfigAbstractFactory::class,
            Action\ShortCode\EditShortCodeAction::class => ConfigAbstractFactory::class,
            Action\ShortCode\ResolveUrlAction::class => ConfigAbstractFactory::class,
            Action\Visit\GetVisitsAction::class => ConfigAbstractFactory::class,
            Action\ShortCode\ListShortCodesAction::class => ConfigAbstractFactory::class,
            Action\ShortCode\EditShortCodeTagsAction::class => ConfigAbstractFactory::class,
            Action\Tag\ListTagsAction::class => ConfigAbstractFactory::class,
            Action\Tag\DeleteTagsAction::class => ConfigAbstractFactory::class,
            Action\Tag\CreateTagsAction::class => ConfigAbstractFactory::class,
            Action\Tag\UpdateTagAction::class => ConfigAbstractFactory::class,

            Middleware\BodyParserMiddleware::class => InvokableFactory::class,
            Middleware\CrossDomainMiddleware::class => InvokableFactory::class,
            Middleware\PathVersionMiddleware::class => InvokableFactory::class,
            Middleware\CheckAuthenticationMiddleware::class => ConfigAbstractFactory::class,
        ],
    ],

    ConfigAbstractFactory::class => [
        JWTService::class => [AppOptions::class],
        ApiKeyService::class => ['em'],

        Action\AuthenticateAction::class => [ApiKeyService::class, JWTService::class, 'translator', 'Logger_Shlink'],
        Action\ShortCode\CreateShortCodeAction::class => [
            Service\UrlShortener::class,
            'translator',
            'config.url_shortener.domain',
            'Logger_Shlink',
        ],
        Action\ShortCode\SingleStepCreateShortCodeAction::class => [
            Service\UrlShortener::class,
            'translator',
            ApiKeyService::class,
            'config.url_shortener.domain',
            'Logger_Shlink',
        ],
        Action\ShortCode\EditShortCodeAction::class => [Service\ShortUrlService::class, 'translator', 'Logger_Shlink',],
        Action\ShortCode\ResolveUrlAction::class => [Service\UrlShortener::class, 'translator'],
        Action\Visit\GetVisitsAction::class => [Service\VisitsTracker::class, 'translator', 'Logger_Shlink'],
        Action\ShortCode\ListShortCodesAction::class => [Service\ShortUrlService::class, 'translator', 'Logger_Shlink'],
        Action\ShortCode\EditShortCodeTagsAction::class => [Service\ShortUrlService::class, 'translator', 'Logger_Shlink'],
        Action\Tag\ListTagsAction::class => [Service\Tag\TagService::class, LoggerInterface::class],
        Action\Tag\DeleteTagsAction::class => [Service\Tag\TagService::class, LoggerInterface::class],
        Action\Tag\CreateTagsAction::class => [Service\Tag\TagService::class, LoggerInterface::class],
        Action\Tag\UpdateTagAction::class => [Service\Tag\TagService::class, Translator::class, LoggerInterface::class],

        Middleware\CheckAuthenticationMiddleware::class => [
            JWTService::class,
            'translator',
            'config.auth.routes_whitelist',
            'Logger_Shlink',
        ],
    ],

];<commit_msg>Fixed coding styles in config file<commit_after><?php
declare(strict_types=1);

use Psr\Log\LoggerInterface;
use Shlinkio\Shlink\Core\Options\AppOptions;
use Shlinkio\Shlink\Core\Service;
use Shlinkio\Shlink\Rest\Action;
use Shlinkio\Shlink\Rest\Authentication\JWTService;
use Shlinkio\Shlink\Rest\Middleware;
use Shlinkio\Shlink\Rest\Service\ApiKeyService;
use Zend\I18n\Translator\Translator;
use Zend\ServiceManager\AbstractFactory\ConfigAbstractFactory;
use Zend\ServiceManager\Factory\InvokableFactory;

return [

    'dependencies' => [
        'factories' => [
            JWTService::class => ConfigAbstractFactory::class,
            ApiKeyService::class => ConfigAbstractFactory::class,

            Action\AuthenticateAction::class => ConfigAbstractFactory::class,
            Action\ShortCode\CreateShortCodeAction::class => ConfigAbstractFactory::class,
            Action\ShortCode\SingleStepCreateShortCodeAction::class => ConfigAbstractFactory::class,
            Action\ShortCode\EditShortCodeAction::class => ConfigAbstractFactory::class,
            Action\ShortCode\ResolveUrlAction::class => ConfigAbstractFactory::class,
            Action\Visit\GetVisitsAction::class => ConfigAbstractFactory::class,
            Action\ShortCode\ListShortCodesAction::class => ConfigAbstractFactory::class,
            Action\ShortCode\EditShortCodeTagsAction::class => ConfigAbstractFactory::class,
            Action\Tag\ListTagsAction::class => ConfigAbstractFactory::class,
            Action\Tag\DeleteTagsAction::class => ConfigAbstractFactory::class,
            Action\Tag\CreateTagsAction::class => ConfigAbstractFactory::class,
            Action\Tag\UpdateTagAction::class => ConfigAbstractFactory::class,

            Middleware\BodyParserMiddleware::class => InvokableFactory::class,
            Middleware\CrossDomainMiddleware::class => InvokableFactory::class,
            Middleware\PathVersionMiddleware::class => InvokableFactory::class,
            Middleware\CheckAuthenticationMiddleware::class => ConfigAbstractFactory::class,
        ],
    ],

    ConfigAbstractFactory::class => [
        JWTService::class => [AppOptions::class],
        ApiKeyService::class => ['em'],

        Action\AuthenticateAction::class => [ApiKeyService::class, JWTService::class, 'translator', 'Logger_Shlink'],
        Action\ShortCode\CreateShortCodeAction::class => [
            Service\UrlShortener::class,
            'translator',
            'config.url_shortener.domain',
            'Logger_Shlink',
        ],
        Action\ShortCode\SingleStepCreateShortCodeAction::class => [
            Service\UrlShortener::class,
            'translator',
            ApiKeyService::class,
            'config.url_shortener.domain',
            'Logger_Shlink',
        ],
        Action\ShortCode\EditShortCodeAction::class => [Service\ShortUrlService::class, 'translator', 'Logger_Shlink',],
        Action\ShortCode\ResolveUrlAction::class => [Service\UrlShortener::class, 'translator'],
        Action\Visit\GetVisitsAction::class => [Service\VisitsTracker::class, 'translator', 'Logger_Shlink'],
        Action\ShortCode\ListShortCodesAction::class => [Service\ShortUrlService::class, 'translator', 'Logger_Shlink'],
        Action\ShortCode\EditShortCodeTagsAction::class => [
            Service\ShortUrlService::class,
            'translator',
            'Logger_Shlink',
        ],
        Action\Tag\ListTagsAction::class => [Service\Tag\TagService::class, LoggerInterface::class],
        Action\Tag\DeleteTagsAction::class => [Service\Tag\TagService::class, LoggerInterface::class],
        Action\Tag\CreateTagsAction::class => [Service\Tag\TagService::class, LoggerInterface::class],
        Action\Tag\UpdateTagAction::class => [Service\Tag\TagService::class, Translator::class, LoggerInterface::class],

        Middleware\CheckAuthenticationMiddleware::class => [
            JWTService::class,
            'translator',
            'config.auth.routes_whitelist',
            'Logger_Shlink',
        ],
    ],

];
{'fraction_non_alphanumeric': 0.12300598205383849, 'fraction_numerical': 0.0007477567298105683, 'mean_word_length': 3.692982456140351, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 75, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '358040', 'n_tokens_mistral': 2105, 'n_tokens_neox': 2117, 'n_words': 243}