<?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_Completeness_CalculatorService extends KernelProdContainer
{
    /*
     * Gets the private 'pim_catalog.completeness.calculator' shared service.
     *
     * @return \Akeneo\Pim\Enrichment\Component\Product\Completeness\CompletenessCalculator
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Completeness/CompletenessCalculator.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Structure/Component/Query/PublicApi/Family/GetRequiredAttributesMasks.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Structure/Bundle/Query/PublicApi/Family/Cache/LRUCachedGetRequiredAttributesMasks.php';

        $a = ($container->privates['akeneo.pim.enrichment.completeness.query.get_product_masks'] ?? $container->load('getAkeneo_Pim_Enrichment_Completeness_Query_GetProductMasksService'));

        if (isset($container->privates['pim_catalog.completeness.calculator'])) {
            return $container->privates['pim_catalog.completeness.calculator'];
        }
        $b = ($container->privates['akeneo.pim.structure.query.sql_get_required_attributes_masks'] ?? $container->load('getAkeneo_Pim_Structure_Query_SqlGetRequiredAttributesMasksService'));

        if (isset($container->privates['pim_catalog.completeness.calculator'])) {
            return $container->privates['pim_catalog.completeness.calculator'];
        }

        return $container->privates['pim_catalog.completeness.calculator'] = new \Akeneo\Pim\Enrichment\Component\Product\Completeness\CompletenessCalculator($a, new \Akeneo\Pim\Structure\Bundle\Query\PublicApi\Family\Cache\LRUCachedGetRequiredAttributesMasks($b));
    }
}
