<?php

namespace ContainerH4AHLTQ;

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 getListCategoriesControllerService extends KernelProdContainer
{
    /*
     * Gets the public 'Akeneo\Category\Infrastructure\Controller\ExternalApi\ListCategoriesController' shared service.
     *
     * @return \Akeneo\Category\Infrastructure\Controller\ExternalApi\ListCategoriesController
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 4).'/vendor/symfony/framework-bundle/Controller/AbstractController.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Category/back/Infrastructure/Controller/ExternalApi/ListCategoriesController.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Category/back/Application/Query/GetCategoriesParametersBuilder.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Category/back/Infrastructure/Storage/Sql/GetCategoriesParametersBuilderSql.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Category/back/Application/Handler/SearchFilters.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Category/back/Infrastructure/Handler/SearchFiltersSql.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Category/back/Infrastructure/Validation/ExternalApiSearchFiltersValidator.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Category/back/Application/Query/GetCategoriesInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Category/back/Infrastructure/Storage/Sql/GetCategoriesSql.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Category/back/Application/Handler/GetPositionInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Category/back/Infrastructure/Handler/GetPositionHandler.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Category/back/Application/Query/GetDirectChildrenCategoryCodesInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Category/back/Infrastructure/Storage/Sql/GetDirectChildrenCategoryCodes.php';

        $a = ($container->services['doctrine.dbal.default_connection'] ?? $container->getDoctrine_Dbal_DefaultConnectionService());

        $container->services['Akeneo\\Category\\Infrastructure\\Controller\\ExternalApi\\ListCategoriesController'] = $instance = new \Akeneo\Category\Infrastructure\Controller\ExternalApi\ListCategoriesController(($container->privates['pim_api.pagination.offset_hal_paginator'] ?? $container->load('getPimApi_Pagination_OffsetHalPaginatorService')), ($container->privates['pim_api.pagination.parameter_validator'] ?? $container->load('getPimApi_Pagination_ParameterValidatorService')), ($container->services['feature_flags'] ?? $container->getFeatureFlagsService()), new \Akeneo\Category\Infrastructure\Storage\Sql\GetCategoriesParametersBuilderSql(new \Akeneo\Category\Infrastructure\Handler\SearchFiltersSql(new \Akeneo\Category\Infrastructure\Validation\ExternalApiSearchFiltersValidator(($container->services['.container.private.validator'] ?? $container->load('get_Container_Private_ValidatorService'))), ($container->privates['Akeneo\\Category\\Domain\\Query\\GetCategoryInterface'] ?? $container->load('getGetCategoryInterfaceService')))), new \Akeneo\Category\Infrastructure\Storage\Sql\GetCategoriesSql($a), new \Akeneo\Category\Infrastructure\Handler\GetPositionHandler(new \Akeneo\Category\Infrastructure\Storage\Sql\GetDirectChildrenCategoryCodes($a)), $container->parameters['pim_api.configuration']);

        $instance->setContainer($container);

        return $instance;
    }
}
