<?php

namespace ContainerHZWwagt;
include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'doctrine'.\DIRECTORY_SEPARATOR.'persistence'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Persistence'.\DIRECTORY_SEPARATOR.'ObjectManager.php';
include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'doctrine'.\DIRECTORY_SEPARATOR.'orm'.\DIRECTORY_SEPARATOR.'lib'.\DIRECTORY_SEPARATOR.'Doctrine'.\DIRECTORY_SEPARATOR.'ORM'.\DIRECTORY_SEPARATOR.'EntityManagerInterface.php';
include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'doctrine'.\DIRECTORY_SEPARATOR.'orm'.\DIRECTORY_SEPARATOR.'lib'.\DIRECTORY_SEPARATOR.'Doctrine'.\DIRECTORY_SEPARATOR.'ORM'.\DIRECTORY_SEPARATOR.'EntityManager.php';

class EntityManager_9a5be93 extends \Doctrine\ORM\EntityManager implements \ProxyManager\Proxy\VirtualProxyInterface
{

    /**
     * @var \Doctrine\ORM\EntityManager|null wrapped object, if the proxy is initialized
     */
    private $valueHolder8100e = null;

    /**
     * @var \Closure|null initializer responsible for generating the wrapped object
     */
    private $initializerc00fb = null;

    /**
     * @var bool[] map of public properties of the parent class
     */
    private static $publicPropertiese6eef = [
        
    ];

    public function getConnection()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getConnection', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getConnection();
    }

    public function getMetadataFactory()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getMetadataFactory', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getMetadataFactory();
    }

    public function getExpressionBuilder()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getExpressionBuilder', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getExpressionBuilder();
    }

    public function beginTransaction()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'beginTransaction', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->beginTransaction();
    }

    public function getCache()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getCache', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getCache();
    }

    public function transactional($func)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'transactional', array('func' => $func), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->transactional($func);
    }

    public function wrapInTransaction(callable $func)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'wrapInTransaction', array('func' => $func), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->wrapInTransaction($func);
    }

    public function commit()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'commit', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->commit();
    }

    public function rollback()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'rollback', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->rollback();
    }

    public function getClassMetadata($className)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getClassMetadata', array('className' => $className), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getClassMetadata($className);
    }

    public function createQuery($dql = '')
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'createQuery', array('dql' => $dql), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->createQuery($dql);
    }

    public function createNamedQuery($name)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'createNamedQuery', array('name' => $name), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->createNamedQuery($name);
    }

    public function createNativeQuery($sql, \Doctrine\ORM\Query\ResultSetMapping $rsm)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'createNativeQuery', array('sql' => $sql, 'rsm' => $rsm), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->createNativeQuery($sql, $rsm);
    }

    public function createNamedNativeQuery($name)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'createNamedNativeQuery', array('name' => $name), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->createNamedNativeQuery($name);
    }

    public function createQueryBuilder()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'createQueryBuilder', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->createQueryBuilder();
    }

    public function flush($entity = null)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'flush', array('entity' => $entity), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->flush($entity);
    }

    public function find($className, $id, $lockMode = null, $lockVersion = null)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'find', array('className' => $className, 'id' => $id, 'lockMode' => $lockMode, 'lockVersion' => $lockVersion), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->find($className, $id, $lockMode, $lockVersion);
    }

    public function getReference($entityName, $id)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getReference', array('entityName' => $entityName, 'id' => $id), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getReference($entityName, $id);
    }

    public function getPartialReference($entityName, $identifier)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getPartialReference', array('entityName' => $entityName, 'identifier' => $identifier), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getPartialReference($entityName, $identifier);
    }

    public function clear($entityName = null)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'clear', array('entityName' => $entityName), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->clear($entityName);
    }

    public function close()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'close', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->close();
    }

    public function persist($entity)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'persist', array('entity' => $entity), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->persist($entity);
    }

    public function remove($entity)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'remove', array('entity' => $entity), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->remove($entity);
    }

    public function refresh($entity)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'refresh', array('entity' => $entity), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->refresh($entity);
    }

    public function detach($entity)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'detach', array('entity' => $entity), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->detach($entity);
    }

    public function merge($entity)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'merge', array('entity' => $entity), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->merge($entity);
    }

    public function copy($entity, $deep = false)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'copy', array('entity' => $entity, 'deep' => $deep), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->copy($entity, $deep);
    }

    public function lock($entity, $lockMode, $lockVersion = null)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'lock', array('entity' => $entity, 'lockMode' => $lockMode, 'lockVersion' => $lockVersion), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->lock($entity, $lockMode, $lockVersion);
    }

    public function getRepository($entityName)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getRepository', array('entityName' => $entityName), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getRepository($entityName);
    }

    public function contains($entity)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'contains', array('entity' => $entity), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->contains($entity);
    }

    public function getEventManager()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getEventManager', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getEventManager();
    }

    public function getConfiguration()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getConfiguration', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getConfiguration();
    }

    public function isOpen()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'isOpen', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->isOpen();
    }

    public function getUnitOfWork()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getUnitOfWork', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getUnitOfWork();
    }

    public function getHydrator($hydrationMode)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getHydrator', array('hydrationMode' => $hydrationMode), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getHydrator($hydrationMode);
    }

    public function newHydrator($hydrationMode)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'newHydrator', array('hydrationMode' => $hydrationMode), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->newHydrator($hydrationMode);
    }

    public function getProxyFactory()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getProxyFactory', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getProxyFactory();
    }

    public function initializeObject($obj)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'initializeObject', array('obj' => $obj), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->initializeObject($obj);
    }

    public function getFilters()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'getFilters', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->getFilters();
    }

    public function isFiltersStateClean()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'isFiltersStateClean', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->isFiltersStateClean();
    }

    public function hasFilters()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'hasFilters', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return $this->valueHolder8100e->hasFilters();
    }

    /**
     * Constructor for lazy initialization
     *
     * @param \Closure|null $initializer
     */
    public static function staticProxyConstructor($initializer)
    {
        static $reflection;

        $reflection = $reflection ?? new \ReflectionClass(__CLASS__);
        $instance   = $reflection->newInstanceWithoutConstructor();

        \Closure::bind(function (\Doctrine\ORM\EntityManager $instance) {
            unset($instance->config, $instance->conn, $instance->metadataFactory, $instance->unitOfWork, $instance->eventManager, $instance->proxyFactory, $instance->repositoryFactory, $instance->expressionBuilder, $instance->closed, $instance->filterCollection, $instance->cache);
        }, $instance, 'Doctrine\\ORM\\EntityManager')->__invoke($instance);

        $instance->initializerc00fb = $initializer;

        return $instance;
    }

    public function __construct(\Doctrine\DBAL\Connection $conn, \Doctrine\ORM\Configuration $config)
    {
        static $reflection;

        if (! $this->valueHolder8100e) {
            $reflection = $reflection ?? new \ReflectionClass('Doctrine\\ORM\\EntityManager');
            $this->valueHolder8100e = $reflection->newInstanceWithoutConstructor();
        \Closure::bind(function (\Doctrine\ORM\EntityManager $instance) {
            unset($instance->config, $instance->conn, $instance->metadataFactory, $instance->unitOfWork, $instance->eventManager, $instance->proxyFactory, $instance->repositoryFactory, $instance->expressionBuilder, $instance->closed, $instance->filterCollection, $instance->cache);
        }, $this, 'Doctrine\\ORM\\EntityManager')->__invoke($this);

        }

        $this->valueHolder8100e->__construct($conn, $config);
    }

    public function & __get($name)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, '__get', ['name' => $name], $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        if (isset(self::$publicPropertiese6eef[$name])) {
            return $this->valueHolder8100e->$name;
        }

        $realInstanceReflection = new \ReflectionClass('Doctrine\\ORM\\EntityManager');

        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder8100e;

            $backtrace = debug_backtrace(false, 1);
            trigger_error(
                sprintf(
                    'Undefined property: %s::$%s in %s on line %s',
                    $realInstanceReflection->getName(),
                    $name,
                    $backtrace[0]['file'],
                    $backtrace[0]['line']
                ),
                \E_USER_NOTICE
            );
            return $targetObject->$name;
        }

        $targetObject = $this->valueHolder8100e;
        $accessor = function & () use ($targetObject, $name) {
            return $targetObject->$name;
        };
        $backtrace = debug_backtrace(true, 2);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = & $accessor();

        return $returnValue;
    }

    public function __set($name, $value)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, '__set', array('name' => $name, 'value' => $value), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        $realInstanceReflection = new \ReflectionClass('Doctrine\\ORM\\EntityManager');

        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder8100e;

            $targetObject->$name = $value;

            return $targetObject->$name;
        }

        $targetObject = $this->valueHolder8100e;
        $accessor = function & () use ($targetObject, $name, $value) {
            $targetObject->$name = $value;

            return $targetObject->$name;
        };
        $backtrace = debug_backtrace(true, 2);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = & $accessor();

        return $returnValue;
    }

    public function __isset($name)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, '__isset', array('name' => $name), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        $realInstanceReflection = new \ReflectionClass('Doctrine\\ORM\\EntityManager');

        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder8100e;

            return isset($targetObject->$name);
        }

        $targetObject = $this->valueHolder8100e;
        $accessor = function () use ($targetObject, $name) {
            return isset($targetObject->$name);
        };
        $backtrace = debug_backtrace(true, 2);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = $accessor();

        return $returnValue;
    }

    public function __unset($name)
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, '__unset', array('name' => $name), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        $realInstanceReflection = new \ReflectionClass('Doctrine\\ORM\\EntityManager');

        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder8100e;

            unset($targetObject->$name);

            return;
        }

        $targetObject = $this->valueHolder8100e;
        $accessor = function () use ($targetObject, $name) {
            unset($targetObject->$name);

            return;
        };
        $backtrace = debug_backtrace(true, 2);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $accessor();
    }

    public function __clone()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, '__clone', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        $this->valueHolder8100e = clone $this->valueHolder8100e;
    }

    public function __sleep()
    {
        $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, '__sleep', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;

        return array('valueHolder8100e');
    }

    public function __wakeup()
    {
        \Closure::bind(function (\Doctrine\ORM\EntityManager $instance) {
            unset($instance->config, $instance->conn, $instance->metadataFactory, $instance->unitOfWork, $instance->eventManager, $instance->proxyFactory, $instance->repositoryFactory, $instance->expressionBuilder, $instance->closed, $instance->filterCollection, $instance->cache);
        }, $this, 'Doctrine\\ORM\\EntityManager')->__invoke($this);
    }

    public function setProxyInitializer(\Closure $initializer = null) : void
    {
        $this->initializerc00fb = $initializer;
    }

    public function getProxyInitializer() : ?\Closure
    {
        return $this->initializerc00fb;
    }

    public function initializeProxy() : bool
    {
        return $this->initializerc00fb && ($this->initializerc00fb->__invoke($valueHolder8100e, $this, 'initializeProxy', array(), $this->initializerc00fb) || 1) && $this->valueHolder8100e = $valueHolder8100e;
    }

    public function isProxyInitialized() : bool
    {
        return null !== $this->valueHolder8100e;
    }

    public function getWrappedValueHolderValue()
    {
        return $this->valueHolder8100e;
    }


}

if (!\class_exists('EntityManager_9a5be93', false)) {
    \class_alias(__NAMESPACE__.'\\EntityManager_9a5be93', 'EntityManager_9a5be93', false);
}
