<?php

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

// This file has been auto-generated by the Symfony Dependency Injection Component for internal use.
// Returns the public 'security.acl.voter.basic_permissions' shared service.

include_once \dirname(__DIR__, 4).'/vendor/symfony/security-core/Authorization/Voter/VoterInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/symfony/security-acl/Voter/AclVoter.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle/Acl/Domain/PermissionGrantingStrategyContextInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle/Acl/Voter/AclVoter.php';
include_once \dirname(__DIR__, 4).'/vendor/symfony/security-acl/Model/AclProviderInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle/Acl/Domain/RootBasedAclProvider.php';
include_once \dirname(__DIR__, 4).'/vendor/symfony/security-acl/Model/ObjectIdentityRetrievalStrategyInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle/Acl/Domain/ObjectIdentityRetrievalStrategy.php';
include_once \dirname(__DIR__, 4).'/vendor/symfony/security-acl/Model/SecurityIdentityRetrievalStrategyInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/symfony/security-acl/Domain/SecurityIdentityRetrievalStrategy.php';
include_once \dirname(__DIR__, 4).'/vendor/symfony/security-acl/Permission/PermissionMapInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle/Acl/Permission/PermissionMap.php';

$a = ($this->privates['oro_security.acl.object_identity_factory'] ?? $this->getOroSecurity_Acl_ObjectIdentityFactoryService());

$b = new \Oro\Bundle\SecurityBundle\Acl\Domain\RootBasedAclProvider($a);
$b->setBaseAclProvider(($this->services['security.acl.provider'] ?? $this->load('getSecurity_Acl_ProviderService.php')));
$c = ($this->privates['oro_security.acl.extension_selector'] ?? $this->getOroSecurity_Acl_ExtensionSelectorService());

$this->services['security.acl.voter.basic_permissions'] = $instance = new \Oro\Bundle\SecurityBundle\Acl\Voter\AclVoter($b, new \Oro\Bundle\SecurityBundle\Acl\Domain\ObjectIdentityRetrievalStrategy($a), new \Symfony\Component\Security\Acl\Domain\SecurityIdentityRetrievalStrategy(($this->privates['security.role_hierarchy'] ?? ($this->privates['security.role_hierarchy'] = new \Symfony\Component\Security\Core\Role\RoleHierarchy([]))), ($this->privates['security.authentication.trust_resolver'] ?? ($this->privates['security.authentication.trust_resolver'] = new \Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver(NULL, NULL)))), new \Oro\Bundle\SecurityBundle\Acl\Permission\PermissionMap($c), ($this->privates['monolog.logger.security'] ?? $this->getMonolog_Logger_SecurityService()), true);

$instance->setAclExtensionSelector($c);

return $instance;
