<?php

namespace ContainerOQlxh73;

use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
use Symfony\Component\DependencyInjection\Exception\RuntimeException;

/*
 * @internal This class has been auto-generated by the Symfony Dependency Injection Component.
 */
class getSecurity_Authenticator_FormLogin_MainService extends KernelProdContainer
{
    /*
     * Gets the private 'security.authenticator.form_login.main' shared service.
     *
     * @return \Akeneo\Platform\Bundle\UIBundle\Http\FormLoginAuthenticator
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-http/Authenticator/AuthenticatorInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-http/Authenticator/AbstractAuthenticator.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-http/EntryPoint/AuthenticationEntryPointInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-http/Authenticator/InteractiveAuthenticatorInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-http/Authenticator/AbstractLoginFormAuthenticator.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Platform/Bundle/UIBundle/Http/FormLoginAuthenticator.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-http/Authentication/AuthenticationSuccessHandlerInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-http/Util/TargetPathTrait.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-http/Authentication/DefaultAuthenticationSuccessHandler.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-http/Authentication/AuthenticationFailureHandlerInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-http/Authentication/DefaultAuthenticationFailureHandler.php';

        $a = ($container->privates['security.user.provider.concrete.chain_provider'] ?? $container->load('getSecurity_User_Provider_Concrete_ChainProviderService'));

        if (isset($container->privates['security.authenticator.form_login.main'])) {
            return $container->privates['security.authenticator.form_login.main'];
        }
        $b = ($container->services['http_kernel'] ?? $container->getHttpKernelService());

        if (isset($container->privates['security.authenticator.form_login.main'])) {
            return $container->privates['security.authenticator.form_login.main'];
        }
        $c = ($container->privates['security.http_utils'] ?? $container->load('getSecurity_HttpUtilsService'));
        $d = new \Symfony\Component\Security\Http\Authentication\DefaultAuthenticationSuccessHandler($c, [], ($container->privates['monolog.logger'] ?? $container->load('getMonolog_LoggerService')));
        $d->setOptions(['login_path' => 'pim_user_security_login', 'always_use_default_target_path' => false, 'default_target_path' => '/', 'target_path_parameter' => '_target_path', 'use_referer' => false]);
        $d->setFirewallName('main');
        $e = new \Symfony\Component\Security\Http\Authentication\DefaultAuthenticationFailureHandler($b, $c, [], ($container->privates['monolog.logger.security'] ?? $container->getMonolog_Logger_SecurityService()));
        $e->setOptions(['login_path' => 'pim_user_security_login', 'failure_path' => NULL, 'failure_forward' => false, 'failure_path_parameter' => '_failure_path']);

        $container->privates['security.authenticator.form_login.main'] = $instance = new \Akeneo\Platform\Bundle\UIBundle\Http\FormLoginAuthenticator($c, $a, $d, $e, ['enable_csrf' => true, 'check_path' => 'pim_user_security_check', 'login_path' => 'pim_user_security_login', 'use_forward' => true, 'require_previous_session' => false, 'username_parameter' => '_username', 'password_parameter' => '_password', 'csrf_parameter' => '_csrf_token', 'csrf_token_id' => 'authenticate', 'post_only' => true, 'form_only' => false]);

        $instance->setHttpKernel($b);

        return $instance;
    }
}
