<?php

namespace ContainerRYWeSXx;

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

/*
 * @internal This class has been auto-generated by the Symfony Dependency Injection Component.
 */
class getDoctrineMongodb_Odm_DefaultDocumentManagerService extends App_KernelProdContainer
{
    /*
     * Gets the public 'doctrine_mongodb.odm.default_document_manager' shared service.
     *
     * @return \Doctrine\ODM\MongoDB\DocumentManager
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once $container->targetDir.''.'/elao_enum_doctrine_odm_types.php';

        $a = new \Doctrine\ODM\MongoDB\Configuration();

        $b = new \Doctrine\Persistence\Mapping\Driver\MappingDriverChain();
        $b->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\AttributeDriver([(\dirname(__DIR__, 4).'/src/Document')]), 'App\\Document');

        $a->setMetadataCache(($container->privates['doctrine_mongodb.system_cache_pool'] ?? $container->load('getDoctrineMongodb_SystemCachePoolService')));
        $a->setMetadataDriverImpl($b);
        $a->setProxyDir(($container->targetDir.''.'/doctrine/odm/mongodb/Proxies'));
        $a->setProxyNamespace('MongoDBODMProxies');
        $a->setAutoGenerateProxyClasses(0);
        $a->setHydratorDir(($container->targetDir.''.'/doctrine/odm/mongodb/Hydrators'));
        $a->setHydratorNamespace('Hydrators');
        $a->setAutoGenerateHydratorClasses(0);
        $a->setDefaultDB($container->getEnv('resolve:MONGODB_DB'));
        $a->setDefaultCommitOptions([]);
        $a->setDefaultDocumentRepositoryClassName('Doctrine\\ODM\\MongoDB\\Repository\\DocumentRepository');
        $a->setDefaultGridFSRepositoryClassName('Doctrine\\ODM\\MongoDB\\Repository\\DefaultGridFSRepository');
        $a->setPersistentCollectionDir(($container->targetDir.''.'/doctrine/odm/mongodb/PersistentCollections'));
        $a->setPersistentCollectionNamespace('PersistentCollections');
        $a->setAutoGeneratePersistentCollectionClasses(0);
        $a->setUseNativeLazyObject(true);
        $a->setUseTransactionalFlush(false);
        $a->setRepositoryFactory(new \Doctrine\Bundle\MongoDBBundle\Repository\ContainerRepositoryFactory(new \Symfony\Component\DependencyInjection\Argument\ServiceLocator($container->getService ??= $container->getService(...), [
            'App\\Repository\\ApiLogRepository' => ['privates', 'App\\Repository\\ApiLogRepository', 'getApiLogRepositoryService', true],
            'App\\Repository\\ApiUserRepository' => ['privates', 'App\\Repository\\ApiUserRepository', 'getApiUserRepositoryService', false],
            'App\\Repository\\ContainerRepository' => ['privates', 'App\\Repository\\ContainerRepository', 'getContainerRepositoryService', true],
            'App\\Repository\\CustomsDeclarationRepository' => ['privates', 'App\\Repository\\CustomsDeclarationRepository', 'getCustomsDeclarationRepositoryService', true],
            'App\\Repository\\DeliveryPlanningRepository' => ['privates', 'App\\Repository\\DeliveryPlanningRepository', 'getDeliveryPlanningRepositoryService', true],
            'App\\Repository\\DeliverySlotAvailabilityRepository' => ['privates', 'App\\Repository\\DeliverySlotAvailabilityRepository', 'getDeliverySlotAvailabilityRepositoryService', true],
            'App\\Repository\\DeliverySlotBlockingRepository' => ['privates', 'App\\Repository\\DeliverySlotBlockingRepository', 'getDeliverySlotBlockingRepositoryService', true],
            'App\\Repository\\DeliverySlotCappingRepository' => ['privates', 'App\\Repository\\DeliverySlotCappingRepository', 'getDeliverySlotCappingRepositoryService', true],
            'App\\Repository\\DeliverySlotInjectionDelayRepository' => ['privates', 'App\\Repository\\DeliverySlotInjectionDelayRepository', 'getDeliverySlotInjectionDelayRepositoryService', true],
            'App\\Repository\\DeliverySlotPreparationDelayRepository' => ['privates', 'App\\Repository\\DeliverySlotPreparationDelayRepository', 'getDeliverySlotPreparationDelayRepositoryService', true],
            'App\\Repository\\DepositRepository' => ['privates', 'App\\Repository\\DepositRepository', 'getDepositRepositoryService', true],
            'App\\Repository\\EanRepository' => ['privates', 'App\\Repository\\EanRepository', 'getEanRepositoryService', true],
            'App\\Repository\\EventRepository' => ['privates', 'App\\Repository\\EventRepository', 'getEventRepositoryService', false],
            'App\\Repository\\EverestAgencyRepository' => ['privates', 'App\\Repository\\EverestAgencyRepository', 'getEverestAgencyRepositoryService', true],
            'App\\Repository\\EverestMissionRepository' => ['privates', 'App\\Repository\\EverestMissionRepository', 'getEverestMissionRepositoryService', true],
            'App\\Repository\\ExchangeRateRepository' => ['privates', 'App\\Repository\\ExchangeRateRepository', 'getExchangeRateRepositoryService', true],
            'App\\Repository\\ExpeditionCarrierNumberRepository' => ['privates', 'App\\Repository\\ExpeditionCarrierNumberRepository', 'getExpeditionCarrierNumberRepositoryService', false],
            'App\\Repository\\ExpeditionFollowUpRepository' => ['privates', 'App\\Repository\\ExpeditionFollowUpRepository', 'getExpeditionFollowUpRepositoryService', true],
            'App\\Repository\\ExpeditionRepository' => ['privates', 'App\\Repository\\ExpeditionRepository', 'getExpeditionRepositoryService', true],
            'App\\Repository\\ExpeditionSupportRepository' => ['privates', 'App\\Repository\\ExpeditionSupportRepository', 'getExpeditionSupportRepositoryService', true],
            'App\\Repository\\FormulaConfigurationRepository' => ['privates', 'App\\Repository\\FormulaConfigurationRepository', 'getFormulaConfigurationRepositoryService', true],
            'App\\Repository\\HistoryRepository' => ['privates', 'App\\Repository\\HistoryRepository', 'getHistoryRepositoryService', true],
            'App\\Repository\\IncidentRepository' => ['privates', 'App\\Repository\\IncidentRepository', 'getIncidentRepositoryService', true],
            'App\\Repository\\MarketplaceRepository' => ['privates', 'App\\Repository\\MarketplaceRepository', 'getMarketplaceRepositoryService', true],
            'App\\Repository\\OrderGiverRepository' => ['privates', 'App\\Repository\\OrderGiverRepository', 'getOrderGiverRepositoryService', true],
            'App\\Repository\\OrganizationRepository' => ['privates', 'App\\Repository\\OrganizationRepository', 'getOrganizationRepositoryService', true],
            'App\\Repository\\ParameterRepository' => ['privates', 'App\\Repository\\ParameterRepository', 'getParameterRepositoryService', true],
            'App\\Repository\\ParcelRepository' => ['privates', 'App\\Repository\\ParcelRepository', 'getParcelRepositoryService', true],
            'App\\Repository\\RateLimitConfigRepository' => ['privates', 'App\\Repository\\RateLimitConfigRepository', 'getRateLimitConfigRepositoryService', false],
            'App\\Repository\\ReleaseRepository' => ['privates', 'App\\Repository\\ReleaseRepository', 'getReleaseRepositoryService', true],
            'App\\Repository\\ReturnParcelRepository' => ['privates', 'App\\Repository\\ReturnParcelRepository', 'getReturnParcelRepositoryService', true],
            'App\\Repository\\ReturnParcelUnitRepository' => ['privates', 'App\\Repository\\ReturnParcelUnitRepository', 'getReturnParcelUnitRepositoryService', true],
            'App\\Repository\\ReturnShipmentRepository' => ['privates', 'App\\Repository\\ReturnShipmentRepository', 'getReturnShipmentRepositoryService', true],
            'App\\Repository\\ShortLinkRepository' => ['privates', 'App\\Repository\\ShortLinkRepository', 'getShortLinkRepositoryService', true],
            'App\\Repository\\SlotDeliveryDelayRepository' => ['privates', 'App\\Repository\\SlotDeliveryDelayRepository', 'getSlotDeliveryDelayRepositoryService', true],
            'App\\Repository\\SmsRepository' => ['privates', 'App\\Repository\\SmsRepository', 'getSmsRepositoryService', true],
            'App\\Repository\\StockImageLineRepository' => ['privates', 'App\\Repository\\StockImageLineRepository', 'getStockImageLineRepositoryService', true],
            'App\\Repository\\StockImageRepository' => ['privates', 'App\\Repository\\StockImageRepository', 'getStockImageRepositoryService', true],
            'App\\Repository\\SupplierRepository' => ['privates', 'App\\Repository\\SupplierRepository', 'getSupplierRepositoryService', true],
            'App\\Repository\\TilConversionRuleRepository' => ['privates', 'App\\Repository\\TilConversionRuleRepository', 'getTilConversionRuleRepositoryService', true],
            'App\\Repository\\ToulivLabelRepository' => ['privates', 'App\\Repository\\ToulivLabelRepository', 'getToulivLabelRepositoryService', true],
            'App\\Repository\\ToulivRoutingRuleRepository' => ['privates', 'App\\Repository\\ToulivRoutingRuleRepository', 'getToulivRoutingRuleRepositoryService', true],
            'App\\Repository\\TransferRepository' => ['privates', 'App\\Repository\\TransferRepository', 'getTransferRepositoryService', true],
            'App\\Repository\\TransportZoneRepository' => ['privates', 'App\\Repository\\TransportZoneRepository', 'getTransportZoneRepositoryService', true],
            'App\\Repository\\UserGroupRepository' => ['privates', 'App\\Repository\\UserGroupRepository', 'getUserGroupRepositoryService', true],
            'App\\Repository\\UserRepository' => ['privates', 'App\\Repository\\UserRepository', 'getUserRepositoryService', true],
            'App\\Repository\\WarehouseRoutingRuleRepository' => ['privates', 'App\\Repository\\WarehouseRoutingRuleRepository', 'getWarehouseRoutingRuleRepositoryService', true],
            'App\\Repository\\ZipcodeRepository' => ['privates', 'App\\Repository\\ZipcodeRepository', 'getZipcodeRepositoryService', true],
        ], [
            'App\\Repository\\ApiLogRepository' => '?',
            'App\\Repository\\ApiUserRepository' => '?',
            'App\\Repository\\ContainerRepository' => '?',
            'App\\Repository\\CustomsDeclarationRepository' => '?',
            'App\\Repository\\DeliveryPlanningRepository' => '?',
            'App\\Repository\\DeliverySlotAvailabilityRepository' => '?',
            'App\\Repository\\DeliverySlotBlockingRepository' => '?',
            'App\\Repository\\DeliverySlotCappingRepository' => '?',
            'App\\Repository\\DeliverySlotInjectionDelayRepository' => '?',
            'App\\Repository\\DeliverySlotPreparationDelayRepository' => '?',
            'App\\Repository\\DepositRepository' => '?',
            'App\\Repository\\EanRepository' => '?',
            'App\\Repository\\EventRepository' => '?',
            'App\\Repository\\EverestAgencyRepository' => '?',
            'App\\Repository\\EverestMissionRepository' => '?',
            'App\\Repository\\ExchangeRateRepository' => '?',
            'App\\Repository\\ExpeditionCarrierNumberRepository' => '?',
            'App\\Repository\\ExpeditionFollowUpRepository' => '?',
            'App\\Repository\\ExpeditionRepository' => '?',
            'App\\Repository\\ExpeditionSupportRepository' => '?',
            'App\\Repository\\FormulaConfigurationRepository' => '?',
            'App\\Repository\\HistoryRepository' => '?',
            'App\\Repository\\IncidentRepository' => '?',
            'App\\Repository\\MarketplaceRepository' => '?',
            'App\\Repository\\OrderGiverRepository' => '?',
            'App\\Repository\\OrganizationRepository' => '?',
            'App\\Repository\\ParameterRepository' => '?',
            'App\\Repository\\ParcelRepository' => '?',
            'App\\Repository\\RateLimitConfigRepository' => '?',
            'App\\Repository\\ReleaseRepository' => '?',
            'App\\Repository\\ReturnParcelRepository' => '?',
            'App\\Repository\\ReturnParcelUnitRepository' => '?',
            'App\\Repository\\ReturnShipmentRepository' => '?',
            'App\\Repository\\ShortLinkRepository' => '?',
            'App\\Repository\\SlotDeliveryDelayRepository' => '?',
            'App\\Repository\\SmsRepository' => '?',
            'App\\Repository\\StockImageLineRepository' => '?',
            'App\\Repository\\StockImageRepository' => '?',
            'App\\Repository\\SupplierRepository' => '?',
            'App\\Repository\\TilConversionRuleRepository' => '?',
            'App\\Repository\\ToulivLabelRepository' => '?',
            'App\\Repository\\ToulivRoutingRuleRepository' => '?',
            'App\\Repository\\TransferRepository' => '?',
            'App\\Repository\\TransportZoneRepository' => '?',
            'App\\Repository\\UserGroupRepository' => '?',
            'App\\Repository\\UserRepository' => '?',
            'App\\Repository\\WarehouseRoutingRuleRepository' => '?',
            'App\\Repository\\ZipcodeRepository' => '?',
        ])));

        $instance = \Doctrine\ODM\MongoDB\DocumentManager::create(($container->services['doctrine_mongodb.odm.default_connection'] ?? $container->load('getDoctrineMongodb_Odm_DefaultConnectionService')), $a, new \Symfony\Bridge\Doctrine\ContainerAwareEventManager(new \Symfony\Component\DependencyInjection\Argument\ServiceLocator($container->getService ??= $container->getService(...), [
            'vich_uploader.listener.clean.organization' => ['privates', 'vich_uploader.listener.clean.organization', 'getVichUploader_Listener_Clean_OrganizationService', true],
            'vich_uploader.listener.clean.order_giver' => ['privates', 'vich_uploader.listener.clean.order_giver', 'getVichUploader_Listener_Clean_OrderGiverService', true],
            'vich_uploader.listener.clean.organization_stamp' => ['privates', 'vich_uploader.listener.clean.organization_stamp', 'getVichUploader_Listener_Clean_OrganizationStampService', true],
            'App\\EventListener\\DocumentCacheInvalidationListener' => ['privates', 'App\\EventListener\\DocumentCacheInvalidationListener', 'getDocumentCacheInvalidationListenerService', true],
            'App\\EventListener\\DocumentValidationListener' => ['privates', 'App\\EventListener\\DocumentValidationListener', 'getDocumentValidationListenerService', true],
            'stof_doctrine_extensions.listener.timestampable' => ['privates', 'stof_doctrine_extensions.listener.timestampable', 'getStofDoctrineExtensions_Listener_TimestampableService', true],
            'vich_uploader.listener.remove.organization' => ['privates', 'vich_uploader.listener.remove.organization', 'getVichUploader_Listener_Remove_OrganizationService', true],
            'vich_uploader.listener.upload.organization' => ['privates', 'vich_uploader.listener.upload.organization', 'getVichUploader_Listener_Upload_OrganizationService', true],
            'vich_uploader.listener.remove.order_giver' => ['privates', 'vich_uploader.listener.remove.order_giver', 'getVichUploader_Listener_Remove_OrderGiverService', true],
            'vich_uploader.listener.upload.order_giver' => ['privates', 'vich_uploader.listener.upload.order_giver', 'getVichUploader_Listener_Upload_OrderGiverService', true],
            'vich_uploader.listener.remove.organization_stamp' => ['privates', 'vich_uploader.listener.remove.organization_stamp', 'getVichUploader_Listener_Remove_OrganizationStampService', true],
            'vich_uploader.listener.upload.organization_stamp' => ['privates', 'vich_uploader.listener.upload.organization_stamp', 'getVichUploader_Listener_Upload_OrganizationStampService', true],
        ], [
            'vich_uploader.listener.clean.organization' => '?',
            'vich_uploader.listener.clean.order_giver' => '?',
            'vich_uploader.listener.clean.organization_stamp' => '?',
            'App\\EventListener\\DocumentCacheInvalidationListener' => '?',
            'App\\EventListener\\DocumentValidationListener' => '?',
            'stof_doctrine_extensions.listener.timestampable' => '?',
            'vich_uploader.listener.remove.organization' => '?',
            'vich_uploader.listener.upload.organization' => '?',
            'vich_uploader.listener.remove.order_giver' => '?',
            'vich_uploader.listener.upload.order_giver' => '?',
            'vich_uploader.listener.remove.organization_stamp' => '?',
            'vich_uploader.listener.upload.organization_stamp' => '?',
        ]), [[['preUpdate'], 'vich_uploader.listener.clean.organization'], [['preUpdate'], 'vich_uploader.listener.clean.order_giver'], [['preUpdate'], 'vich_uploader.listener.clean.organization_stamp'], [['postPersist'], 'App\\EventListener\\DocumentCacheInvalidationListener'], [['postUpdate'], 'App\\EventListener\\DocumentCacheInvalidationListener'], [['postRemove'], 'App\\EventListener\\DocumentCacheInvalidationListener'], [['prePersist'], 'App\\EventListener\\DocumentValidationListener'], [['preUpdate'], 'App\\EventListener\\DocumentValidationListener'], [['prePersist'], 'stof_doctrine_extensions.listener.timestampable'], [['onFlush'], 'stof_doctrine_extensions.listener.timestampable'], [['loadClassMetadata'], 'stof_doctrine_extensions.listener.timestampable'], [['preRemove'], 'vich_uploader.listener.remove.organization'], [['postFlush'], 'vich_uploader.listener.remove.organization'], [['prePersist'], 'vich_uploader.listener.upload.organization'], [['preUpdate'], 'vich_uploader.listener.upload.organization'], [['preRemove'], 'vich_uploader.listener.remove.order_giver'], [['postFlush'], 'vich_uploader.listener.remove.order_giver'], [['prePersist'], 'vich_uploader.listener.upload.order_giver'], [['preUpdate'], 'vich_uploader.listener.upload.order_giver'], [['preRemove'], 'vich_uploader.listener.remove.organization_stamp'], [['postFlush'], 'vich_uploader.listener.remove.organization_stamp'], [['prePersist'], 'vich_uploader.listener.upload.organization_stamp'], [['preUpdate'], 'vich_uploader.listener.upload.organization_stamp']]));

        if (isset($container->services['doctrine_mongodb.odm.default_document_manager'])) {
            return $container->services['doctrine_mongodb.odm.default_document_manager'];
        }

        $container->services['doctrine_mongodb.odm.default_document_manager'] = $instance;

        $c = new \Doctrine\Bundle\MongoDBBundle\ManagerConfigurator([]);
        $c->loadTypes(['stockTypeCollection' => ['class' => 'ELAO_ENUM_DT_ODM\\App\\Core\\Enum\\StockTypeCollectionCollectionType'], 'countryCollection' => ['class' => 'ELAO_ENUM_DT_ODM\\VenteUnique\\Common\\CountryCollectionCollectionType']]);

        $c->configure($instance);

        return $instance;
    }
}
