<?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 getPimCatalog_Updater_PropertySetterService extends KernelProdContainer
{
    /*
     * Gets the private 'pim_catalog.updater.property_setter' shared service.
     *
     * @return \Akeneo\Pim\Enrichment\Component\Product\Updater\PropertySetter
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Component/StorageUtils/Updater/PropertySetterInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/PropertySetter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/SetterRegistryInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/SetterRegistry.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/SetterInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/AttributeSetterInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/AbstractAttributeSetter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/AttributeSetter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/FieldSetterInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/AbstractFieldSetter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/QuantifiedAssociationsFieldSetter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/AssociationFieldSetter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/CategoryFieldSetter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/GroupFieldSetter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/ParentFieldSetter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/FamilyFieldSetter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/EnabledFieldSetter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Updater/Setter/MediaAttributeSetter.php';

        $a = ($container->privates['pim_catalog.repository.cached_attribute'] ?? $container->load('getPimCatalog_Repository_CachedAttributeService'));
        $b = new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\SetterRegistry($a);

        $c = ($container->privates['pim_catalog.builder.entity_with_values'] ?? $container->load('getPimCatalog_Builder_EntityWithValuesService'));
        $d = ($container->privates['pim_catalog.repository.product_model'] ?? $container->load('getPimCatalog_Repository_ProductModelService'));
        $e = ($container->privates['pim_catalog.repository.group'] ?? $container->load('getPimCatalog_Repository_GroupService'));

        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\AttributeSetter($c, [0 => 'pim_catalog_text', 1 => 'pim_catalog_textarea', 2 => 'pim_catalog_identifier']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\AttributeSetter($c, [0 => 'pim_catalog_metric']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\AttributeSetter($c, [0 => 'pim_catalog_boolean']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\AttributeSetter($c, [0 => 'pim_catalog_date']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\AttributeSetter($c, [0 => 'pim_catalog_number']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\QuantifiedAssociationsFieldSetter());
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\AssociationFieldSetter(($container->privates['pim_catalog.repository.product'] ?? $container->load('getPimCatalog_Repository_ProductService')), $d, $e, ($container->privates['pim_catalog.association.two_way_association_updater'] ?? $container->load('getPimCatalog_Association_TwoWayAssociationUpdaterService')), ($container->privates['pim_catalog.association.missing_association_adder'] ?? $container->load('getPimCatalog_Association_MissingAssociationAdderService')), ($container->privates['pim_catalog.repository.association_type'] ?? $container->load('getPimCatalog_Repository_AssociationTypeService')), [0 => 'associations']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\CategoryFieldSetter(($container->privates['pim_catalog.repository.cached_category'] ?? $container->load('getPimCatalog_Repository_CachedCategoryService')), [0 => 'categories']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\GroupFieldSetter($e, [0 => 'groups']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\ParentFieldSetter($d, [0 => 'parent']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\FamilyFieldSetter(($container->privates['pim_catalog.repository.cached_family'] ?? $container->load('getPimCatalog_Repository_CachedFamilyService')), [0 => 'family']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\EnabledFieldSetter([0 => 'enabled']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\AttributeSetter($c, [0 => 'pim_catalog_multiselect']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\AttributeSetter($c, [0 => 'pim_catalog_price_collection']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\AttributeSetter($c, [0 => 'pim_catalog_simpleselect']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\MediaAttributeSetter($c, ($container->privates['akeneo_file_storage.repository.file_info'] ?? $container->load('getAkeneoFileStorage_Repository_FileInfoService')), [0 => 'pim_catalog_file', 1 => 'pim_catalog_image']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\AttributeSetter($c, [0 => 'pim_reference_data_simpleselect']));
        $b->register(new \Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\AttributeSetter($c, [0 => 'pim_reference_data_multiselect']));

        return $container->privates['pim_catalog.updater.property_setter'] = new \Akeneo\Pim\Enrichment\Component\Product\Updater\PropertySetter($a, $b);
    }
}
