<?php
namespace Claromentis\Core\Templater\Plugin;

$GLOBALS["__65da1b1ec2d6653e8a0ab7" . "848e536215"] = (@$GLOBALS["__65da1b1ec2d6653e8a0ab" . "7848e536215"] ?: array()) + array("_46152645feeb" . "0a4235494883e" . "7269936" => base64_decode("SW52YWxpZCBjb21wb25lbnQgY2xhc3Mga2V5IC" . "c="), "_5e30c4717ce" . "d36cff9e93e1" . "9a5c576cc" => base64_decode("aXNfc3R" . "yaW5n"), "_7f628626dd1d55c71b1fc0932ffd1d" . "2c" => base64_decode("aXNf" . "YXJy" . "YXk="), "_5f68fc12357502881e059b5" . "451e2d133" => base64_decode("Y2x" . "hc3" . "Nfa" . "2V5"), "_c51bc96058fbdbf4c2ef19b306" . "d1a124" => base64_decode("Y2xhc3N" . "fZXhpc3" . "Rz"), "_78a7aac7f8d9d492be09d524f4e" . "c2e10" => base64_decode("JywgYnV0IGl0IGRv" . "ZXNuJ3QgZXhpc3Q="), "_31767d7ad58e706dbf4" . "7b7a51a0fe6c4" => base64_decode("Y291b" . "nQ="), "_87daa84e346" . "f6420a3f3426" . "e05d16a7b" => base64_decode("L" . "w" . "=" . "="), "_aed8da0f1909" . "1214b78f80351" . "048517c" => base64_decode("c3" . "Ry" . "bG" . "Vu"), "_4d707fab" . "93bebb00b" . "be69e8159" . "697c90" => base64_decode(""), "_a650665937b1e3f6738bdbb358" . "c51b2b" => base64_decode("JywgYnV0IGl0IGRvZXNuJ3QgaW1wbGVtZW50ICdDbGFyb21lbnRpc1xDb3JlXFRlbXBsYXRlclxQbHVnaW5cVGVtcGxhdGVyQ29tcG9uZW50JyBvciAnVGVtcGxhdGVyQ29tcG9uZ" . "W50JyBpbnRlcmZhY2U="), "_b74ec50039351f8353f" . "1a34794d0e1cd" => base64_decode("Q29tcG9uZW50IHRyaWVkIHRvIHVzZSBjbGFzcy" . "An"), "_3ba31e755" . "ac6e3fcfd3" . "0bcd278466" . "1cc" => base64_decode("JyB1c2" . "VkIGlu" . "IHRlbX" . "BsYXRl"), "_35ed77ccccaf3a056dcf16acae33b" . "be0" => base64_decode("Y2xhc3" . "M="));
use Claromentis\Core\Application;
use Exception;
use Pimple\Container;





class ComponentClassLocator
{
    protected $components_classes_keys = array(
        'gallery_last_images' => array('ImageListTemplaterComponent', 'gallery/classes/ImageListTemplaterComponent.php'),
        'pick_user_button' => array('PickUserComponent', 'common/classes/PickUserComponent.php'),
        'pick_contact_button' => array('PickContactComponent', 'common/classes/PickContactComponent.php'),
        'group' => array('ComponentGroup', 'common/classes/ComponentGroup.php'),
        'role' => array('ComponentRole', 'common/classes/ComponentRole.php'),
        
        
        'ai_text_generator' => array('\\Claromentis\\Core\\Widget\\Ai\\AiTextGeneratorDialog', ''),
        'ai_image_generator' => array('\\Claromentis\\Core\\Widget\\Ai\\AiImageGeneratorDialog', ''),
        'ai_chat_conversation' => array('\\Claromentis\\Core\\Widget\\Ai\\AiChatConversationDialog', ''),
        'file_upload_control' => 'file_upload',
        
        
        'file_upload' => array('\\Claromentis\\Core\\Widget\\FileUpload', ''),
        'user_picker' => array('\\Claromentis\\Core\\Widget\\UserPicker', ''),
        'dates_support' => array('\\Claromentis\\Core\\Widget\\DatesSupport', ''),
        'date_picker' => array('\\Claromentis\\Core\\Widget\\DatePicker', ''),
        'date_picker_no_year' => array('\\Claromentis\\Core\\Widget\\DatePickerNoYear', ''),
        'time_picker' => array('\\Claromentis\\Core\\Widget\\TimePicker', ''),
        'sugre_picker' => array('\\Claromentis\\Core\\Widget\\Sugre\\SUGREPicker', ''),
        'folder_picker' => array('\\Claromentis\\Documents\\Widget\\FolderPicker', ''),
        'document_picker' => array('\\Claromentis\\Documents\\Widget\\DocumentPicker', ''),
        'extranet_picker' => array('\\Claromentis\\Core\\Widget\\ExtranetPicker', ''),
        'role_picker' => array('\\Claromentis\\Core\\Widget\\RolePicker', ''),
        'group_picker' => array('\\Claromentis\\Core\\Widget\\GroupPicker', ''),
        'bbcodes' => array('\\Claromentis\\Core\\Widget\\BBCodeEditor'),
        'visual_editor' => array('\\Claromentis\\Core\\Widget\\VisualEditor'),
        'js_localize' => array('\\Claromentis\\Core\\Widget\\JSLocalize', ''),
        'isolate_css' => array('\\Claromentis\\Core\\Widget\\IsolateCSS', ''),
        'like_it' => array('\\Claromentis\\Core\\Like\\UI\\LikeIt', ''),
        
        
        'intranet_menu' => array('\\Claromentis\\Menu\\UI\\IntranetMenu', ''),
        'intranet_menu_trail' => array('\\Claromentis\\Menu\\UI\\IntranetMenuTrail', ''),
        'minicalendar' => array('\\Claromentis\\Core\\UI\\Minicalendar', ''),
        'publish_include' => array('\\Claromentis\\Core\\UI\\PublishInclude', ''),
        
        
        'core_page_title' => array('\\Claromentis\\Design\\UI\\PageTitle', ''),
        'core_extra_css' => array('\\Claromentis\\Design\\UI\\ExtraCss', ''),
    );
    protected $components_classes_map = array('ComponentExtranetPicker' => '\\Claromentis\\Core\\Widget\\ExtranetPicker', 'ComponentRolePicker' => '\\Claromentis\\Core\\Widget\\RolePicker', 'ComponentGroupPicker' => '\\Claromentis\\Core\\Widget\\GroupPicker', 'ComponentJSLocalize' => '\\Claromentis\\Core\\Widget\\JSLocalize', 'ComponentMyPhoto' => '\\Claromentis\\Core\\UI\\MyPhoto', 'TemplaterComponentPermBlock' => '\\Claromentis\\Core\\UI\\PermBlock', 'TemplaterComponentPublishInclude' => '\\Claromentis\\Core\\UI\\PublishInclude', 'HomePageNews' => '\\Claromentis\\Core\\UI\\HomePageNews', 'HomePagePollsList' => '\\Claromentis\\Core\\UI\\PollsList', 'HomePageSurveysList' => '\\Claromentis\\Core\\UI\\SurveysList', 'TemplaterComponentAnnouncements' => '\\Claromentis\\Core\\UI\\AnnouncementsList');
    protected $container;
    protected $container_prefix = '';
    public function __construct(Application $_5e4594441b0e531bfd6f0011e0327611, $container_prefix = '')
    {
        $this->container = $_5e4594441b0e531bfd6f0011e0327611;
        $this->container_prefix = $container_prefix;
    }
    
    
    
    
    
    
    
    public function GetClass($attributes)
    {
        $_35ed77ccccaf3a056dcf16acae33bbe0 = $GLOBALS["__65da1b1ec2d6653e8a0ab" . "7848e536215"]["_4d707fab93bebb00b" . "be69e8159697c90"];
        if (isset($attributes[$GLOBALS["__65da1b1e" . "c2d6653e8a" . "0ab7848e53" . "6215"]["_5f68fc12357502881e059" . "b5451e2d133"]])) {
            $_5f68fc12357502881e059b5451e2d133 = $attributes[$GLOBALS["__65da1b1ec2d665" . "3e8a0ab7848e5362" . "15"]["_5f68fc12357" . "502881e059b5" . "451e2d133"]];
            if (isset($this->container[$this->container_prefix . $_5f68fc12357502881e059b5451e2d133])) {
                $_afea3b8b191f4513a6a9f4a66aa701d7 = $this->container[$this->container_prefix . $_5f68fc12357502881e059b5451e2d133];
                if ($GLOBALS["__65da1b1ec2d6653e8a" . "0ab7848e536215"]["_5e30c4717ced36cff9e93e19" . "a5c576cc"]($_afea3b8b191f4513a6a9f4a66aa701d7)) {
                    $_35ed77ccccaf3a056dcf16acae33bbe0 = $_afea3b8b191f4513a6a9f4a66aa701d7;
                    $_afea3b8b191f4513a6a9f4a66aa701d7 = null;
                }
            } elseif (isset($this->components_classes_keys[$_5f68fc12357502881e059b5451e2d133])) {
                if ($GLOBALS["__65da1b1ec" . "2d6653e8a0a" . "b7848e53621" . "5"]["_5e30c4717ced" . "36cff9e93e19a" . "5c576cc"]($this->components_classes_keys[$_5f68fc12357502881e059b5451e2d133])) {
                    $_5f68fc12357502881e059b5451e2d133 = $this->components_classes_keys[$_5f68fc12357502881e059b5451e2d133];
                }
                $_35ed77ccccaf3a056dcf16acae33bbe0 = $this->components_classes_keys[$_5f68fc12357502881e059b5451e2d133][0];
                if ($GLOBALS["__65da1b1ec2d665" . "3e8a0ab7848e5362" . "15"]["_31767d7ad58e706dbf47b7a" . "51a0fe6c4"]($this->components_classes_keys[$_5f68fc12357502881e059b5451e2d133]) > 1) {
                    $_347f4041448ae42ddf4bed50d4787b6e = $this->components_classes_keys[$_5f68fc12357502881e059b5451e2d133][1];
                    global $INTRANET;
                    if ($GLOBALS["__65da1b1ec2d66" . "53e8a0ab7848e53" . "6215"]["_aed8da0f19091214b" . "78f80351048517c"]($_347f4041448ae42ddf4bed50d4787b6e)) {
                        @(include_once $INTRANET . $GLOBALS["__65da1b1ec2d66" . "53e8a0ab7848e53" . "6215"]["_87daa84e346f64" . "20a3f3426e05d16" . "a7b"] . $_347f4041448ae42ddf4bed50d4787b6e);
                    }
                    
                    
                }
            } else {
                throw new Exception($GLOBALS["__65da1b1ec2d6" . "653e8a0ab7848e" . "536215"]["_46152645feeb0a4235494" . "883e7269936"] . $_5f68fc12357502881e059b5451e2d133 . $GLOBALS["__65da1b1ec2d6653e8a0ab78" . "48e536215"]["_3ba31e755ac6e3fcfd30bc" . "d2784661cc"]);
            }
        } elseif (isset($attributes[$GLOBALS["__65da1b1ec2d6653e8a0ab7" . "848e536215"]["_35ed77ccccaf3a056dcf16acae" . "33bbe0"]])) {
            if (isset($this->components_classes_map[$attributes[$GLOBALS["__65da1b1ec2d" . "6653e8a0ab784" . "8e536215"]["_35ed77ccccaf3a" . "056dcf16acae33b" . "be0"]]])) {
                $_35ed77ccccaf3a056dcf16acae33bbe0 = $this->components_classes_map[$attributes[$GLOBALS["__65da1b1ec2d6653e8a0a" . "b7848e536215"]["_35ed77ccccaf3a056dcf" . "16acae33bbe0"]]];
            } else {
                $_35ed77ccccaf3a056dcf16acae33bbe0 = $attributes[$GLOBALS["__65da1b1ec2d6653e8a0ab7848e5" . "36215"]["_35ed77ccccaf3a056dcf16acae33bb" . "e0"]];
            }
        }
        if (!isset($_afea3b8b191f4513a6a9f4a66aa701d7)) {
            if (!$_35ed77ccccaf3a056dcf16acae33bbe0 || !$GLOBALS["__65da1b1" . "ec2d6653e" . "8a0ab7848" . "e536215"]["_c51bc96058fbdbf4c2ef19b3" . "06d1a124"]($_35ed77ccccaf3a056dcf16acae33bbe0)) {
                throw new Exception($GLOBALS["__65da1b1ec2d6653e8a0ab7848e" . "536215"]["_b74ec500" . "39351f835" . "3f1a34794" . "d0e1cd"] . $_35ed77ccccaf3a056dcf16acae33bbe0 . $GLOBALS["__65da1b1ec2d6653e8a0" . "ab7848e536215"]["_78a7aac7f8d9d492be09d524f" . "4ec2e10"]);
            }
            $_afea3b8b191f4513a6a9f4a66aa701d7 = $this->container->create($_35ed77ccccaf3a056dcf16acae33bbe0);
        }
        if (!$_afea3b8b191f4513a6a9f4a66aa701d7 instanceof \TemplaterComponent && !$_afea3b8b191f4513a6a9f4a66aa701d7 instanceof TemplaterComponent) {
            throw new Exception($GLOBALS["__65da1b1e" . "c2d6653e8a" . "0ab7848e53" . "6215"]["_b74ec50039351f8353" . "f1a34794d0e1cd"] . $_35ed77ccccaf3a056dcf16acae33bbe0 . $GLOBALS["__65da1b1ec2d6653e8a0ab7848e5362" . "15"]["_a650665937b1e3f6738bdbb358c" . "51b2b"]);
        }
        return $_afea3b8b191f4513a6a9f4a66aa701d7;
    }
    
    
    
    
    
    
    public function RegisterComponents($_2830c8de4a34f4c3970604161c348b72)
    {
        if (!$GLOBALS["__65da1b1ec2d6" . "653e8a0ab7848e" . "536215"]["_7f628626dd1d55c71b1fc0932f" . "fd1d2c"]($this->components_classes_keys)) {
            $this->components_classes_keys = array();
        }
        $this->components_classes_keys += $_2830c8de4a34f4c3970604161c348b72;
    }
}