<?php
namespace Claromentis\Core\Twig;

$GLOBALS["__65da1b1ec2d66" . "53e8a0ab7848e53" . "6215"] = (@$GLOBALS["__65da1b1ec" . "2d6653e8a0a" . "b7848e53621" . "5"] ?: array()) + array("_e632e86b02887f" . "94d49b7ed76a3eb" . "cdc" => base64_decode("VGVtcGxhdGUgbm90IGZvdW5" . "k"), "tem" . "pla" . "te" => base64_decode("dGVt" . "cGxh" . "dGU="), "_7313d9106eada68fc893a" . "6d6733b58a6" => base64_decode("VGVtcGxhdGUgZG9lcyBub3QgZW5kIHdpdGggdGhlICoudHdpZy" . "BleHRlbnNpb24="), "_2c83c05de4fa1" . "408a298026dfb8" . "d94b9" => base64_decode("Y2ZnX2RldmVsb3Blcl9tb" . "2Rl"), "_d155d43a39de93f858123c6b6c" . "e31d8a" => base64_decode("cHJlZ19tYXRjaA" . "=="), "_523a40c86" . "a0eb0d3176" . "46ab2bbd40" . "de8" => base64_decode("Tm8gdGVtcGxhdGUgcmVxdWV" . "zdGVk"), "_69100b7c2" . "1efad30d73" . "e5c90a439a" . "5ce" => base64_decode("Ly4qXC50" . "d2lnJC8="));
use Claromentis\Core\Config\Config;
use Claromentis\Core\Http\TwigResponse;
use Claromentis\Core\Http\TwigTemplaterResponse;
use Psr\Http\Message\ServerRequestInterface;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Twig;






class TwigTestController
{
    
    
    
    
    protected $config;
    
    
    
    
    protected $twig_loader;
    public function __construct(Config $config, \Twig\Loader\LoaderInterface $twig_loader)
    {
        $this->config = $config;
        $this->twig_loader = $twig_loader;
    }
    
    
    
    
    
    
    
    public function ShowTwigTemplate(ServerRequestInterface $request)
    {
        return new TwigResponse($this->GetTemplateName($request));
    }
    
    
    
    
    
    
    
    public function ShowHybridTwigTemplate(ServerRequestInterface $request)
    {
        $template = $this->GetTemplateName($request);
        $_678d945258a520c3df1c42fe4b558f34 = $template;
        return new TwigTemplaterResponse($template, [], $_678d945258a520c3df1c42fe4b558f34);
    }
    
    
    
    
    
    
    
    
    
    
    
    protected function GetTemplateName(ServerRequestInterface $request) : string
    {
        $parameters = $request->getQueryParams();
        $template = $request->getAttribute($GLOBALS["__65da1b1ec2d6653e8a0ab7848" . "e536215"]["tem" . "pla" . "te"]) ?: $parameters[$GLOBALS["__65da1b1ec2d665" . "3e8a0ab7848e5362" . "15"]["templa" . "te"]] ?? null;
        $_e47cb992e2e9e375e1dab801827a32c4 = $this->config->Get($GLOBALS["__65da1b1ec2d6653e8a0ab7848e53621" . "5"]["_2c83c05de" . "4fa1408a29" . "8026dfb8d9" . "4b9"]) > 0;
        $_268a831bcda9f9cd9c43c5a1a1d23cff = $GLOBALS["__65da1b1ec2d6653e8a0ab" . "7848e536215"]["_d155d43a39de9" . "3f858123c6b6ce" . "31d8a"]($GLOBALS["__65da1b1ec2d6653e8a0ab7848" . "e536215"]["_69100b7c21efad30d" . "73e5c90a439a5ce"], $template);
        if (!$_e47cb992e2e9e375e1dab801827a32c4) {
            throw new NotFoundHttpException();
        }
        if (empty($template)) {
            throw new BadRequestHttpException($GLOBALS["__65da1b1e" . "c2d6653e8a" . "0ab7848e53" . "6215"]["_523a40c86a0eb0" . "d317646ab2bbd40" . "de8"]);
        }
        if (!$_268a831bcda9f9cd9c43c5a1a1d23cff) {
            throw new BadRequestHttpException($GLOBALS["__65da1b1ec2d66" . "53e8a0ab7848e53" . "6215"]["_7313d9106eada68f" . "c893a6d6733b58a6"]);
        }
        if (!$this->twig_loader->exists($template)) {
            throw new NotFoundHttpException($GLOBALS["__65da1b1ec2d6653e8a0ab7848e" . "536215"]["_e632e86b02887f" . "94d49b7ed76a3eb" . "cdc"]);
        }
        return $template;
    }
}