Error
Call to a member function expect() on null Error thrown with message "Call to a member function expect() on null" Stacktrace: #70 Error in /var/app/current/vendor/twig/twig/src/ExpressionParser.php:589 #69 Twig\ExpressionParser:parseAssignmentExpression in /var/app/current/vendor/twig/twig/src/TokenParser/SetTokenParser.php:36 #68 Twig\TokenParser\SetTokenParser:parse in /var/app/current/vendor/twig/twig/src/Parser.php:209 #67 Twig\Parser:subparse in /var/app/current/vendor/twig/twig/src/Parser.php:122 #66 Twig\Parser:parse in /var/app/current/vendor/twig/twig/src/Environment.php:735 #65 Twig\Environment:parse in /var/app/current/vendor/twig/twig/src/Environment.php:793 #64 Twig\Environment:compileSource in /var/app/current/vendor/twig/twig/src/Environment.php:482 #63 Twig\Environment:loadClass in /var/app/current/vendor/twig/twig/src/Environment.php:445 #62 Twig\Environment:loadTemplate in /var/app/current/vendor/twig/twig/src/Template.php:369 #61 Twig\Template:loadTemplate in /var/app/current/cache/twig/c9/c961003d6e5283c5b7a9adf1efd826b33b21c4ac0a2b757e0d9bd4d75ea190b9.php:92 #60 __TwigTemplate_7a9b7db8f4ef85c6450b4e5d4608a90b88f4d05bba14cfdd9f1d065a42637cd1:doDisplay in /var/app/current/vendor/twig/twig/src/Template.php:443 #59 Twig\Template:displayWithErrorHandling in /var/app/current/vendor/twig/twig/src/Template.php:414 #58 Twig\Template:display in /var/app/current/vendor/twig/twig/src/Template.php:422 #57 Twig\Template:render in /var/app/current/vendor/twig/twig/src/TemplateWrapper.php:47 #56 Twig\TemplateWrapper:render in /var/app/current/vendor/twig/twig/src/Environment.php:384 #55 Twig\Environment:render in /var/app/current/system/src/Grav/Common/Twig/Twig.php:288 #54 Grav\Common\Twig\Twig:processPage in /var/app/current/system/src/Grav/Common/Page/Page.php:851 #53 Grav\Common\Page\Page:processTwig in /var/app/current/system/src/Grav/Common/Page/Page.php:732 #52 Grav\Common\Page\Page:content in /var/app/current/system/src/Grav/Common/Twig/Twig.php:366 #51 Grav\Common\Twig\Twig:processSite in /var/app/current/system/src/Grav/Common/Service/OutputServiceProvider.php:28 #50 Grav\Common\Service\OutputServiceProvider:Grav\Common\Service\{closure} in /var/app/current/vendor/pimple/pimple/src/Pimple/Container.php:118 #49 Pimple\Container:offsetGet in /var/app/current/system/src/Grav/Common/Processors/RenderProcessor.php:28 #48 Grav\Common\Processors\RenderProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #47 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #46 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php:28 #45 Grav\Common\Processors\DebuggerAssetsProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #44 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #43 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/PagesProcessor.php:69 #42 Grav\Common\Processors\PagesProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #41 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #40 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/TwigProcessor.php:27 #39 Grav\Common\Processors\TwigProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #38 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #37 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/AssetsProcessor.php:28 #36 Grav\Common\Processors\AssetsProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #35 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #34 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/SchedulerProcessor.php:29 #33 Grav\Common\Processors\SchedulerProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #32 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #31 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/BackupsProcessor.php:28 #30 Grav\Common\Processors\BackupsProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #29 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #28 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/TasksProcessor.php:59 #27 Grav\Common\Processors\TasksProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #26 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #25 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/RequestProcessor.php:52 #24 Grav\Common\Processors\RequestProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #23 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #22 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/ThemesProcessor.php:27 #21 Grav\Common\Processors\ThemesProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #20 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #19 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/PluginsProcessor.php:30 #18 Grav\Common\Processors\PluginsProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #17 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #16 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/InitializeProcessor.php:78 #15 Grav\Common\Processors\InitializeProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #14 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #13 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/DebuggerProcessor.php:27 #12 Grav\Common\Processors\DebuggerProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #11 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #10 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/ErrorsProcessor.php:27 #9 Grav\Common\Processors\ErrorsProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #8 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #7 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/LoggerProcessor.php:48 #6 Grav\Common\Processors\LoggerProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #5 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #4 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/ConfigurationProcessor.php:28 #3 Grav\Common\Processors\ConfigurationProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #2 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #1 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Grav.php:249 #0 Grav\Common\Grav:process in /var/app/current/index.php:53
Stack frames (71)
70
Error
/
vendor
/
twig
/
twig
/
src
/
ExpressionParser.php
589
69
Twig
\
ExpressionParser
parseAssignmentExpression
/
vendor
/
twig
/
twig
/
src
/
TokenParser
/
SetTokenParser.php
36
68
Twig
\
TokenParser
\
SetTokenParser
parse
/
vendor
/
twig
/
twig
/
src
/
Parser.php
209
67
Twig
\
Parser
subparse
/
vendor
/
twig
/
twig
/
src
/
Parser.php
122
66
Twig
\
Parser
parse
/
vendor
/
twig
/
twig
/
src
/
Environment.php
735
65
Twig
\
Environment
parse
/
vendor
/
twig
/
twig
/
src
/
Environment.php
793
64
Twig
\
Environment
compileSource
/
vendor
/
twig
/
twig
/
src
/
Environment.php
482
63
Twig
\
Environment
loadClass
/
vendor
/
twig
/
twig
/
src
/
Environment.php
445
62
Twig
\
Environment
loadTemplate
/
vendor
/
twig
/
twig
/
src
/
Template.php
369
61
Twig
\
Template
loadTemplate
/
cache
/
twig
/
c9
/
c961003d6e5283c5b7a9adf1efd826b33b21c4ac0a2b757e0d9bd4d75ea190b9.php
92
60
__TwigTemplate_7a9b7db8f4ef85c6450b4e5d4608a90b88f4d05bba14cfdd9f1d065a42637cd1
doDisplay
/
vendor
/
twig
/
twig
/
src
/
Template.php
443
59
Twig
\
Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
src
/
Template.php
414
58
Twig
\
Template
display
/
vendor
/
twig
/
twig
/
src
/
Template.php
422
57
Twig
\
Template
render
/
vendor
/
twig
/
twig
/
src
/
TemplateWrapper.php
47
56
Twig
\
TemplateWrapper
render
/
vendor
/
twig
/
twig
/
src
/
Environment.php
384
55
Twig
\
Environment
render
/
system
/
src
/
Grav
/
Common
/
Twig
/
Twig.php
288
54
Grav
\
Common
\
Twig
\
Twig
processPage
/
system
/
src
/
Grav
/
Common
/
Page
/
Page.php
851
53
Grav
\
Common
\
Page
\
Page
processTwig
/
system
/
src
/
Grav
/
Common
/
Page
/
Page.php
732
52
Grav
\
Common
\
Page
\
Page
content
/
system
/
src
/
Grav
/
Common
/
Twig
/
Twig.php
366
51
Grav
\
Common
\
Twig
\
Twig
processSite
/
system
/
src
/
Grav
/
Common
/
Service
/
OutputServiceProvider.php
28
50
Grav
\
Common
\
Service
\
OutputServiceProvider
Grav
\
Common
\
Service
\
{closure}
/
vendor
/
pimple
/
pimple
/
src
/
Pimple
/
Container.php
118
49
Pimple
\
Container
offsetGet
/
system
/
src
/
Grav
/
Common
/
Processors
/
RenderProcessor.php
28
48
Grav
\
Common
\
Processors
\
RenderProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
47
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
46
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
DebuggerAssetsProcessor.php
28
45
Grav
\
Common
\
Processors
\
DebuggerAssetsProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
44
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
43
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
PagesProcessor.php
69
42
Grav
\
Common
\
Processors
\
PagesProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
41
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
40
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
TwigProcessor.php
27
39
Grav
\
Common
\
Processors
\
TwigProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
38
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
37
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
AssetsProcessor.php
28
36
Grav
\
Common
\
Processors
\
AssetsProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
35
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
34
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
SchedulerProcessor.php
29
33
Grav
\
Common
\
Processors
\
SchedulerProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
32
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
31
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
BackupsProcessor.php
28
30
Grav
\
Common
\
Processors
\
BackupsProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
29
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
28
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
TasksProcessor.php
59
27
Grav
\
Common
\
Processors
\
TasksProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
26
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
25
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
RequestProcessor.php
52
24
Grav
\
Common
\
Processors
\
RequestProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
23
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
22
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
ThemesProcessor.php
27
21
Grav
\
Common
\
Processors
\
ThemesProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
20
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
19
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
PluginsProcessor.php
30
18
Grav
\
Common
\
Processors
\
PluginsProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
17
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
16
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
InitializeProcessor.php
78
15
Grav
\
Common
\
Processors
\
InitializeProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
14
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
13
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
DebuggerProcessor.php
27
12
Grav
\
Common
\
Processors
\
DebuggerProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
11
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
10
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
ErrorsProcessor.php
27
9
Grav
\
Common
\
Processors
\
ErrorsProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
8
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
7
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
LoggerProcessor.php
48
6
Grav
\
Common
\
Processors
\
LoggerProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
5
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
4
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
ConfigurationProcessor.php
28
3
Grav
\
Common
\
Processors
\
ConfigurationProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
2
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
1
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Grav.php
249
0
Grav
\
Common
\
Grav
process
/
index.php
53
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
ExpressionParser.php
                $args[$name] = $value;
            } else {
                if (null === $name) {
                    $args[] = $value;
                } else {
                    $args[$name] = $value;
                }
            }
        }
        $stream->expect(Token::PUNCTUATION_TYPE, ')', 'A list of arguments must be closed by a parenthesis');
 
        return new Node($args);
    }
 
    public function parseAssignmentExpression()
    {
        $stream = $this->parser->getStream();
        $targets = [];
        while (true) {
            $token = $stream->expect(Token::NAME_TYPE, null, 'Only variables can be assigned to');
            $value = $token->getValue();
            if (\in_array(strtolower($value), ['true', 'false', 'none', 'null'])) {
                throw new SyntaxError(sprintf('You cannot assign a value to "%s".', $value), $token->getLine(), $stream->getSourceContext());
            }
            $targets[] = new AssignNameExpression($value, $token->getLine());
 
            if (!$stream->nextIf(Token::PUNCTUATION_TYPE, ',')) {
                break;
            }
        }
 
        return new Node($targets);
    }
 
    public function parseMultitargetExpression()
    {
        $targets = [];
        while (true) {
            $targets[] = $this->parseExpression();
            if (!$this->parser->getStream()->nextIf(Token::PUNCTUATION_TYPE, ',')) {
Arguments
  1. "Call to a member function expect() on null"
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
TokenParser
/
SetTokenParser.php
 
/**
 * Defines a variable.
 *
 *  {% set foo = 'foo' %}
 *  {% set foo = [1, 2] %}
 *  {% set foo = {'foo': 'bar'} %}
 *  {% set foo = 'foo' ~ 'bar' %}
 *  {% set foo, bar = 'foo', 'bar' %}
 *  {% set foo %}Some content{% endset %}
 *
 * @final
 */
class SetTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();
        $names = $this->parser->getExpressionParser()->parseAssignmentExpression();
 
        $capture = false;
        if ($stream->nextIf(Token::OPERATOR_TYPE, '=')) {
            $values = $this->parser->getExpressionParser()->parseMultitargetExpression();
 
            $stream->expect(Token::BLOCK_END_TYPE);
 
            if (\count($names) !== \count($values)) {
                throw new SyntaxError('When using set, you must have the same number of variables and assignments.', $stream->getCurrent()->getLine(), $stream->getSourceContext());
            }
        } else {
            $capture = true;
 
            if (\count($names) > 1) {
                throw new SyntaxError('When using set with a block, you cannot have a multi-target.', $stream->getCurrent()->getLine(), $stream->getSourceContext());
            }
 
            $stream->expect(Token::BLOCK_END_TYPE);
 
            $values = $this->parser->subparse([$this, 'decideBlockEnd'], true);
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Parser.php
 
                    $subparser = $this->handlers->getTokenParser($token->getValue());
                    if (null === $subparser) {
                        if (null !== $test) {
                            $e = new SyntaxError(sprintf('Unexpected "%s" tag', $token->getValue()), $token->getLine(), $this->stream->getSourceContext());
 
                            if (\is_array($test) && isset($test[0]) && $test[0] instanceof TokenParserInterface) {
                                $e->appendMessage(sprintf(' (expecting closing tag for the "%s" tag defined near line %s).', $test[0]->getTag(), $lineno));
                            }
                        } else {
                            $e = new SyntaxError(sprintf('Unknown "%s" tag.', $token->getValue()), $token->getLine(), $this->stream->getSourceContext());
                            $e->addSuggestions($token->getValue(), array_keys($this->env->getTags()));
                        }
 
                        throw $e;
                    }
 
                    $this->stream->next();
 
                    $node = $subparser->parse($token);
                    if (null !== $node) {
                        $rv[] = $node;
                    }
                    break;
 
                default:
                    throw new SyntaxError('Lexer or parser ended up in unsupported state.', $this->getCurrentToken()->getLine(), $this->stream->getSourceContext());
            }
        }
 
        if (1 === \count($rv)) {
            return $rv[0];
        }
 
        return new Node($rv, [], $lineno);
    }
 
    /**
     * @deprecated since 1.27 (to be removed in 2.0)
     */
Arguments
  1. Token {#1285}
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Parser.php
        if (null === $this->visitors) {
            $this->visitors = $this->env->getNodeVisitors();
        }
 
        if (null === $this->expressionParser) {
            $this->expressionParser = new ExpressionParser($this, $this->env);
        }
 
        $this->stream = $stream;
        $this->parent = null;
        $this->blocks = [];
        $this->macros = [];
        $this->traits = [];
        $this->blockStack = [];
        $this->importedSymbols = [[]];
        $this->embeddedTemplates = [];
        $this->varNameSalt = 0;
 
        try {
            $body = $this->subparse($test, $dropNeedle);
 
            if (null !== $this->parent && null === $body = $this->filterBodyNodes($body)) {
                $body = new Node();
            }
        } catch (SyntaxError $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->stream->getSourceContext());
            }
 
            if (!$e->getTemplateLine()) {
                $e->setTemplateLine($this->stream->getCurrent()->getLine());
            }
 
            throw $e;
        }
 
        $node = new ModuleNode(new BodyNode([$body]), $this->parent, new Node($this->blocks), new Node($this->macros), new Node($this->traits), $this->embeddedTemplates, $stream->getSourceContext());
 
        $traverser = new NodeTraverser($this->env, $this->visitors);
 
Arguments
  1. null
    
  2. false
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Environment.php
 
    public function setParser(\Twig_ParserInterface $parser)
    {
        $this->parser = $parser;
    }
 
    /**
     * Converts a token stream to a node tree.
     *
     * @return ModuleNode
     *
     * @throws SyntaxError When the token stream is syntactically or semantically wrong
     */
    public function parse(TokenStream $stream)
    {
        if (null === $this->parser) {
            $this->parser = new Parser($this);
        }
 
        return $this->parser->parse($stream);
    }
 
    /**
     * Gets the Compiler instance.
     *
     * @return \Twig_CompilerInterface
     *
     * @deprecated since 1.25 (to be removed in 2.0)
     */
    public function getCompiler()
    {
        @trigger_error(sprintf('The %s() method is deprecated since version 1.25 and will be removed in 2.0.', __FUNCTION__), E_USER_DEPRECATED);
 
        if (null === $this->compiler) {
            $this->compiler = new Compiler($this);
        }
 
        return $this->compiler;
    }
 
Arguments
  1. TokenStream {#1336}
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Environment.php
 
    /**
     * Compiles a template source code.
     *
     * @param string|Source $source The template source code
     * @param string        $name   The template name (deprecated)
     *
     * @return string The compiled PHP source code
     *
     * @throws SyntaxError When there was an error during tokenizing, parsing or compiling
     */
    public function compileSource($source, $name = null)
    {
        if (!$source instanceof Source) {
            @trigger_error(sprintf('Passing a string as the $source argument of %s() is deprecated since version 1.27. Pass a Twig\Source instance instead.', __METHOD__), E_USER_DEPRECATED);
            $source = new Source($source, $name);
        }
 
        try {
            return $this->compile($this->parse($this->tokenize($source)));
        } catch (Error $e) {
            $e->setSourceContext($source);
            throw $e;
        } catch (\Exception $e) {
            throw new SyntaxError(sprintf('An exception has been thrown during the compilation of a template ("%s").', $e->getMessage()), -1, $source, $e);
        }
    }
 
    public function setLoader(LoaderInterface $loader)
    {
        if (!$loader instanceof SourceContextLoaderInterface && 0 !== strpos(\get_class($loader), 'Mock_')) {
            @trigger_error(sprintf('Twig loader "%s" should implement Twig\Loader\SourceContextLoaderInterface since version 1.27.', \get_class($loader)), E_USER_DEPRECATED);
        }
 
        $this->loader = $loader;
    }
 
    /**
     * Gets the Loader instance.
     *
Arguments
  1. TokenStream {#1336}
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Environment.php
            if ($this->bcGetCacheFilename) {
                $key = $this->getCacheFilename($name);
            } else {
                $key = $this->cache->generateKey($name, $mainCls);
            }
 
            if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
                $this->cache->load($key);
            }
 
            $source = null;
            if (!class_exists($cls, false)) {
                $loader = $this->getLoader();
                if (!$loader instanceof SourceContextLoaderInterface) {
                    $source = new Source($loader->getSource($name), $name);
                } else {
                    $source = $loader->getSourceContext($name);
                }
 
                $content = $this->compileSource($source);
 
                if ($this->bcWriteCacheFile) {
                    $this->writeCacheFile($key, $content);
                } else {
                    $this->cache->write($key, $content);
                    $this->cache->load($key);
                }
 
                if (!class_exists($mainCls, false)) {
                    /* Last line of defense if either $this->bcWriteCacheFile was used,
                     * $this->cache is implemented as a no-op or we have a race condition
                     * where the cache was cleared between the above calls to write to and load from
                     * the cache.
                     */
                    eval('?>'.$content);
                }
            }
 
            if (!class_exists($cls, false)) {
                throw new RuntimeError(sprintf('Failed to load Twig template "%s", index "%s": cache might be corrupted.', $name, $index), -1, $source);
Arguments
  1. Source {#1485}
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Environment.php
    /**
     * Loads a template internal representation.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name  The template name
     * @param int    $index The index if it is an embedded template
     *
     * @return \Twig_TemplateInterface A template instance representing the given template name
     *
     * @throws LoaderError  When the template cannot be found
     * @throws RuntimeError When a previously generated cache is corrupted
     * @throws SyntaxError  When an error occurred during compilation
     *
     * @internal
     */
    public function loadTemplate($name, $index = null)
    {
        return $this->loadClass($this->getTemplateClass($name), $name, $index);
    }
 
    /**
     * @internal
     */
    public function loadClass($cls, $name, $index = null)
    {
        $mainCls = $cls;
        if (null !== $index) {
            $cls .= '___'.$index;
        }
 
        if (isset($this->loadedTemplates[$cls])) {
            return $this->loadedTemplates[$cls];
        }
 
        if (!class_exists($cls, false)) {
            if ($this->bcGetCacheFilename) {
                $key = $this->getCacheFilename($name);
            } else {
Arguments
  1. "__TwigTemplate_e38b389dab96eab59ea8c2103739db7dfc2347224403da2d653afadfb940c580"
    
  2. "partials/pagination.html.twig"
    
  3. null
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Template.php
    {
        try {
            if (\is_array($template)) {
                return $this->env->resolveTemplate($template);
            }
 
            if ($template instanceof self || $template instanceof TemplateWrapper) {
                return $template;
            }
 
            if ($template === $this->getTemplateName()) {
                $class = \get_class($this);
                if (false !== $pos = strrpos($class, '___', -1)) {
                    $class = substr($class, 0, $pos);
                }
 
                return $this->env->loadClass($class, $template, $index);
            }
 
            return $this->env->loadTemplate($template, $index);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($templateName ? new Source('', $templateName) : $this->getSourceContext());
            }
 
            if ($e->getTemplateLine() > 0) {
                throw $e;
            }
 
            if (!$line) {
                $e->guess();
            } else {
                $e->setTemplateLine($line);
            }
 
            throw $e;
        }
    }
 
    /**
Arguments
  1. "partials/pagination.html.twig"
    
  2. null
    
/
var
/
app
/
current
/
cache
/
twig
/
c9
/
c961003d6e5283c5b7a9adf1efd826b33b21c4ac0a2b757e0d9bd4d75ea190b9.php
            ++$context['loop']['index'];
            $context['loop']['first'] = false;
            if (isset($context['loop']['length'])) {
                --$context['loop']['revindex0'];
                --$context['loop']['revindex'];
                $context['loop']['last'] = 0 === $context['loop']['revindex0'];
            }
        }
        $_parent = $context['_parent'];
        unset($context['_seq'], $context['_iterated'], $context['_key'], $context['p'], $context['_parent'], $context['loop']);
        $context = array_intersect_key($context, $_parent) + $_parent;
        // line 19
        echo "        </div>
        <div class=\"row justify-content-center\">
        ";
        // line 21
        if (($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", []), "pagination", []), "enabled", []) && $this->getAttribute($this->getAttribute(($context["collection"] ?? null), "params", []), "pagination", []))) {
            // line 22
            echo "            ";
            $this->loadTemplate("partials/pagination.html.twig", "@Page:/var/app/current/user/pages/14.actualites", 22)->display(twig_array_merge($context, ["base_url" => $this->getAttribute(($context["page"] ?? null), "url", []), "pagination" => $this->getAttribute($this->getAttribute(($context["collection"] ?? null), "params", []), "pagination", [])]));
            // line 23
            echo "        ";
        }
        // line 24
        echo "        </div>
    </div>
</section>";
    }
 
    public function getTemplateName()
    {
        return "@Page:/var/app/current/user/pages/14.actualites";
    }
 
    public function isTraitable()
    {
        return false;
    }
 
    public function getDebugInfo()
Arguments
  1. "partials/pagination.html.twig"
    
  2. "@Page:/var/app/current/user/pages/14.actualites"
    
  3. 22
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Template.php
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
Arguments
  1. array:27 [
      "config" => Config {#96}
      "system" => array:30 [
        "absolute_urls" => false
        "timezone" => ""
        "default_locale" => null
        "param_sep" => ":"
        "wrapped_site" => false
        "reverse_proxy_setup" => false
        "force_ssl" => false
        "force_lowercase_urls" => true
        "custom_base_url" => ""
        "username_regex" => "^[a-z0-9_@\.-]{3,50}$"
        "pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
        "intl_enabled" => true
        "languages" => array:9 [
          "supported" => array:2 [
            0 => "fr"
            1 => "de"
          ]
          "default_lang" => null
          "include_default_lang" => false
          "pages_fallback_only" => false
          "translations" => true
          "translations_fallback" => true
          "session_store_active" => false
          "http_accept_language" => false
          "override_locale" => false
        ]
        "home" => array:2 [
          "alias" => "/home"
          "hide_in_urls" => true
        ]
        "pages" => array:26 [
          "theme" => "optimhome"
          "order" => array:2 [
            "by" => "default"
            "dir" => "asc"
          ]
          "list" => array:1 [
            "count" => 20
          ]
          "dateformat" => array:3 [
            "default" => null
            "short" => "jS M Y"
            "long" => "F jS \a\t g:ia"
          ]
          "publish_dates" => true
          "process" => array:2 [
            "markdown" => false
            "twig" => true
          ]
          "twig_first" => false
          "never_cache_twig" => false
          "events" => array:2 [
            "page" => true
            "twig" => true
          ]
          "markdown" => array:5 [
            "extra" => false
            "auto_line_breaks" => false
            "auto_url_links" => false
            "escape_markup" => false
            "special_chars" => array:2 [
              ">" => "gt"
              "<" => "lt"
            ]
          ]
          "types" => array:7 [
            0 => "html"
            1 => "htm"
            2 => "xml"
            3 => "txt"
            4 => "json"
            5 => "rss"
            6 => "atom"
          ]
          "append_url_extension" => ""
          "expires" => 604800
          "cache_control" => null
          "last_modified" => false
          "etag" => false
          "vary_accept_encoding" => false
          "redirect_default_route" => false
          "redirect_default_code" => "301"
          "redirect_trailing_slash" => false
          "ignore_files" => array:1 [
            0 => ".DS_Store"
          ]
          "ignore_folders" => array:2 [
            0 => ".git"
            1 => ".idea"
          ]
          "ignore_hidden" => true
          "hide_empty_folders" => false
          "url_taxonomy_filters" => true
          "frontmatter" => array:2 [
            "process_twig" => true
            "ignore_fields" => array:2 [
              0 => "form"
              1 => "forms"
            ]
          ]
        ]
        "cache" => array:13 [
          "enabled" => true
          "check" => array:1 [
            "method" => "file"
          ]
          "driver" => "file"
          "prefix" => "g"
          "purge_at" => "0 4 * * *"
          "clear_at" => "0 3 * * *"
          "clear_job_type" => "standard"
          "clear_images_by_default" => true
          "cli_compatibility" => false
          "lifetime" => 3600
          "gzip" => false
          "allow_webserver_gzip" => false
          "redis" => array:1 [
            "socket" => false
          ]
        ]
        "twig" => array:7 [
          "cache" => true
          "debug" => true
          "auto_reload" => true
          "autoescape" => false
          "undefined_functions" => true
          "undefined_filters" => true
          "umask_fix" => false
        ]
        "assets" => array:12 [
          "css_pipeline" => false
          "css_pipeline_include_externals" => true
          "css_pipeline_before_excludes" => true
          "css_minify" => true
          "css_minify_windows" => false
          "css_rewrite" => true
          "js_pipeline" => false
          "js_pipeline_include_externals" => true
          "js_pipeline_before_excludes" => true
          "js_minify" => true
          "enable_asset_timestamp" => false
          "collections" => array:1 [
            "jquery" => "system://assets/jquery/jquery-2.x.min.js"
          ]
        ]
        "errors" => array:2 [
          "display" => true
          "log" => true
        ]
        "log" => array:2 [
          "handler" => "file"
          "syslog" => array:1 [
            "facility" => "local6"
          ]
        ]
        "debugger" => array:3 [
          "enabled" => false
          "shutdown" => array:1 [
            "close_connection" => true
          ]
          "twig" => true
        ]
        "images" => array:6 [
          "default_image_quality" => 85
          "cache_all" => false
          "cache_perms" => "0755"
          "debug" => false
          "auto_fix_orientation" => false
          "seofriendly" => false
        ]
        "media" => array:5 [
          "enable_media_timestamp" => false
          "unsupported_inline_types" => []
          "allowed_fallback_types" => []
          "auto_metadata_exif" => false
          "upload_limit" => 15728640
        ]
        "session" => array:9 [
          "enabled" => true
          "initialize" => true
          "timeout" => 1800
          "name" => "grav-site"
          "uniqueness" => "path"
          "secure" => false
          "httponly" => true
          "split" => true
          "path" => null
        ]
        "gpm" => array:5 [
          "releases" => "stable"
          "proxy_url" => null
          "method" => "auto"
          "verify_peer" => true
          "official_gpm_only" => true
        ]
        "accounts" => array:2 [
          "type" => "data"
          "storage" => "file"
        ]
        "strict_mode" => array:2 [
          "yaml_compat" => true
          "twig_compat" => true
        ]
        "gtm_stage_enabled" => false
        "matomo_prod_enabled" => true
        "seo-factory" => array:1 [
          "bu" => "OPTIMHOME"
        ]
      ]
      "theme" => array:2 [
        "streams" => array:1 [
          "schemes" => array:1 [
            "theme" => array:2 [
              "type" => "ReadOnlyStream"
              "prefixes" => array:1 [
                "" => array:2 [
                  0 => "user/themes/optimhome"
                  1 => "user/themes/digit-website"
                ]
              ]
            ]
          ]
        ]
        "marketing-operations" => array:3 [
          "saison-estimation-2019" => array:3 [
            "startDate" => "2019-03-20"
            "endDate" => "2019-04-30"
            "body_class" => "op_estim"
          ]
          "ope-neuf-2019" => array:3 [
            "startDate" => "2019-06-01"
            "endDate" => "2019-06-30"
            "body_class" => "op_neuf"
          ]
          "op-optimust-2019" => array:3 [
            "startDate" => "2019-09-11"
            "endDate" => "2019-11-01"
            "body_class" => "op_optimust"
          ]
        ]
      ]
      "site" => array:28 [
        "title" => "Optimhome Immobilier"
        "default_lang" => "fr"
        "author" => array:2 [
          "name" => "DigitRE"
          "email" => "[email protected]"
        ]
        "taxonomies" => array:2 [
          0 => "category"
          1 => "tag"
        ]
        "metadata" => array:2 [
          "generator" => ""
          "description" => ""
        ]
        "summary" => array:4 [
          "enabled" => true
          "format" => "short"
          "size" => 300
          "delimiter" => "==="
        ]
        "redirects" => array:40 [
          "/combien-pour-mon-bien$" => "/"
          "/annonces$" => "/annonces/achat"
          "/conseillers/market$" => "/maintenance"
          "/verlautbarungen$" => "/annonces/achat"
          "/adverts$" => "/annonces/achat"
          "/anuncios$" => "/annonces/achat"
          "/neuf$" => "/annonces/achat?affichage=grid-view&category[]=isNew"
          "/commerces$" => "/annonces/achat?affichage=grid-view&propertyTypes[]=BUSINESS_CAPITAL"
          "/ville_bien/(.*)_(.*)_(.*)__(.*)/(.*)" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/ville_bien/(.*)_/(.*).html" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/news/(.*)" => "/actualites"
          "/content/6/estimation-immobiliere-en-ligne-1.html" => "/estimer-mon-bien"
          "/content/5/mentions-legales.html?language=fr" => "/mentions-legales"
          "/agence/(.*)" => "/nos-conseillers"
          "/ville_bien/(.*)_(.*)_(.*)__Vente" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/catalog/estimation.php" => "/estimer-mon-bien"
          "/fiches/(.*)" => "/annonces/achat"
          "(.*)PRODUCT_LIST_(.*)" => "/annonces/achat"
          "(.*)_Vente/vente-(.*)" => "/annonces/achat"
          "/annonces/(.*)____Vente_/vente.html" => "/annonces/achat"
          "/type_bien/(.*)" => "/annonces/achat"
          "/annonces/_____(.*)/immobilier.html" => "/annonces/achat"
          "/annonces/(.*)_____2/.html" => "/annonces/achat"
          "/conseillers/(.*)-recrutement-immobilier" => "/nos-conseillers"
          "/annonces/exclusivites" => "/annonces/achat?affichage=grid-view&exclusif=true"
          "/de-(.*).html" => "/de"
          "/fr-(.*).html" => "/annonces/achat"
          "/es-(.*).html" => "/"
          "/nl-(.*).html" => "/"
          "/pt-(.*).html" => "/pt"
          "/ville_bien/(.*).html" => "/annonces/achat"
          "/catalog/news.php" => "/actualites"
          "/it-(.*).html" => "/en"
          "/en-(.*).html" => "/en"
          "(.*)/(region|bezirk)(?(?=\?)(.+)|)$" => "/[301]"
          "(.*)/(regions|regionen)(?(?=\?)(.+)|)$" => "/[301]"
          "/de/betreuer/steinseufzer-robert" => "/betreuer/robert-steinseufzer"
          "(.*)/estimer/appartement" => "/estimer-appartement"
          "(.*)/estimer/maison" => "/estimer-maison"
          "/conseillers/casseleux" => "/conseillers/aurelie.casseleux"
        ]
        "routes" => array:88 [
          "(.*)/(actualites|neuigkeit|news|noticias)(?(?=\?)(.+)|)$" => "/actualites"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/page:(\d+)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(commerces|shops|neuf)/nos-conseillers(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(new/agents)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche"
          "(.*)/(annonces|commerces)/(fiche|vente|achat|location|reprendre)/([\w-]+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location|reprendre)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(adverts|shops)/(sale|buy|rental|resume)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(verlautbarungen|geschafte|shops)/(verkauf|mieten|einkaufen|verlieh|zusammenfassung)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel|retomar)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(adverts|shops)/(sale|buy|rental)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(verlautbarungen|geschafte)/(verkauf|mieten|einkaufen|verlieh)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(annonces/villes|verlautbarungen/ortschaften|adverts/cities|anuncios/cidades)(?(?=\?)(.+)|)$" => "/annonces/villes"
          "(.*)/(commerces|shops|lojas)(?(?=\?)(.+)|)$" => "/commerces"
          "(.*)/(immobilier/avis-clients|immobilien/kundenrezensionen|real-estate/customer-reviews|imoveis/opinioes-clientes)(?(?=\?)(.+)|)$" => "/immobilier/avis-clients"
          "(.*)/(immobilien|imobiliaria)/(konzept|o-conceito)(?(?=\?)(.+)|)$" => "/immobilier/concept"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/international(?(?=\?)(.+)|)$" => "/immobilier/international"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(investir-dans-le-neuf|investieren-in-die-neue|invest-in-the-new)(?(?=\?)(.+)|)$" => "/immobilier/investir-dans-le-neuf"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(nos-valeurs|unsere-werte|our-values)(?(?=\?)(.+)|)$" => "/immobilier/nos-valeurs"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imoveis)/(pourquoi|warum|why|por-que)(?(?=\?)(.+)|)$" => "/immobilier/pourquoi-choisir-optimhome"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/(qui-sommes-nous|wer-sind-wir|who-we-are|quem-somos-nos)(?(?=\?)(.+)|)$" => "/immobilier/qui-sommes-nous"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/pass-vip(?(?=\?)(.+)|)$" => "/immobilier/pass-vip"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(primo-accession|erstbeitritt|first-accession)(?(?=\?)(.+)|)$" => "/immobilier/immobilier/primo-accession"
          "(.*)/(immobilier/visite-live-a-distance|immobilien/besichtigung-live-a-distance|real-estate/visit-live-a-distance)(?(?=\?)(.+)|)$" => "/immobilier/visite-live-a-distance"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(vivre-dans-le-neuf|leben-in-einer-neuen-umgebung|living-in-a-new-environment)(?(?=\?)(.+)|)$" => "/immobilier/vivre-dans-le-neuf"
          "(.*)/(mentions-legales|rechtliche-hinweise|legal-notices|mencao-legal)(?(?=\?)(.+)|)$" => "/mentions-legales"
          "(.*)/(mon-compte|mein-konto|my-account)(?(?=\?)(.+)|)$" => "/mon-compte"
          "(.*)/(mon-compte/home|mein-konto/home|my-account/home)(?(?=\?)(.+)|)$" => "/mon-compte/home"
          "(.*)/(mon-compte/espace-proprietaire|mein-konto/primar-raum|my-account/private-area)(?(?=\?)(.+)|)$" => "/mon-compte/espace-proprietaire"
          "(.*)/(mandat-optimust)(?(?=\?)(.+)|)$" => "/mandat-optimust"
          "(.*)/(neuf|neu|new|novo)(?(?=\?)(.+)|)$" => "/neuf"
          "(.*)/(nous-contacter|kontakt-uns|contact-us|contacte-nos)(?(?=\?)(.+)|)$" => "/nous-contacter"
          "(.*)/(politique-generale-confidentialite|allgemeine-politik-vertraulichkeit|general-policy-confidentiality|politica-geral-privacidade)(?(?=\?)(.+)|)$" => "/politique-generale-confidentialite"
          "(.*)/(rekrutierung)(?(?=\?)(.+)|)$" => "/recrutement"
          "(.*)/(vendre|verkaufen|sell|vender)(?(?=\?)(.+)|)$" => "/vendre"
          "(.*)/(annonces|commerces|neuf)/(vente|achat|louer|fonds)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(adverts|shops)/(sale|buy|rental|business)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(verlautbarungen|shops)/(mieten|einkaufen|verlieh|gewerbe)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(anuncios|comerciais|novo)/(venda|comprar|aluguer|fundos|aluguer)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(annonces|verlautbarungen)/(achat|einkaufen|mieten|louer)(/page:\d+)?(\?.*)?$" => "/annonces/transaction"
          "(.*)/region/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/bezirk/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/estimer-mon-bien(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/estimate-my-property(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft?(.*)" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung?(.*)" => "/estimer-mon-bien"
          "(.*)/apreciar-meu-propriedade(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/conseillers/estimation(?(?=/)(.+)|)$" => "/estimer"
          "(.*)/conseillers/estimation/etapes(?(?=/)(.+)|)$" => "/estimer/etapes"
          "(.*)/conseillers/estimation/etapes/.*/resultat/(.*)" => "/estimer/resultat-agent"
          "(.*)/conseillers/apporteur-affaires/suivi/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/suivi"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)/merci(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes/merci"
          "(.*)/conseillers/apporteur-affaires/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes"
          "(.*)/estimer-appartement$" => "/estimer"
          "(.*)/estimer-maison$" => "/estimer"
          "(.*)/estimer-appartement?(.*)$" => "/estimer"
          "(.*)/estimer-maison?(.*)$" => "/estimer"
          "(.*)/estimer-appartement/etapes$" => "/estimer/etapes"
          "(.*)/estimer-maison/etapes$" => "/estimer/etapes"
          "(.*)/estimer-appartement/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-maison/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/combien-pour-mon-bien/resultat/(.*)" => "/combien-pour-mon-bien/resultat"
          "(.*)/combien-pour-mon-bien-estimation/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-mon-bien/resultat/(.*)" => "/estimer-mon-bien/resultat"
          "/estimate" => "/estimer-mon-bien"
          "/estimate/result" => "/estimer-mon-bien/resultat"
          "(.*)/vendre(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/sell(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/verkaufen(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/vender(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/(favoris|favorites|favoriten|os-meus-favoritos)(?(?=\?)(.+)|)$" => "/favoris"
          "(.*)/(commerces/vendre|shops/sell|shops/verkaufen|vender/lojas)(?(?=/)(.+)|)$" => "/vendre-commerces"
          "(.*)/nos-conseillers/fiche/vendre/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/vendre"
          "(.*)/nos-conseillers/fiche/estimation-rdv/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv"
          "(.*)/nos-conseillers/fiche/estimation-rdv/merci(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv/merci"
          "/annonces/villes(?(?=\?)(.+)|)$" => "/annonces/villes"
          "/annonces/villes/[a-z](?(?=\?)(.+)|)$" => "/annonces/villes-lettre"
          "/annonces/achat/\w+(?(?=\?)(.+)|)$" => "/seo/city"
          "/annonces/achat/\w+/\w+(?(?=\?)(.+)|)$" => "/seo/city-type"
          "/([\w*-._]*)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche"
        ]
        "blog" => array:1 [
          "route" => "/blog"
        ]
        "env" => "prod"
        "exclude_cafpi_agent" => array:1 [
          0 => "2018"
        ]
        "emails" => array:1 [
          "regex" => "/([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)/"
        ]
        "activityStatus" => "SELLER"
        "partnerId" => "optimhome"
        "domain" => "optimhome"
        "show_login_form" => true
        "mapping_url_subdomain" => array:28 [
          "alsace" => "annonces/achat?adresse=Grand%20Est"
          "auvergne" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "bourgogne" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "bretagne" => "annonces/achat?adresse=Bretagne"
          "centre" => "annonces/achat?adresse=Centre-Val%20de%20Loire"
          "champagne-ardenne" => "annonces/achat?adresse=Grand%20Est"
          "corse" => "annonces/achat?adresse=Corse"
          "franche-comte" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "guadeloupe" => "annonces/achat?affichage=grid-view&adresse=Guadeloupe"
          "guyane" => "annonces/achat?affichage=grid-view&adresse=Guyane%20française"
          "ile-de-france" => "annonces/achat?adresse=Île-de-France"
          "languedoc-roussillon" => "annonces/achat?adresse=Occitanie"
          "limousin" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "lorraine" => "annonces/achat?adresse=Grand%20Est"
          "martinique" => "annonces/achat?affichage=grid-view&adresse=Martinique"
          "midi-pyrenees" => "annonces/achat?adresse=Occitanie"
          "nord-pas-de-calais" => "annonces/achat?adresse=Hauts-de-France"
          "basse-normandie" => "annonces/achat?adresse=Normandie"
          "haute-normandie" => "annonces/achat?adresse=Normandie"
          "pays-de-la-loire" => "annonces/achat?adresse=Pays%20de%20la%20Loire"
          "picardie" => "annonces/achat?adresse=Hauts-de-France"
          "poitou-charentes" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "paca" => "annonces/achat?adresse=PACA"
          "reunion" => "annonces/achat?adresse=La%20Réunion"
          "rhone-alpes" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "exclusif" => "annonces/achat?exclusif=true"
          "medoc" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "commerce" => "commerces"
        ]
        "background-regions" => array:18 [
          "Hauts-de-France, France" => "bgmoteur_annonces-hautsdefrance.jpg"
          "Normandie, France" => "bgmoteur_annonces-normandie.jpg"
          "Île-de-France, France" => "bgmoteur_annonces-iledefrance.jpg"
          "Bretagne, France" => "bgmoteur_annonces-bretagne.jpg"
          "Auvergne-Rhône-Alpes, France" => "bgmoteur_annonces-auvergnerhonealpes.jpg"
          "Bourgogne Franche-Comté, France" => "bgmoteur_annonces-bourgognefranchecompte.jpg"
          "Centre-Val de Loire, France" => "bgmoteur_annonces-centrevaldeloire.jpg"
          "Pays de la Loire, France" => "bgmoteur_annonces-valdeloire.jpg"
          "Nouvelle-Aquitaine, France" => "bgmoteur_annonces-nouvelleaquitaine.jpg"
          "Occitanie, France" => "bgmoteur_annonces-occitanie.jpg"
          "PACA, France" => "bgmoteur_annonces-paca.jpg"
          "Corse, France" => "bgmoteur_annonces-corse.jpg"
          "Grand Est, France" => "bgmoteur_annonces-grandest.jpg"
          "Guadeloupe" => "bgmoteur_annonces-guadeloupe.jpg"
          "Arrondissement de Cayenne, France" => "bgmoteur_annonces-guyane.jpg"
          "La Réunion" => "bgmoteur_annonces-lareunion.jpg"
          "Martinique" => "bgmoteur_annonces-martinique.jpg"
          "Mayotte" => "bgmoteur_annonces-mayotte.jpg"
        ]
        "site_de" => "https://www.optimhome.com/de"
        "site_pt" => "https://www.optimhome.com/pt"
        "site_en" => "https://www.optimhome.com/en"
        "site_fr" => "https://www.optimhome.com"
        "property_pdf" => array:1 [
          "file_name" => "Fiche_bien_"
        ]
        "reference_length" => array:2 [
          "fr" => 12
          "pt" => 4
        ]
        "geolocation" => array:1 [
          "city" => "Paris"
        ]
        "acxtest" => "TEST"
        "intranet-url" => "https://intranet.digitregroup.io"
        "graphql" => array:2 [
          "endpoint" => "https://intranet.digitregroup.io/graphql/"
          "token" => "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjowLCJlbWFpbCI6ImFkbWluQGRpZ2l0cmVncm91cC5jb20iLCJyb2xlIjpbIkFETUlOIl0sInJ1bGVzIjpbeyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJzdWJqZWN0IjoiYW55In1dfSwiaWF0IjoxNTUyNTgwNDI4fQ.SQdTRJQEUlvHMTn6_3pNwYDCM3aj2Taw-_bNjK3NBhM"
        ]
      ]
      "uri" => Uri {#138}
      "assets" => Assets {#251}
      "taxonomy" => Taxonomy {#423}
      "browser" => Browser {#458}
      "base_dir" => "/var/app/current"
      "home_url" => "/"
      "base_url" => ""
      "base_url_absolute" => "https://www.optimhome.com"
      "base_url_relative" => ""
      "base_url_simple" => ""
      "theme_dir" => "/var/app/current/user/themes/optimhome"
      "theme_url" => "/user/themes/optimhome"
      "html_lang" => "fr"
      "language_codes" => LanguageCodes {#459}
      "breadcrumbs" => Breadcrumbs {#196}
      "form" => null
      "form_max_filesize" => 15
      "form_json_response" => []
      "page" => Page {#519}
      "media" => Media {#1159}
      "header" => {#520}
      "grav" => Grav {#3}
      "collection" => Collection {#1486}
    ]
    
  2. []
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Template.php
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (\Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
Arguments
  1. array:26 [
      "config" => Config {#96}
      "system" => array:30 [
        "absolute_urls" => false
        "timezone" => ""
        "default_locale" => null
        "param_sep" => ":"
        "wrapped_site" => false
        "reverse_proxy_setup" => false
        "force_ssl" => false
        "force_lowercase_urls" => true
        "custom_base_url" => ""
        "username_regex" => "^[a-z0-9_@\.-]{3,50}$"
        "pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
        "intl_enabled" => true
        "languages" => array:9 [
          "supported" => array:2 [
            0 => "fr"
            1 => "de"
          ]
          "default_lang" => null
          "include_default_lang" => false
          "pages_fallback_only" => false
          "translations" => true
          "translations_fallback" => true
          "session_store_active" => false
          "http_accept_language" => false
          "override_locale" => false
        ]
        "home" => array:2 [
          "alias" => "/home"
          "hide_in_urls" => true
        ]
        "pages" => array:26 [
          "theme" => "optimhome"
          "order" => array:2 [
            "by" => "default"
            "dir" => "asc"
          ]
          "list" => array:1 [
            "count" => 20
          ]
          "dateformat" => array:3 [
            "default" => null
            "short" => "jS M Y"
            "long" => "F jS \a\t g:ia"
          ]
          "publish_dates" => true
          "process" => array:2 [
            "markdown" => false
            "twig" => true
          ]
          "twig_first" => false
          "never_cache_twig" => false
          "events" => array:2 [
            "page" => true
            "twig" => true
          ]
          "markdown" => array:5 [
            "extra" => false
            "auto_line_breaks" => false
            "auto_url_links" => false
            "escape_markup" => false
            "special_chars" => array:2 [
              ">" => "gt"
              "<" => "lt"
            ]
          ]
          "types" => array:7 [
            0 => "html"
            1 => "htm"
            2 => "xml"
            3 => "txt"
            4 => "json"
            5 => "rss"
            6 => "atom"
          ]
          "append_url_extension" => ""
          "expires" => 604800
          "cache_control" => null
          "last_modified" => false
          "etag" => false
          "vary_accept_encoding" => false
          "redirect_default_route" => false
          "redirect_default_code" => "301"
          "redirect_trailing_slash" => false
          "ignore_files" => array:1 [
            0 => ".DS_Store"
          ]
          "ignore_folders" => array:2 [
            0 => ".git"
            1 => ".idea"
          ]
          "ignore_hidden" => true
          "hide_empty_folders" => false
          "url_taxonomy_filters" => true
          "frontmatter" => array:2 [
            "process_twig" => true
            "ignore_fields" => array:2 [
              0 => "form"
              1 => "forms"
            ]
          ]
        ]
        "cache" => array:13 [
          "enabled" => true
          "check" => array:1 [
            "method" => "file"
          ]
          "driver" => "file"
          "prefix" => "g"
          "purge_at" => "0 4 * * *"
          "clear_at" => "0 3 * * *"
          "clear_job_type" => "standard"
          "clear_images_by_default" => true
          "cli_compatibility" => false
          "lifetime" => 3600
          "gzip" => false
          "allow_webserver_gzip" => false
          "redis" => array:1 [
            "socket" => false
          ]
        ]
        "twig" => array:7 [
          "cache" => true
          "debug" => true
          "auto_reload" => true
          "autoescape" => false
          "undefined_functions" => true
          "undefined_filters" => true
          "umask_fix" => false
        ]
        "assets" => array:12 [
          "css_pipeline" => false
          "css_pipeline_include_externals" => true
          "css_pipeline_before_excludes" => true
          "css_minify" => true
          "css_minify_windows" => false
          "css_rewrite" => true
          "js_pipeline" => false
          "js_pipeline_include_externals" => true
          "js_pipeline_before_excludes" => true
          "js_minify" => true
          "enable_asset_timestamp" => false
          "collections" => array:1 [
            "jquery" => "system://assets/jquery/jquery-2.x.min.js"
          ]
        ]
        "errors" => array:2 [
          "display" => true
          "log" => true
        ]
        "log" => array:2 [
          "handler" => "file"
          "syslog" => array:1 [
            "facility" => "local6"
          ]
        ]
        "debugger" => array:3 [
          "enabled" => false
          "shutdown" => array:1 [
            "close_connection" => true
          ]
          "twig" => true
        ]
        "images" => array:6 [
          "default_image_quality" => 85
          "cache_all" => false
          "cache_perms" => "0755"
          "debug" => false
          "auto_fix_orientation" => false
          "seofriendly" => false
        ]
        "media" => array:5 [
          "enable_media_timestamp" => false
          "unsupported_inline_types" => []
          "allowed_fallback_types" => []
          "auto_metadata_exif" => false
          "upload_limit" => 15728640
        ]
        "session" => array:9 [
          "enabled" => true
          "initialize" => true
          "timeout" => 1800
          "name" => "grav-site"
          "uniqueness" => "path"
          "secure" => false
          "httponly" => true
          "split" => true
          "path" => null
        ]
        "gpm" => array:5 [
          "releases" => "stable"
          "proxy_url" => null
          "method" => "auto"
          "verify_peer" => true
          "official_gpm_only" => true
        ]
        "accounts" => array:2 [
          "type" => "data"
          "storage" => "file"
        ]
        "strict_mode" => array:2 [
          "yaml_compat" => true
          "twig_compat" => true
        ]
        "gtm_stage_enabled" => false
        "matomo_prod_enabled" => true
        "seo-factory" => array:1 [
          "bu" => "OPTIMHOME"
        ]
      ]
      "theme" => array:2 [
        "streams" => array:1 [
          "schemes" => array:1 [
            "theme" => array:2 [
              "type" => "ReadOnlyStream"
              "prefixes" => array:1 [
                "" => array:2 [
                  0 => "user/themes/optimhome"
                  1 => "user/themes/digit-website"
                ]
              ]
            ]
          ]
        ]
        "marketing-operations" => array:3 [
          "saison-estimation-2019" => array:3 [
            "startDate" => "2019-03-20"
            "endDate" => "2019-04-30"
            "body_class" => "op_estim"
          ]
          "ope-neuf-2019" => array:3 [
            "startDate" => "2019-06-01"
            "endDate" => "2019-06-30"
            "body_class" => "op_neuf"
          ]
          "op-optimust-2019" => array:3 [
            "startDate" => "2019-09-11"
            "endDate" => "2019-11-01"
            "body_class" => "op_optimust"
          ]
        ]
      ]
      "site" => array:28 [
        "title" => "Optimhome Immobilier"
        "default_lang" => "fr"
        "author" => array:2 [
          "name" => "DigitRE"
          "email" => "[email protected]"
        ]
        "taxonomies" => array:2 [
          0 => "category"
          1 => "tag"
        ]
        "metadata" => array:2 [
          "generator" => ""
          "description" => ""
        ]
        "summary" => array:4 [
          "enabled" => true
          "format" => "short"
          "size" => 300
          "delimiter" => "==="
        ]
        "redirects" => array:40 [
          "/combien-pour-mon-bien$" => "/"
          "/annonces$" => "/annonces/achat"
          "/conseillers/market$" => "/maintenance"
          "/verlautbarungen$" => "/annonces/achat"
          "/adverts$" => "/annonces/achat"
          "/anuncios$" => "/annonces/achat"
          "/neuf$" => "/annonces/achat?affichage=grid-view&category[]=isNew"
          "/commerces$" => "/annonces/achat?affichage=grid-view&propertyTypes[]=BUSINESS_CAPITAL"
          "/ville_bien/(.*)_(.*)_(.*)__(.*)/(.*)" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/ville_bien/(.*)_/(.*).html" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/news/(.*)" => "/actualites"
          "/content/6/estimation-immobiliere-en-ligne-1.html" => "/estimer-mon-bien"
          "/content/5/mentions-legales.html?language=fr" => "/mentions-legales"
          "/agence/(.*)" => "/nos-conseillers"
          "/ville_bien/(.*)_(.*)_(.*)__Vente" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/catalog/estimation.php" => "/estimer-mon-bien"
          "/fiches/(.*)" => "/annonces/achat"
          "(.*)PRODUCT_LIST_(.*)" => "/annonces/achat"
          "(.*)_Vente/vente-(.*)" => "/annonces/achat"
          "/annonces/(.*)____Vente_/vente.html" => "/annonces/achat"
          "/type_bien/(.*)" => "/annonces/achat"
          "/annonces/_____(.*)/immobilier.html" => "/annonces/achat"
          "/annonces/(.*)_____2/.html" => "/annonces/achat"
          "/conseillers/(.*)-recrutement-immobilier" => "/nos-conseillers"
          "/annonces/exclusivites" => "/annonces/achat?affichage=grid-view&exclusif=true"
          "/de-(.*).html" => "/de"
          "/fr-(.*).html" => "/annonces/achat"
          "/es-(.*).html" => "/"
          "/nl-(.*).html" => "/"
          "/pt-(.*).html" => "/pt"
          "/ville_bien/(.*).html" => "/annonces/achat"
          "/catalog/news.php" => "/actualites"
          "/it-(.*).html" => "/en"
          "/en-(.*).html" => "/en"
          "(.*)/(region|bezirk)(?(?=\?)(.+)|)$" => "/[301]"
          "(.*)/(regions|regionen)(?(?=\?)(.+)|)$" => "/[301]"
          "/de/betreuer/steinseufzer-robert" => "/betreuer/robert-steinseufzer"
          "(.*)/estimer/appartement" => "/estimer-appartement"
          "(.*)/estimer/maison" => "/estimer-maison"
          "/conseillers/casseleux" => "/conseillers/aurelie.casseleux"
        ]
        "routes" => array:88 [
          "(.*)/(actualites|neuigkeit|news|noticias)(?(?=\?)(.+)|)$" => "/actualites"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/page:(\d+)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(commerces|shops|neuf)/nos-conseillers(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(new/agents)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche"
          "(.*)/(annonces|commerces)/(fiche|vente|achat|location|reprendre)/([\w-]+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location|reprendre)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(adverts|shops)/(sale|buy|rental|resume)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(verlautbarungen|geschafte|shops)/(verkauf|mieten|einkaufen|verlieh|zusammenfassung)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel|retomar)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(adverts|shops)/(sale|buy|rental)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(verlautbarungen|geschafte)/(verkauf|mieten|einkaufen|verlieh)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(annonces/villes|verlautbarungen/ortschaften|adverts/cities|anuncios/cidades)(?(?=\?)(.+)|)$" => "/annonces/villes"
          "(.*)/(commerces|shops|lojas)(?(?=\?)(.+)|)$" => "/commerces"
          "(.*)/(immobilier/avis-clients|immobilien/kundenrezensionen|real-estate/customer-reviews|imoveis/opinioes-clientes)(?(?=\?)(.+)|)$" => "/immobilier/avis-clients"
          "(.*)/(immobilien|imobiliaria)/(konzept|o-conceito)(?(?=\?)(.+)|)$" => "/immobilier/concept"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/international(?(?=\?)(.+)|)$" => "/immobilier/international"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(investir-dans-le-neuf|investieren-in-die-neue|invest-in-the-new)(?(?=\?)(.+)|)$" => "/immobilier/investir-dans-le-neuf"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(nos-valeurs|unsere-werte|our-values)(?(?=\?)(.+)|)$" => "/immobilier/nos-valeurs"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imoveis)/(pourquoi|warum|why|por-que)(?(?=\?)(.+)|)$" => "/immobilier/pourquoi-choisir-optimhome"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/(qui-sommes-nous|wer-sind-wir|who-we-are|quem-somos-nos)(?(?=\?)(.+)|)$" => "/immobilier/qui-sommes-nous"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/pass-vip(?(?=\?)(.+)|)$" => "/immobilier/pass-vip"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(primo-accession|erstbeitritt|first-accession)(?(?=\?)(.+)|)$" => "/immobilier/immobilier/primo-accession"
          "(.*)/(immobilier/visite-live-a-distance|immobilien/besichtigung-live-a-distance|real-estate/visit-live-a-distance)(?(?=\?)(.+)|)$" => "/immobilier/visite-live-a-distance"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(vivre-dans-le-neuf|leben-in-einer-neuen-umgebung|living-in-a-new-environment)(?(?=\?)(.+)|)$" => "/immobilier/vivre-dans-le-neuf"
          "(.*)/(mentions-legales|rechtliche-hinweise|legal-notices|mencao-legal)(?(?=\?)(.+)|)$" => "/mentions-legales"
          "(.*)/(mon-compte|mein-konto|my-account)(?(?=\?)(.+)|)$" => "/mon-compte"
          "(.*)/(mon-compte/home|mein-konto/home|my-account/home)(?(?=\?)(.+)|)$" => "/mon-compte/home"
          "(.*)/(mon-compte/espace-proprietaire|mein-konto/primar-raum|my-account/private-area)(?(?=\?)(.+)|)$" => "/mon-compte/espace-proprietaire"
          "(.*)/(mandat-optimust)(?(?=\?)(.+)|)$" => "/mandat-optimust"
          "(.*)/(neuf|neu|new|novo)(?(?=\?)(.+)|)$" => "/neuf"
          "(.*)/(nous-contacter|kontakt-uns|contact-us|contacte-nos)(?(?=\?)(.+)|)$" => "/nous-contacter"
          "(.*)/(politique-generale-confidentialite|allgemeine-politik-vertraulichkeit|general-policy-confidentiality|politica-geral-privacidade)(?(?=\?)(.+)|)$" => "/politique-generale-confidentialite"
          "(.*)/(rekrutierung)(?(?=\?)(.+)|)$" => "/recrutement"
          "(.*)/(vendre|verkaufen|sell|vender)(?(?=\?)(.+)|)$" => "/vendre"
          "(.*)/(annonces|commerces|neuf)/(vente|achat|louer|fonds)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(adverts|shops)/(sale|buy|rental|business)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(verlautbarungen|shops)/(mieten|einkaufen|verlieh|gewerbe)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(anuncios|comerciais|novo)/(venda|comprar|aluguer|fundos|aluguer)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(annonces|verlautbarungen)/(achat|einkaufen|mieten|louer)(/page:\d+)?(\?.*)?$" => "/annonces/transaction"
          "(.*)/region/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/bezirk/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/estimer-mon-bien(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/estimate-my-property(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft?(.*)" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung?(.*)" => "/estimer-mon-bien"
          "(.*)/apreciar-meu-propriedade(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/conseillers/estimation(?(?=/)(.+)|)$" => "/estimer"
          "(.*)/conseillers/estimation/etapes(?(?=/)(.+)|)$" => "/estimer/etapes"
          "(.*)/conseillers/estimation/etapes/.*/resultat/(.*)" => "/estimer/resultat-agent"
          "(.*)/conseillers/apporteur-affaires/suivi/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/suivi"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)/merci(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes/merci"
          "(.*)/conseillers/apporteur-affaires/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes"
          "(.*)/estimer-appartement$" => "/estimer"
          "(.*)/estimer-maison$" => "/estimer"
          "(.*)/estimer-appartement?(.*)$" => "/estimer"
          "(.*)/estimer-maison?(.*)$" => "/estimer"
          "(.*)/estimer-appartement/etapes$" => "/estimer/etapes"
          "(.*)/estimer-maison/etapes$" => "/estimer/etapes"
          "(.*)/estimer-appartement/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-maison/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/combien-pour-mon-bien/resultat/(.*)" => "/combien-pour-mon-bien/resultat"
          "(.*)/combien-pour-mon-bien-estimation/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-mon-bien/resultat/(.*)" => "/estimer-mon-bien/resultat"
          "/estimate" => "/estimer-mon-bien"
          "/estimate/result" => "/estimer-mon-bien/resultat"
          "(.*)/vendre(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/sell(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/verkaufen(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/vender(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/(favoris|favorites|favoriten|os-meus-favoritos)(?(?=\?)(.+)|)$" => "/favoris"
          "(.*)/(commerces/vendre|shops/sell|shops/verkaufen|vender/lojas)(?(?=/)(.+)|)$" => "/vendre-commerces"
          "(.*)/nos-conseillers/fiche/vendre/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/vendre"
          "(.*)/nos-conseillers/fiche/estimation-rdv/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv"
          "(.*)/nos-conseillers/fiche/estimation-rdv/merci(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv/merci"
          "/annonces/villes(?(?=\?)(.+)|)$" => "/annonces/villes"
          "/annonces/villes/[a-z](?(?=\?)(.+)|)$" => "/annonces/villes-lettre"
          "/annonces/achat/\w+(?(?=\?)(.+)|)$" => "/seo/city"
          "/annonces/achat/\w+/\w+(?(?=\?)(.+)|)$" => "/seo/city-type"
          "/([\w*-._]*)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche"
        ]
        "blog" => array:1 [
          "route" => "/blog"
        ]
        "env" => "prod"
        "exclude_cafpi_agent" => array:1 [
          0 => "2018"
        ]
        "emails" => array:1 [
          "regex" => "/([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)/"
        ]
        "activityStatus" => "SELLER"
        "partnerId" => "optimhome"
        "domain" => "optimhome"
        "show_login_form" => true
        "mapping_url_subdomain" => array:28 [
          "alsace" => "annonces/achat?adresse=Grand%20Est"
          "auvergne" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "bourgogne" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "bretagne" => "annonces/achat?adresse=Bretagne"
          "centre" => "annonces/achat?adresse=Centre-Val%20de%20Loire"
          "champagne-ardenne" => "annonces/achat?adresse=Grand%20Est"
          "corse" => "annonces/achat?adresse=Corse"
          "franche-comte" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "guadeloupe" => "annonces/achat?affichage=grid-view&adresse=Guadeloupe"
          "guyane" => "annonces/achat?affichage=grid-view&adresse=Guyane%20française"
          "ile-de-france" => "annonces/achat?adresse=Île-de-France"
          "languedoc-roussillon" => "annonces/achat?adresse=Occitanie"
          "limousin" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "lorraine" => "annonces/achat?adresse=Grand%20Est"
          "martinique" => "annonces/achat?affichage=grid-view&adresse=Martinique"
          "midi-pyrenees" => "annonces/achat?adresse=Occitanie"
          "nord-pas-de-calais" => "annonces/achat?adresse=Hauts-de-France"
          "basse-normandie" => "annonces/achat?adresse=Normandie"
          "haute-normandie" => "annonces/achat?adresse=Normandie"
          "pays-de-la-loire" => "annonces/achat?adresse=Pays%20de%20la%20Loire"
          "picardie" => "annonces/achat?adresse=Hauts-de-France"
          "poitou-charentes" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "paca" => "annonces/achat?adresse=PACA"
          "reunion" => "annonces/achat?adresse=La%20Réunion"
          "rhone-alpes" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "exclusif" => "annonces/achat?exclusif=true"
          "medoc" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "commerce" => "commerces"
        ]
        "background-regions" => array:18 [
          "Hauts-de-France, France" => "bgmoteur_annonces-hautsdefrance.jpg"
          "Normandie, France" => "bgmoteur_annonces-normandie.jpg"
          "Île-de-France, France" => "bgmoteur_annonces-iledefrance.jpg"
          "Bretagne, France" => "bgmoteur_annonces-bretagne.jpg"
          "Auvergne-Rhône-Alpes, France" => "bgmoteur_annonces-auvergnerhonealpes.jpg"
          "Bourgogne Franche-Comté, France" => "bgmoteur_annonces-bourgognefranchecompte.jpg"
          "Centre-Val de Loire, France" => "bgmoteur_annonces-centrevaldeloire.jpg"
          "Pays de la Loire, France" => "bgmoteur_annonces-valdeloire.jpg"
          "Nouvelle-Aquitaine, France" => "bgmoteur_annonces-nouvelleaquitaine.jpg"
          "Occitanie, France" => "bgmoteur_annonces-occitanie.jpg"
          "PACA, France" => "bgmoteur_annonces-paca.jpg"
          "Corse, France" => "bgmoteur_annonces-corse.jpg"
          "Grand Est, France" => "bgmoteur_annonces-grandest.jpg"
          "Guadeloupe" => "bgmoteur_annonces-guadeloupe.jpg"
          "Arrondissement de Cayenne, France" => "bgmoteur_annonces-guyane.jpg"
          "La Réunion" => "bgmoteur_annonces-lareunion.jpg"
          "Martinique" => "bgmoteur_annonces-martinique.jpg"
          "Mayotte" => "bgmoteur_annonces-mayotte.jpg"
        ]
        "site_de" => "https://www.optimhome.com/de"
        "site_pt" => "https://www.optimhome.com/pt"
        "site_en" => "https://www.optimhome.com/en"
        "site_fr" => "https://www.optimhome.com"
        "property_pdf" => array:1 [
          "file_name" => "Fiche_bien_"
        ]
        "reference_length" => array:2 [
          "fr" => 12
          "pt" => 4
        ]
        "geolocation" => array:1 [
          "city" => "Paris"
        ]
        "acxtest" => "TEST"
        "intranet-url" => "https://intranet.digitregroup.io"
        "graphql" => array:2 [
          "endpoint" => "https://intranet.digitregroup.io/graphql/"
          "token" => "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjowLCJlbWFpbCI6ImFkbWluQGRpZ2l0cmVncm91cC5jb20iLCJyb2xlIjpbIkFETUlOIl0sInJ1bGVzIjpbeyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJzdWJqZWN0IjoiYW55In1dfSwiaWF0IjoxNTUyNTgwNDI4fQ.SQdTRJQEUlvHMTn6_3pNwYDCM3aj2Taw-_bNjK3NBhM"
        ]
      ]
      "uri" => Uri {#138}
      "assets" => Assets {#251}
      "taxonomy" => Taxonomy {#423}
      "browser" => Browser {#458}
      "base_dir" => "/var/app/current"
      "home_url" => "/"
      "base_url" => ""
      "base_url_absolute" => "https://www.optimhome.com"
      "base_url_relative" => ""
      "base_url_simple" => ""
      "theme_dir" => "/var/app/current/user/themes/optimhome"
      "theme_url" => "/user/themes/optimhome"
      "html_lang" => "fr"
      "language_codes" => LanguageCodes {#459}
      "breadcrumbs" => Breadcrumbs {#196}
      "form" => null
      "form_max_filesize" => 15
      "form_json_response" => []
      "page" => Page {#519}
      "media" => Media {#1159}
      "header" => {#520}
      "grav" => Grav {#3}
    ]
    
  2. []
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Template.php
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (\Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        try {
Arguments
  1. array:25 [
      "config" => Config {#96}
      "system" => array:30 [
        "absolute_urls" => false
        "timezone" => ""
        "default_locale" => null
        "param_sep" => ":"
        "wrapped_site" => false
        "reverse_proxy_setup" => false
        "force_ssl" => false
        "force_lowercase_urls" => true
        "custom_base_url" => ""
        "username_regex" => "^[a-z0-9_@\.-]{3,50}$"
        "pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
        "intl_enabled" => true
        "languages" => array:9 [
          "supported" => array:2 [
            0 => "fr"
            1 => "de"
          ]
          "default_lang" => null
          "include_default_lang" => false
          "pages_fallback_only" => false
          "translations" => true
          "translations_fallback" => true
          "session_store_active" => false
          "http_accept_language" => false
          "override_locale" => false
        ]
        "home" => array:2 [
          "alias" => "/home"
          "hide_in_urls" => true
        ]
        "pages" => array:26 [
          "theme" => "optimhome"
          "order" => array:2 [
            "by" => "default"
            "dir" => "asc"
          ]
          "list" => array:1 [
            "count" => 20
          ]
          "dateformat" => array:3 [
            "default" => null
            "short" => "jS M Y"
            "long" => "F jS \a\t g:ia"
          ]
          "publish_dates" => true
          "process" => array:2 [
            "markdown" => false
            "twig" => true
          ]
          "twig_first" => false
          "never_cache_twig" => false
          "events" => array:2 [
            "page" => true
            "twig" => true
          ]
          "markdown" => array:5 [
            "extra" => false
            "auto_line_breaks" => false
            "auto_url_links" => false
            "escape_markup" => false
            "special_chars" => array:2 [
              ">" => "gt"
              "<" => "lt"
            ]
          ]
          "types" => array:7 [
            0 => "html"
            1 => "htm"
            2 => "xml"
            3 => "txt"
            4 => "json"
            5 => "rss"
            6 => "atom"
          ]
          "append_url_extension" => ""
          "expires" => 604800
          "cache_control" => null
          "last_modified" => false
          "etag" => false
          "vary_accept_encoding" => false
          "redirect_default_route" => false
          "redirect_default_code" => "301"
          "redirect_trailing_slash" => false
          "ignore_files" => array:1 [
            0 => ".DS_Store"
          ]
          "ignore_folders" => array:2 [
            0 => ".git"
            1 => ".idea"
          ]
          "ignore_hidden" => true
          "hide_empty_folders" => false
          "url_taxonomy_filters" => true
          "frontmatter" => array:2 [
            "process_twig" => true
            "ignore_fields" => array:2 [
              0 => "form"
              1 => "forms"
            ]
          ]
        ]
        "cache" => array:13 [
          "enabled" => true
          "check" => array:1 [
            "method" => "file"
          ]
          "driver" => "file"
          "prefix" => "g"
          "purge_at" => "0 4 * * *"
          "clear_at" => "0 3 * * *"
          "clear_job_type" => "standard"
          "clear_images_by_default" => true
          "cli_compatibility" => false
          "lifetime" => 3600
          "gzip" => false
          "allow_webserver_gzip" => false
          "redis" => array:1 [
            "socket" => false
          ]
        ]
        "twig" => array:7 [
          "cache" => true
          "debug" => true
          "auto_reload" => true
          "autoescape" => false
          "undefined_functions" => true
          "undefined_filters" => true
          "umask_fix" => false
        ]
        "assets" => array:12 [
          "css_pipeline" => false
          "css_pipeline_include_externals" => true
          "css_pipeline_before_excludes" => true
          "css_minify" => true
          "css_minify_windows" => false
          "css_rewrite" => true
          "js_pipeline" => false
          "js_pipeline_include_externals" => true
          "js_pipeline_before_excludes" => true
          "js_minify" => true
          "enable_asset_timestamp" => false
          "collections" => array:1 [
            "jquery" => "system://assets/jquery/jquery-2.x.min.js"
          ]
        ]
        "errors" => array:2 [
          "display" => true
          "log" => true
        ]
        "log" => array:2 [
          "handler" => "file"
          "syslog" => array:1 [
            "facility" => "local6"
          ]
        ]
        "debugger" => array:3 [
          "enabled" => false
          "shutdown" => array:1 [
            "close_connection" => true
          ]
          "twig" => true
        ]
        "images" => array:6 [
          "default_image_quality" => 85
          "cache_all" => false
          "cache_perms" => "0755"
          "debug" => false
          "auto_fix_orientation" => false
          "seofriendly" => false
        ]
        "media" => array:5 [
          "enable_media_timestamp" => false
          "unsupported_inline_types" => []
          "allowed_fallback_types" => []
          "auto_metadata_exif" => false
          "upload_limit" => 15728640
        ]
        "session" => array:9 [
          "enabled" => true
          "initialize" => true
          "timeout" => 1800
          "name" => "grav-site"
          "uniqueness" => "path"
          "secure" => false
          "httponly" => true
          "split" => true
          "path" => null
        ]
        "gpm" => array:5 [
          "releases" => "stable"
          "proxy_url" => null
          "method" => "auto"
          "verify_peer" => true
          "official_gpm_only" => true
        ]
        "accounts" => array:2 [
          "type" => "data"
          "storage" => "file"
        ]
        "strict_mode" => array:2 [
          "yaml_compat" => true
          "twig_compat" => true
        ]
        "gtm_stage_enabled" => false
        "matomo_prod_enabled" => true
        "seo-factory" => array:1 [
          "bu" => "OPTIMHOME"
        ]
      ]
      "theme" => array:2 [
        "streams" => array:1 [
          "schemes" => array:1 [
            "theme" => array:2 [
              "type" => "ReadOnlyStream"
              "prefixes" => array:1 [
                "" => array:2 [
                  0 => "user/themes/optimhome"
                  1 => "user/themes/digit-website"
                ]
              ]
            ]
          ]
        ]
        "marketing-operations" => array:3 [
          "saison-estimation-2019" => array:3 [
            "startDate" => "2019-03-20"
            "endDate" => "2019-04-30"
            "body_class" => "op_estim"
          ]
          "ope-neuf-2019" => array:3 [
            "startDate" => "2019-06-01"
            "endDate" => "2019-06-30"
            "body_class" => "op_neuf"
          ]
          "op-optimust-2019" => array:3 [
            "startDate" => "2019-09-11"
            "endDate" => "2019-11-01"
            "body_class" => "op_optimust"
          ]
        ]
      ]
      "site" => array:28 [
        "title" => "Optimhome Immobilier"
        "default_lang" => "fr"
        "author" => array:2 [
          "name" => "DigitRE"
          "email" => "[email protected]"
        ]
        "taxonomies" => array:2 [
          0 => "category"
          1 => "tag"
        ]
        "metadata" => array:2 [
          "generator" => ""
          "description" => ""
        ]
        "summary" => array:4 [
          "enabled" => true
          "format" => "short"
          "size" => 300
          "delimiter" => "==="
        ]
        "redirects" => array:40 [
          "/combien-pour-mon-bien$" => "/"
          "/annonces$" => "/annonces/achat"
          "/conseillers/market$" => "/maintenance"
          "/verlautbarungen$" => "/annonces/achat"
          "/adverts$" => "/annonces/achat"
          "/anuncios$" => "/annonces/achat"
          "/neuf$" => "/annonces/achat?affichage=grid-view&category[]=isNew"
          "/commerces$" => "/annonces/achat?affichage=grid-view&propertyTypes[]=BUSINESS_CAPITAL"
          "/ville_bien/(.*)_(.*)_(.*)__(.*)/(.*)" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/ville_bien/(.*)_/(.*).html" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/news/(.*)" => "/actualites"
          "/content/6/estimation-immobiliere-en-ligne-1.html" => "/estimer-mon-bien"
          "/content/5/mentions-legales.html?language=fr" => "/mentions-legales"
          "/agence/(.*)" => "/nos-conseillers"
          "/ville_bien/(.*)_(.*)_(.*)__Vente" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/catalog/estimation.php" => "/estimer-mon-bien"
          "/fiches/(.*)" => "/annonces/achat"
          "(.*)PRODUCT_LIST_(.*)" => "/annonces/achat"
          "(.*)_Vente/vente-(.*)" => "/annonces/achat"
          "/annonces/(.*)____Vente_/vente.html" => "/annonces/achat"
          "/type_bien/(.*)" => "/annonces/achat"
          "/annonces/_____(.*)/immobilier.html" => "/annonces/achat"
          "/annonces/(.*)_____2/.html" => "/annonces/achat"
          "/conseillers/(.*)-recrutement-immobilier" => "/nos-conseillers"
          "/annonces/exclusivites" => "/annonces/achat?affichage=grid-view&exclusif=true"
          "/de-(.*).html" => "/de"
          "/fr-(.*).html" => "/annonces/achat"
          "/es-(.*).html" => "/"
          "/nl-(.*).html" => "/"
          "/pt-(.*).html" => "/pt"
          "/ville_bien/(.*).html" => "/annonces/achat"
          "/catalog/news.php" => "/actualites"
          "/it-(.*).html" => "/en"
          "/en-(.*).html" => "/en"
          "(.*)/(region|bezirk)(?(?=\?)(.+)|)$" => "/[301]"
          "(.*)/(regions|regionen)(?(?=\?)(.+)|)$" => "/[301]"
          "/de/betreuer/steinseufzer-robert" => "/betreuer/robert-steinseufzer"
          "(.*)/estimer/appartement" => "/estimer-appartement"
          "(.*)/estimer/maison" => "/estimer-maison"
          "/conseillers/casseleux" => "/conseillers/aurelie.casseleux"
        ]
        "routes" => array:88 [
          "(.*)/(actualites|neuigkeit|news|noticias)(?(?=\?)(.+)|)$" => "/actualites"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/page:(\d+)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(commerces|shops|neuf)/nos-conseillers(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(new/agents)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche"
          "(.*)/(annonces|commerces)/(fiche|vente|achat|location|reprendre)/([\w-]+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location|reprendre)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(adverts|shops)/(sale|buy|rental|resume)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(verlautbarungen|geschafte|shops)/(verkauf|mieten|einkaufen|verlieh|zusammenfassung)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel|retomar)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(adverts|shops)/(sale|buy|rental)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(verlautbarungen|geschafte)/(verkauf|mieten|einkaufen|verlieh)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(annonces/villes|verlautbarungen/ortschaften|adverts/cities|anuncios/cidades)(?(?=\?)(.+)|)$" => "/annonces/villes"
          "(.*)/(commerces|shops|lojas)(?(?=\?)(.+)|)$" => "/commerces"
          "(.*)/(immobilier/avis-clients|immobilien/kundenrezensionen|real-estate/customer-reviews|imoveis/opinioes-clientes)(?(?=\?)(.+)|)$" => "/immobilier/avis-clients"
          "(.*)/(immobilien|imobiliaria)/(konzept|o-conceito)(?(?=\?)(.+)|)$" => "/immobilier/concept"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/international(?(?=\?)(.+)|)$" => "/immobilier/international"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(investir-dans-le-neuf|investieren-in-die-neue|invest-in-the-new)(?(?=\?)(.+)|)$" => "/immobilier/investir-dans-le-neuf"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(nos-valeurs|unsere-werte|our-values)(?(?=\?)(.+)|)$" => "/immobilier/nos-valeurs"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imoveis)/(pourquoi|warum|why|por-que)(?(?=\?)(.+)|)$" => "/immobilier/pourquoi-choisir-optimhome"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/(qui-sommes-nous|wer-sind-wir|who-we-are|quem-somos-nos)(?(?=\?)(.+)|)$" => "/immobilier/qui-sommes-nous"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/pass-vip(?(?=\?)(.+)|)$" => "/immobilier/pass-vip"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(primo-accession|erstbeitritt|first-accession)(?(?=\?)(.+)|)$" => "/immobilier/immobilier/primo-accession"
          "(.*)/(immobilier/visite-live-a-distance|immobilien/besichtigung-live-a-distance|real-estate/visit-live-a-distance)(?(?=\?)(.+)|)$" => "/immobilier/visite-live-a-distance"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(vivre-dans-le-neuf|leben-in-einer-neuen-umgebung|living-in-a-new-environment)(?(?=\?)(.+)|)$" => "/immobilier/vivre-dans-le-neuf"
          "(.*)/(mentions-legales|rechtliche-hinweise|legal-notices|mencao-legal)(?(?=\?)(.+)|)$" => "/mentions-legales"
          "(.*)/(mon-compte|mein-konto|my-account)(?(?=\?)(.+)|)$" => "/mon-compte"
          "(.*)/(mon-compte/home|mein-konto/home|my-account/home)(?(?=\?)(.+)|)$" => "/mon-compte/home"
          "(.*)/(mon-compte/espace-proprietaire|mein-konto/primar-raum|my-account/private-area)(?(?=\?)(.+)|)$" => "/mon-compte/espace-proprietaire"
          "(.*)/(mandat-optimust)(?(?=\?)(.+)|)$" => "/mandat-optimust"
          "(.*)/(neuf|neu|new|novo)(?(?=\?)(.+)|)$" => "/neuf"
          "(.*)/(nous-contacter|kontakt-uns|contact-us|contacte-nos)(?(?=\?)(.+)|)$" => "/nous-contacter"
          "(.*)/(politique-generale-confidentialite|allgemeine-politik-vertraulichkeit|general-policy-confidentiality|politica-geral-privacidade)(?(?=\?)(.+)|)$" => "/politique-generale-confidentialite"
          "(.*)/(rekrutierung)(?(?=\?)(.+)|)$" => "/recrutement"
          "(.*)/(vendre|verkaufen|sell|vender)(?(?=\?)(.+)|)$" => "/vendre"
          "(.*)/(annonces|commerces|neuf)/(vente|achat|louer|fonds)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(adverts|shops)/(sale|buy|rental|business)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(verlautbarungen|shops)/(mieten|einkaufen|verlieh|gewerbe)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(anuncios|comerciais|novo)/(venda|comprar|aluguer|fundos|aluguer)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(annonces|verlautbarungen)/(achat|einkaufen|mieten|louer)(/page:\d+)?(\?.*)?$" => "/annonces/transaction"
          "(.*)/region/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/bezirk/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/estimer-mon-bien(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/estimate-my-property(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft?(.*)" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung?(.*)" => "/estimer-mon-bien"
          "(.*)/apreciar-meu-propriedade(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/conseillers/estimation(?(?=/)(.+)|)$" => "/estimer"
          "(.*)/conseillers/estimation/etapes(?(?=/)(.+)|)$" => "/estimer/etapes"
          "(.*)/conseillers/estimation/etapes/.*/resultat/(.*)" => "/estimer/resultat-agent"
          "(.*)/conseillers/apporteur-affaires/suivi/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/suivi"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)/merci(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes/merci"
          "(.*)/conseillers/apporteur-affaires/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes"
          "(.*)/estimer-appartement$" => "/estimer"
          "(.*)/estimer-maison$" => "/estimer"
          "(.*)/estimer-appartement?(.*)$" => "/estimer"
          "(.*)/estimer-maison?(.*)$" => "/estimer"
          "(.*)/estimer-appartement/etapes$" => "/estimer/etapes"
          "(.*)/estimer-maison/etapes$" => "/estimer/etapes"
          "(.*)/estimer-appartement/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-maison/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/combien-pour-mon-bien/resultat/(.*)" => "/combien-pour-mon-bien/resultat"
          "(.*)/combien-pour-mon-bien-estimation/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-mon-bien/resultat/(.*)" => "/estimer-mon-bien/resultat"
          "/estimate" => "/estimer-mon-bien"
          "/estimate/result" => "/estimer-mon-bien/resultat"
          "(.*)/vendre(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/sell(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/verkaufen(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/vender(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/(favoris|favorites|favoriten|os-meus-favoritos)(?(?=\?)(.+)|)$" => "/favoris"
          "(.*)/(commerces/vendre|shops/sell|shops/verkaufen|vender/lojas)(?(?=/)(.+)|)$" => "/vendre-commerces"
          "(.*)/nos-conseillers/fiche/vendre/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/vendre"
          "(.*)/nos-conseillers/fiche/estimation-rdv/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv"
          "(.*)/nos-conseillers/fiche/estimation-rdv/merci(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv/merci"
          "/annonces/villes(?(?=\?)(.+)|)$" => "/annonces/villes"
          "/annonces/villes/[a-z](?(?=\?)(.+)|)$" => "/annonces/villes-lettre"
          "/annonces/achat/\w+(?(?=\?)(.+)|)$" => "/seo/city"
          "/annonces/achat/\w+/\w+(?(?=\?)(.+)|)$" => "/seo/city-type"
          "/([\w*-._]*)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche"
        ]
        "blog" => array:1 [
          "route" => "/blog"
        ]
        "env" => "prod"
        "exclude_cafpi_agent" => array:1 [
          0 => "2018"
        ]
        "emails" => array:1 [
          "regex" => "/([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)/"
        ]
        "activityStatus" => "SELLER"
        "partnerId" => "optimhome"
        "domain" => "optimhome"
        "show_login_form" => true
        "mapping_url_subdomain" => array:28 [
          "alsace" => "annonces/achat?adresse=Grand%20Est"
          "auvergne" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "bourgogne" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "bretagne" => "annonces/achat?adresse=Bretagne"
          "centre" => "annonces/achat?adresse=Centre-Val%20de%20Loire"
          "champagne-ardenne" => "annonces/achat?adresse=Grand%20Est"
          "corse" => "annonces/achat?adresse=Corse"
          "franche-comte" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "guadeloupe" => "annonces/achat?affichage=grid-view&adresse=Guadeloupe"
          "guyane" => "annonces/achat?affichage=grid-view&adresse=Guyane%20française"
          "ile-de-france" => "annonces/achat?adresse=Île-de-France"
          "languedoc-roussillon" => "annonces/achat?adresse=Occitanie"
          "limousin" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "lorraine" => "annonces/achat?adresse=Grand%20Est"
          "martinique" => "annonces/achat?affichage=grid-view&adresse=Martinique"
          "midi-pyrenees" => "annonces/achat?adresse=Occitanie"
          "nord-pas-de-calais" => "annonces/achat?adresse=Hauts-de-France"
          "basse-normandie" => "annonces/achat?adresse=Normandie"
          "haute-normandie" => "annonces/achat?adresse=Normandie"
          "pays-de-la-loire" => "annonces/achat?adresse=Pays%20de%20la%20Loire"
          "picardie" => "annonces/achat?adresse=Hauts-de-France"
          "poitou-charentes" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "paca" => "annonces/achat?adresse=PACA"
          "reunion" => "annonces/achat?adresse=La%20Réunion"
          "rhone-alpes" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "exclusif" => "annonces/achat?exclusif=true"
          "medoc" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "commerce" => "commerces"
        ]
        "background-regions" => array:18 [
          "Hauts-de-France, France" => "bgmoteur_annonces-hautsdefrance.jpg"
          "Normandie, France" => "bgmoteur_annonces-normandie.jpg"
          "Île-de-France, France" => "bgmoteur_annonces-iledefrance.jpg"
          "Bretagne, France" => "bgmoteur_annonces-bretagne.jpg"
          "Auvergne-Rhône-Alpes, France" => "bgmoteur_annonces-auvergnerhonealpes.jpg"
          "Bourgogne Franche-Comté, France" => "bgmoteur_annonces-bourgognefranchecompte.jpg"
          "Centre-Val de Loire, France" => "bgmoteur_annonces-centrevaldeloire.jpg"
          "Pays de la Loire, France" => "bgmoteur_annonces-valdeloire.jpg"
          "Nouvelle-Aquitaine, France" => "bgmoteur_annonces-nouvelleaquitaine.jpg"
          "Occitanie, France" => "bgmoteur_annonces-occitanie.jpg"
          "PACA, France" => "bgmoteur_annonces-paca.jpg"
          "Corse, France" => "bgmoteur_annonces-corse.jpg"
          "Grand Est, France" => "bgmoteur_annonces-grandest.jpg"
          "Guadeloupe" => "bgmoteur_annonces-guadeloupe.jpg"
          "Arrondissement de Cayenne, France" => "bgmoteur_annonces-guyane.jpg"
          "La Réunion" => "bgmoteur_annonces-lareunion.jpg"
          "Martinique" => "bgmoteur_annonces-martinique.jpg"
          "Mayotte" => "bgmoteur_annonces-mayotte.jpg"
        ]
        "site_de" => "https://www.optimhome.com/de"
        "site_pt" => "https://www.optimhome.com/pt"
        "site_en" => "https://www.optimhome.com/en"
        "site_fr" => "https://www.optimhome.com"
        "property_pdf" => array:1 [
          "file_name" => "Fiche_bien_"
        ]
        "reference_length" => array:2 [
          "fr" => 12
          "pt" => 4
        ]
        "geolocation" => array:1 [
          "city" => "Paris"
        ]
        "acxtest" => "TEST"
        "intranet-url" => "https://intranet.digitregroup.io"
        "graphql" => array:2 [
          "endpoint" => "https://intranet.digitregroup.io/graphql/"
          "token" => "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjowLCJlbWFpbCI6ImFkbWluQGRpZ2l0cmVncm91cC5jb20iLCJyb2xlIjpbIkFETUlOIl0sInJ1bGVzIjpbeyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJzdWJqZWN0IjoiYW55In1dfSwiaWF0IjoxNTUyNTgwNDI4fQ.SQdTRJQEUlvHMTn6_3pNwYDCM3aj2Taw-_bNjK3NBhM"
        ]
      ]
      "uri" => Uri {#138}
      "assets" => Assets {#251}
      "taxonomy" => Taxonomy {#423}
      "browser" => Browser {#458}
      "base_dir" => "/var/app/current"
      "home_url" => "/"
      "base_url" => ""
      "base_url_absolute" => "https://www.optimhome.com"
      "base_url_relative" => ""
      "base_url_simple" => ""
      "theme_dir" => "/var/app/current/user/themes/optimhome"
      "theme_url" => "/user/themes/optimhome"
      "html_lang" => "fr"
      "language_codes" => LanguageCodes {#459}
      "breadcrumbs" => Breadcrumbs {#196}
      "form" => null
      "form_max_filesize" => 15
      "form_json_response" => []
      "page" => Page {#519}
      "media" => Media {#1159}
      "header" => {#520}
    ]
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
TemplateWrapper.php
     * @internal
     */
    public function __construct(Environment $env, Template $template)
    {
        $this->env = $env;
        $this->template = $template;
    }
 
    /**
     * Renders the template.
     *
     * @param array $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     */
    public function render($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        return $this->template->render($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }
 
    /**
     * Displays the template.
     *
     * @param array $context An array of parameters to pass to the template
     */
    public function display($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        $this->template->display($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }
 
    /**
     * Checks if a block is defined.
     *
     * @param string $name    The block name
     * @param array  $context An array of parameters to pass to the template
     *
Arguments
  1. array:25 [
      "config" => Config {#96}
      "system" => array:30 [
        "absolute_urls" => false
        "timezone" => ""
        "default_locale" => null
        "param_sep" => ":"
        "wrapped_site" => false
        "reverse_proxy_setup" => false
        "force_ssl" => false
        "force_lowercase_urls" => true
        "custom_base_url" => ""
        "username_regex" => "^[a-z0-9_@\.-]{3,50}$"
        "pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
        "intl_enabled" => true
        "languages" => array:9 [
          "supported" => array:2 [
            0 => "fr"
            1 => "de"
          ]
          "default_lang" => null
          "include_default_lang" => false
          "pages_fallback_only" => false
          "translations" => true
          "translations_fallback" => true
          "session_store_active" => false
          "http_accept_language" => false
          "override_locale" => false
        ]
        "home" => array:2 [
          "alias" => "/home"
          "hide_in_urls" => true
        ]
        "pages" => array:26 [
          "theme" => "optimhome"
          "order" => array:2 [
            "by" => "default"
            "dir" => "asc"
          ]
          "list" => array:1 [
            "count" => 20
          ]
          "dateformat" => array:3 [
            "default" => null
            "short" => "jS M Y"
            "long" => "F jS \a\t g:ia"
          ]
          "publish_dates" => true
          "process" => array:2 [
            "markdown" => false
            "twig" => true
          ]
          "twig_first" => false
          "never_cache_twig" => false
          "events" => array:2 [
            "page" => true
            "twig" => true
          ]
          "markdown" => array:5 [
            "extra" => false
            "auto_line_breaks" => false
            "auto_url_links" => false
            "escape_markup" => false
            "special_chars" => array:2 [
              ">" => "gt"
              "<" => "lt"
            ]
          ]
          "types" => array:7 [
            0 => "html"
            1 => "htm"
            2 => "xml"
            3 => "txt"
            4 => "json"
            5 => "rss"
            6 => "atom"
          ]
          "append_url_extension" => ""
          "expires" => 604800
          "cache_control" => null
          "last_modified" => false
          "etag" => false
          "vary_accept_encoding" => false
          "redirect_default_route" => false
          "redirect_default_code" => "301"
          "redirect_trailing_slash" => false
          "ignore_files" => array:1 [
            0 => ".DS_Store"
          ]
          "ignore_folders" => array:2 [
            0 => ".git"
            1 => ".idea"
          ]
          "ignore_hidden" => true
          "hide_empty_folders" => false
          "url_taxonomy_filters" => true
          "frontmatter" => array:2 [
            "process_twig" => true
            "ignore_fields" => array:2 [
              0 => "form"
              1 => "forms"
            ]
          ]
        ]
        "cache" => array:13 [
          "enabled" => true
          "check" => array:1 [
            "method" => "file"
          ]
          "driver" => "file"
          "prefix" => "g"
          "purge_at" => "0 4 * * *"
          "clear_at" => "0 3 * * *"
          "clear_job_type" => "standard"
          "clear_images_by_default" => true
          "cli_compatibility" => false
          "lifetime" => 3600
          "gzip" => false
          "allow_webserver_gzip" => false
          "redis" => array:1 [
            "socket" => false
          ]
        ]
        "twig" => array:7 [
          "cache" => true
          "debug" => true
          "auto_reload" => true
          "autoescape" => false
          "undefined_functions" => true
          "undefined_filters" => true
          "umask_fix" => false
        ]
        "assets" => array:12 [
          "css_pipeline" => false
          "css_pipeline_include_externals" => true
          "css_pipeline_before_excludes" => true
          "css_minify" => true
          "css_minify_windows" => false
          "css_rewrite" => true
          "js_pipeline" => false
          "js_pipeline_include_externals" => true
          "js_pipeline_before_excludes" => true
          "js_minify" => true
          "enable_asset_timestamp" => false
          "collections" => array:1 [
            "jquery" => "system://assets/jquery/jquery-2.x.min.js"
          ]
        ]
        "errors" => array:2 [
          "display" => true
          "log" => true
        ]
        "log" => array:2 [
          "handler" => "file"
          "syslog" => array:1 [
            "facility" => "local6"
          ]
        ]
        "debugger" => array:3 [
          "enabled" => false
          "shutdown" => array:1 [
            "close_connection" => true
          ]
          "twig" => true
        ]
        "images" => array:6 [
          "default_image_quality" => 85
          "cache_all" => false
          "cache_perms" => "0755"
          "debug" => false
          "auto_fix_orientation" => false
          "seofriendly" => false
        ]
        "media" => array:5 [
          "enable_media_timestamp" => false
          "unsupported_inline_types" => []
          "allowed_fallback_types" => []
          "auto_metadata_exif" => false
          "upload_limit" => 15728640
        ]
        "session" => array:9 [
          "enabled" => true
          "initialize" => true
          "timeout" => 1800
          "name" => "grav-site"
          "uniqueness" => "path"
          "secure" => false
          "httponly" => true
          "split" => true
          "path" => null
        ]
        "gpm" => array:5 [
          "releases" => "stable"
          "proxy_url" => null
          "method" => "auto"
          "verify_peer" => true
          "official_gpm_only" => true
        ]
        "accounts" => array:2 [
          "type" => "data"
          "storage" => "file"
        ]
        "strict_mode" => array:2 [
          "yaml_compat" => true
          "twig_compat" => true
        ]
        "gtm_stage_enabled" => false
        "matomo_prod_enabled" => true
        "seo-factory" => array:1 [
          "bu" => "OPTIMHOME"
        ]
      ]
      "theme" => array:2 [
        "streams" => array:1 [
          "schemes" => array:1 [
            "theme" => array:2 [
              "type" => "ReadOnlyStream"
              "prefixes" => array:1 [
                "" => array:2 [
                  0 => "user/themes/optimhome"
                  1 => "user/themes/digit-website"
                ]
              ]
            ]
          ]
        ]
        "marketing-operations" => array:3 [
          "saison-estimation-2019" => array:3 [
            "startDate" => "2019-03-20"
            "endDate" => "2019-04-30"
            "body_class" => "op_estim"
          ]
          "ope-neuf-2019" => array:3 [
            "startDate" => "2019-06-01"
            "endDate" => "2019-06-30"
            "body_class" => "op_neuf"
          ]
          "op-optimust-2019" => array:3 [
            "startDate" => "2019-09-11"
            "endDate" => "2019-11-01"
            "body_class" => "op_optimust"
          ]
        ]
      ]
      "site" => array:28 [
        "title" => "Optimhome Immobilier"
        "default_lang" => "fr"
        "author" => array:2 [
          "name" => "DigitRE"
          "email" => "[email protected]"
        ]
        "taxonomies" => array:2 [
          0 => "category"
          1 => "tag"
        ]
        "metadata" => array:2 [
          "generator" => ""
          "description" => ""
        ]
        "summary" => array:4 [
          "enabled" => true
          "format" => "short"
          "size" => 300
          "delimiter" => "==="
        ]
        "redirects" => array:40 [
          "/combien-pour-mon-bien$" => "/"
          "/annonces$" => "/annonces/achat"
          "/conseillers/market$" => "/maintenance"
          "/verlautbarungen$" => "/annonces/achat"
          "/adverts$" => "/annonces/achat"
          "/anuncios$" => "/annonces/achat"
          "/neuf$" => "/annonces/achat?affichage=grid-view&category[]=isNew"
          "/commerces$" => "/annonces/achat?affichage=grid-view&propertyTypes[]=BUSINESS_CAPITAL"
          "/ville_bien/(.*)_(.*)_(.*)__(.*)/(.*)" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/ville_bien/(.*)_/(.*).html" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/news/(.*)" => "/actualites"
          "/content/6/estimation-immobiliere-en-ligne-1.html" => "/estimer-mon-bien"
          "/content/5/mentions-legales.html?language=fr" => "/mentions-legales"
          "/agence/(.*)" => "/nos-conseillers"
          "/ville_bien/(.*)_(.*)_(.*)__Vente" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/catalog/estimation.php" => "/estimer-mon-bien"
          "/fiches/(.*)" => "/annonces/achat"
          "(.*)PRODUCT_LIST_(.*)" => "/annonces/achat"
          "(.*)_Vente/vente-(.*)" => "/annonces/achat"
          "/annonces/(.*)____Vente_/vente.html" => "/annonces/achat"
          "/type_bien/(.*)" => "/annonces/achat"
          "/annonces/_____(.*)/immobilier.html" => "/annonces/achat"
          "/annonces/(.*)_____2/.html" => "/annonces/achat"
          "/conseillers/(.*)-recrutement-immobilier" => "/nos-conseillers"
          "/annonces/exclusivites" => "/annonces/achat?affichage=grid-view&exclusif=true"
          "/de-(.*).html" => "/de"
          "/fr-(.*).html" => "/annonces/achat"
          "/es-(.*).html" => "/"
          "/nl-(.*).html" => "/"
          "/pt-(.*).html" => "/pt"
          "/ville_bien/(.*).html" => "/annonces/achat"
          "/catalog/news.php" => "/actualites"
          "/it-(.*).html" => "/en"
          "/en-(.*).html" => "/en"
          "(.*)/(region|bezirk)(?(?=\?)(.+)|)$" => "/[301]"
          "(.*)/(regions|regionen)(?(?=\?)(.+)|)$" => "/[301]"
          "/de/betreuer/steinseufzer-robert" => "/betreuer/robert-steinseufzer"
          "(.*)/estimer/appartement" => "/estimer-appartement"
          "(.*)/estimer/maison" => "/estimer-maison"
          "/conseillers/casseleux" => "/conseillers/aurelie.casseleux"
        ]
        "routes" => array:88 [
          "(.*)/(actualites|neuigkeit|news|noticias)(?(?=\?)(.+)|)$" => "/actualites"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/page:(\d+)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(commerces|shops|neuf)/nos-conseillers(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(new/agents)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche"
          "(.*)/(annonces|commerces)/(fiche|vente|achat|location|reprendre)/([\w-]+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location|reprendre)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(adverts|shops)/(sale|buy|rental|resume)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(verlautbarungen|geschafte|shops)/(verkauf|mieten|einkaufen|verlieh|zusammenfassung)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel|retomar)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(adverts|shops)/(sale|buy|rental)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(verlautbarungen|geschafte)/(verkauf|mieten|einkaufen|verlieh)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(annonces/villes|verlautbarungen/ortschaften|adverts/cities|anuncios/cidades)(?(?=\?)(.+)|)$" => "/annonces/villes"
          "(.*)/(commerces|shops|lojas)(?(?=\?)(.+)|)$" => "/commerces"
          "(.*)/(immobilier/avis-clients|immobilien/kundenrezensionen|real-estate/customer-reviews|imoveis/opinioes-clientes)(?(?=\?)(.+)|)$" => "/immobilier/avis-clients"
          "(.*)/(immobilien|imobiliaria)/(konzept|o-conceito)(?(?=\?)(.+)|)$" => "/immobilier/concept"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/international(?(?=\?)(.+)|)$" => "/immobilier/international"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(investir-dans-le-neuf|investieren-in-die-neue|invest-in-the-new)(?(?=\?)(.+)|)$" => "/immobilier/investir-dans-le-neuf"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(nos-valeurs|unsere-werte|our-values)(?(?=\?)(.+)|)$" => "/immobilier/nos-valeurs"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imoveis)/(pourquoi|warum|why|por-que)(?(?=\?)(.+)|)$" => "/immobilier/pourquoi-choisir-optimhome"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/(qui-sommes-nous|wer-sind-wir|who-we-are|quem-somos-nos)(?(?=\?)(.+)|)$" => "/immobilier/qui-sommes-nous"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/pass-vip(?(?=\?)(.+)|)$" => "/immobilier/pass-vip"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(primo-accession|erstbeitritt|first-accession)(?(?=\?)(.+)|)$" => "/immobilier/immobilier/primo-accession"
          "(.*)/(immobilier/visite-live-a-distance|immobilien/besichtigung-live-a-distance|real-estate/visit-live-a-distance)(?(?=\?)(.+)|)$" => "/immobilier/visite-live-a-distance"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(vivre-dans-le-neuf|leben-in-einer-neuen-umgebung|living-in-a-new-environment)(?(?=\?)(.+)|)$" => "/immobilier/vivre-dans-le-neuf"
          "(.*)/(mentions-legales|rechtliche-hinweise|legal-notices|mencao-legal)(?(?=\?)(.+)|)$" => "/mentions-legales"
          "(.*)/(mon-compte|mein-konto|my-account)(?(?=\?)(.+)|)$" => "/mon-compte"
          "(.*)/(mon-compte/home|mein-konto/home|my-account/home)(?(?=\?)(.+)|)$" => "/mon-compte/home"
          "(.*)/(mon-compte/espace-proprietaire|mein-konto/primar-raum|my-account/private-area)(?(?=\?)(.+)|)$" => "/mon-compte/espace-proprietaire"
          "(.*)/(mandat-optimust)(?(?=\?)(.+)|)$" => "/mandat-optimust"
          "(.*)/(neuf|neu|new|novo)(?(?=\?)(.+)|)$" => "/neuf"
          "(.*)/(nous-contacter|kontakt-uns|contact-us|contacte-nos)(?(?=\?)(.+)|)$" => "/nous-contacter"
          "(.*)/(politique-generale-confidentialite|allgemeine-politik-vertraulichkeit|general-policy-confidentiality|politica-geral-privacidade)(?(?=\?)(.+)|)$" => "/politique-generale-confidentialite"
          "(.*)/(rekrutierung)(?(?=\?)(.+)|)$" => "/recrutement"
          "(.*)/(vendre|verkaufen|sell|vender)(?(?=\?)(.+)|)$" => "/vendre"
          "(.*)/(annonces|commerces|neuf)/(vente|achat|louer|fonds)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(adverts|shops)/(sale|buy|rental|business)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(verlautbarungen|shops)/(mieten|einkaufen|verlieh|gewerbe)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(anuncios|comerciais|novo)/(venda|comprar|aluguer|fundos|aluguer)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(annonces|verlautbarungen)/(achat|einkaufen|mieten|louer)(/page:\d+)?(\?.*)?$" => "/annonces/transaction"
          "(.*)/region/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/bezirk/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/estimer-mon-bien(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/estimate-my-property(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft?(.*)" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung?(.*)" => "/estimer-mon-bien"
          "(.*)/apreciar-meu-propriedade(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/conseillers/estimation(?(?=/)(.+)|)$" => "/estimer"
          "(.*)/conseillers/estimation/etapes(?(?=/)(.+)|)$" => "/estimer/etapes"
          "(.*)/conseillers/estimation/etapes/.*/resultat/(.*)" => "/estimer/resultat-agent"
          "(.*)/conseillers/apporteur-affaires/suivi/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/suivi"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)/merci(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes/merci"
          "(.*)/conseillers/apporteur-affaires/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes"
          "(.*)/estimer-appartement$" => "/estimer"
          "(.*)/estimer-maison$" => "/estimer"
          "(.*)/estimer-appartement?(.*)$" => "/estimer"
          "(.*)/estimer-maison?(.*)$" => "/estimer"
          "(.*)/estimer-appartement/etapes$" => "/estimer/etapes"
          "(.*)/estimer-maison/etapes$" => "/estimer/etapes"
          "(.*)/estimer-appartement/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-maison/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/combien-pour-mon-bien/resultat/(.*)" => "/combien-pour-mon-bien/resultat"
          "(.*)/combien-pour-mon-bien-estimation/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-mon-bien/resultat/(.*)" => "/estimer-mon-bien/resultat"
          "/estimate" => "/estimer-mon-bien"
          "/estimate/result" => "/estimer-mon-bien/resultat"
          "(.*)/vendre(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/sell(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/verkaufen(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/vender(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/(favoris|favorites|favoriten|os-meus-favoritos)(?(?=\?)(.+)|)$" => "/favoris"
          "(.*)/(commerces/vendre|shops/sell|shops/verkaufen|vender/lojas)(?(?=/)(.+)|)$" => "/vendre-commerces"
          "(.*)/nos-conseillers/fiche/vendre/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/vendre"
          "(.*)/nos-conseillers/fiche/estimation-rdv/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv"
          "(.*)/nos-conseillers/fiche/estimation-rdv/merci(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv/merci"
          "/annonces/villes(?(?=\?)(.+)|)$" => "/annonces/villes"
          "/annonces/villes/[a-z](?(?=\?)(.+)|)$" => "/annonces/villes-lettre"
          "/annonces/achat/\w+(?(?=\?)(.+)|)$" => "/seo/city"
          "/annonces/achat/\w+/\w+(?(?=\?)(.+)|)$" => "/seo/city-type"
          "/([\w*-._]*)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche"
        ]
        "blog" => array:1 [
          "route" => "/blog"
        ]
        "env" => "prod"
        "exclude_cafpi_agent" => array:1 [
          0 => "2018"
        ]
        "emails" => array:1 [
          "regex" => "/([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)/"
        ]
        "activityStatus" => "SELLER"
        "partnerId" => "optimhome"
        "domain" => "optimhome"
        "show_login_form" => true
        "mapping_url_subdomain" => array:28 [
          "alsace" => "annonces/achat?adresse=Grand%20Est"
          "auvergne" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "bourgogne" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "bretagne" => "annonces/achat?adresse=Bretagne"
          "centre" => "annonces/achat?adresse=Centre-Val%20de%20Loire"
          "champagne-ardenne" => "annonces/achat?adresse=Grand%20Est"
          "corse" => "annonces/achat?adresse=Corse"
          "franche-comte" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "guadeloupe" => "annonces/achat?affichage=grid-view&adresse=Guadeloupe"
          "guyane" => "annonces/achat?affichage=grid-view&adresse=Guyane%20française"
          "ile-de-france" => "annonces/achat?adresse=Île-de-France"
          "languedoc-roussillon" => "annonces/achat?adresse=Occitanie"
          "limousin" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "lorraine" => "annonces/achat?adresse=Grand%20Est"
          "martinique" => "annonces/achat?affichage=grid-view&adresse=Martinique"
          "midi-pyrenees" => "annonces/achat?adresse=Occitanie"
          "nord-pas-de-calais" => "annonces/achat?adresse=Hauts-de-France"
          "basse-normandie" => "annonces/achat?adresse=Normandie"
          "haute-normandie" => "annonces/achat?adresse=Normandie"
          "pays-de-la-loire" => "annonces/achat?adresse=Pays%20de%20la%20Loire"
          "picardie" => "annonces/achat?adresse=Hauts-de-France"
          "poitou-charentes" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "paca" => "annonces/achat?adresse=PACA"
          "reunion" => "annonces/achat?adresse=La%20Réunion"
          "rhone-alpes" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "exclusif" => "annonces/achat?exclusif=true"
          "medoc" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "commerce" => "commerces"
        ]
        "background-regions" => array:18 [
          "Hauts-de-France, France" => "bgmoteur_annonces-hautsdefrance.jpg"
          "Normandie, France" => "bgmoteur_annonces-normandie.jpg"
          "Île-de-France, France" => "bgmoteur_annonces-iledefrance.jpg"
          "Bretagne, France" => "bgmoteur_annonces-bretagne.jpg"
          "Auvergne-Rhône-Alpes, France" => "bgmoteur_annonces-auvergnerhonealpes.jpg"
          "Bourgogne Franche-Comté, France" => "bgmoteur_annonces-bourgognefranchecompte.jpg"
          "Centre-Val de Loire, France" => "bgmoteur_annonces-centrevaldeloire.jpg"
          "Pays de la Loire, France" => "bgmoteur_annonces-valdeloire.jpg"
          "Nouvelle-Aquitaine, France" => "bgmoteur_annonces-nouvelleaquitaine.jpg"
          "Occitanie, France" => "bgmoteur_annonces-occitanie.jpg"
          "PACA, France" => "bgmoteur_annonces-paca.jpg"
          "Corse, France" => "bgmoteur_annonces-corse.jpg"
          "Grand Est, France" => "bgmoteur_annonces-grandest.jpg"
          "Guadeloupe" => "bgmoteur_annonces-guadeloupe.jpg"
          "Arrondissement de Cayenne, France" => "bgmoteur_annonces-guyane.jpg"
          "La Réunion" => "bgmoteur_annonces-lareunion.jpg"
          "Martinique" => "bgmoteur_annonces-martinique.jpg"
          "Mayotte" => "bgmoteur_annonces-mayotte.jpg"
        ]
        "site_de" => "https://www.optimhome.com/de"
        "site_pt" => "https://www.optimhome.com/pt"
        "site_en" => "https://www.optimhome.com/en"
        "site_fr" => "https://www.optimhome.com"
        "property_pdf" => array:1 [
          "file_name" => "Fiche_bien_"
        ]
        "reference_length" => array:2 [
          "fr" => 12
          "pt" => 4
        ]
        "geolocation" => array:1 [
          "city" => "Paris"
        ]
        "acxtest" => "TEST"
        "intranet-url" => "https://intranet.digitregroup.io"
        "graphql" => array:2 [
          "endpoint" => "https://intranet.digitregroup.io/graphql/"
          "token" => "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjowLCJlbWFpbCI6ImFkbWluQGRpZ2l0cmVncm91cC5jb20iLCJyb2xlIjpbIkFETUlOIl0sInJ1bGVzIjpbeyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJzdWJqZWN0IjoiYW55In1dfSwiaWF0IjoxNTUyNTgwNDI4fQ.SQdTRJQEUlvHMTn6_3pNwYDCM3aj2Taw-_bNjK3NBhM"
        ]
      ]
      "uri" => Uri {#138}
      "assets" => Assets {#251}
      "taxonomy" => Taxonomy {#423}
      "browser" => Browser {#458}
      "base_dir" => "/var/app/current"
      "home_url" => "/"
      "base_url" => ""
      "base_url_absolute" => "https://www.optimhome.com"
      "base_url_relative" => ""
      "base_url_simple" => ""
      "theme_dir" => "/var/app/current/user/themes/optimhome"
      "theme_url" => "/user/themes/optimhome"
      "html_lang" => "fr"
      "language_codes" => LanguageCodes {#459}
      "breadcrumbs" => Breadcrumbs {#196}
      "form" => null
      "form_max_filesize" => 15
      "form_json_response" => []
      "page" => Page {#519}
      "media" => Media {#1159}
      "header" => {#520}
    ]
    
  2. []
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Environment.php
        @trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
 
        return $this->templateClassPrefix;
    }
 
    /**
     * Renders a template.
     *
     * @param string|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function render($name, array $context = [])
    {
        return $this->load($name)->render($context);
    }
 
    /**
     * Displays a template.
     *
     * @param string|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function display($name, array $context = [])
    {
        $this->load($name)->display($context);
    }
 
    /**
     * Loads a template.
     *
Arguments
  1. array:25 [
      "config" => Config {#96}
      "system" => array:30 [
        "absolute_urls" => false
        "timezone" => ""
        "default_locale" => null
        "param_sep" => ":"
        "wrapped_site" => false
        "reverse_proxy_setup" => false
        "force_ssl" => false
        "force_lowercase_urls" => true
        "custom_base_url" => ""
        "username_regex" => "^[a-z0-9_@\.-]{3,50}$"
        "pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
        "intl_enabled" => true
        "languages" => array:9 [
          "supported" => array:2 [
            0 => "fr"
            1 => "de"
          ]
          "default_lang" => null
          "include_default_lang" => false
          "pages_fallback_only" => false
          "translations" => true
          "translations_fallback" => true
          "session_store_active" => false
          "http_accept_language" => false
          "override_locale" => false
        ]
        "home" => array:2 [
          "alias" => "/home"
          "hide_in_urls" => true
        ]
        "pages" => array:26 [
          "theme" => "optimhome"
          "order" => array:2 [
            "by" => "default"
            "dir" => "asc"
          ]
          "list" => array:1 [
            "count" => 20
          ]
          "dateformat" => array:3 [
            "default" => null
            "short" => "jS M Y"
            "long" => "F jS \a\t g:ia"
          ]
          "publish_dates" => true
          "process" => array:2 [
            "markdown" => false
            "twig" => true
          ]
          "twig_first" => false
          "never_cache_twig" => false
          "events" => array:2 [
            "page" => true
            "twig" => true
          ]
          "markdown" => array:5 [
            "extra" => false
            "auto_line_breaks" => false
            "auto_url_links" => false
            "escape_markup" => false
            "special_chars" => array:2 [
              ">" => "gt"
              "<" => "lt"
            ]
          ]
          "types" => array:7 [
            0 => "html"
            1 => "htm"
            2 => "xml"
            3 => "txt"
            4 => "json"
            5 => "rss"
            6 => "atom"
          ]
          "append_url_extension" => ""
          "expires" => 604800
          "cache_control" => null
          "last_modified" => false
          "etag" => false
          "vary_accept_encoding" => false
          "redirect_default_route" => false
          "redirect_default_code" => "301"
          "redirect_trailing_slash" => false
          "ignore_files" => array:1 [
            0 => ".DS_Store"
          ]
          "ignore_folders" => array:2 [
            0 => ".git"
            1 => ".idea"
          ]
          "ignore_hidden" => true
          "hide_empty_folders" => false
          "url_taxonomy_filters" => true
          "frontmatter" => array:2 [
            "process_twig" => true
            "ignore_fields" => array:2 [
              0 => "form"
              1 => "forms"
            ]
          ]
        ]
        "cache" => array:13 [
          "enabled" => true
          "check" => array:1 [
            "method" => "file"
          ]
          "driver" => "file"
          "prefix" => "g"
          "purge_at" => "0 4 * * *"
          "clear_at" => "0 3 * * *"
          "clear_job_type" => "standard"
          "clear_images_by_default" => true
          "cli_compatibility" => false
          "lifetime" => 3600
          "gzip" => false
          "allow_webserver_gzip" => false
          "redis" => array:1 [
            "socket" => false
          ]
        ]
        "twig" => array:7 [
          "cache" => true
          "debug" => true
          "auto_reload" => true
          "autoescape" => false
          "undefined_functions" => true
          "undefined_filters" => true
          "umask_fix" => false
        ]
        "assets" => array:12 [
          "css_pipeline" => false
          "css_pipeline_include_externals" => true
          "css_pipeline_before_excludes" => true
          "css_minify" => true
          "css_minify_windows" => false
          "css_rewrite" => true
          "js_pipeline" => false
          "js_pipeline_include_externals" => true
          "js_pipeline_before_excludes" => true
          "js_minify" => true
          "enable_asset_timestamp" => false
          "collections" => array:1 [
            "jquery" => "system://assets/jquery/jquery-2.x.min.js"
          ]
        ]
        "errors" => array:2 [
          "display" => true
          "log" => true
        ]
        "log" => array:2 [
          "handler" => "file"
          "syslog" => array:1 [
            "facility" => "local6"
          ]
        ]
        "debugger" => array:3 [
          "enabled" => false
          "shutdown" => array:1 [
            "close_connection" => true
          ]
          "twig" => true
        ]
        "images" => array:6 [
          "default_image_quality" => 85
          "cache_all" => false
          "cache_perms" => "0755"
          "debug" => false
          "auto_fix_orientation" => false
          "seofriendly" => false
        ]
        "media" => array:5 [
          "enable_media_timestamp" => false
          "unsupported_inline_types" => []
          "allowed_fallback_types" => []
          "auto_metadata_exif" => false
          "upload_limit" => 15728640
        ]
        "session" => array:9 [
          "enabled" => true
          "initialize" => true
          "timeout" => 1800
          "name" => "grav-site"
          "uniqueness" => "path"
          "secure" => false
          "httponly" => true
          "split" => true
          "path" => null
        ]
        "gpm" => array:5 [
          "releases" => "stable"
          "proxy_url" => null
          "method" => "auto"
          "verify_peer" => true
          "official_gpm_only" => true
        ]
        "accounts" => array:2 [
          "type" => "data"
          "storage" => "file"
        ]
        "strict_mode" => array:2 [
          "yaml_compat" => true
          "twig_compat" => true
        ]
        "gtm_stage_enabled" => false
        "matomo_prod_enabled" => true
        "seo-factory" => array:1 [
          "bu" => "OPTIMHOME"
        ]
      ]
      "theme" => array:2 [
        "streams" => array:1 [
          "schemes" => array:1 [
            "theme" => array:2 [
              "type" => "ReadOnlyStream"
              "prefixes" => array:1 [
                "" => array:2 [
                  0 => "user/themes/optimhome"
                  1 => "user/themes/digit-website"
                ]
              ]
            ]
          ]
        ]
        "marketing-operations" => array:3 [
          "saison-estimation-2019" => array:3 [
            "startDate" => "2019-03-20"
            "endDate" => "2019-04-30"
            "body_class" => "op_estim"
          ]
          "ope-neuf-2019" => array:3 [
            "startDate" => "2019-06-01"
            "endDate" => "2019-06-30"
            "body_class" => "op_neuf"
          ]
          "op-optimust-2019" => array:3 [
            "startDate" => "2019-09-11"
            "endDate" => "2019-11-01"
            "body_class" => "op_optimust"
          ]
        ]
      ]
      "site" => array:28 [
        "title" => "Optimhome Immobilier"
        "default_lang" => "fr"
        "author" => array:2 [
          "name" => "DigitRE"
          "email" => "[email protected]"
        ]
        "taxonomies" => array:2 [
          0 => "category"
          1 => "tag"
        ]
        "metadata" => array:2 [
          "generator" => ""
          "description" => ""
        ]
        "summary" => array:4 [
          "enabled" => true
          "format" => "short"
          "size" => 300
          "delimiter" => "==="
        ]
        "redirects" => array:40 [
          "/combien-pour-mon-bien$" => "/"
          "/annonces$" => "/annonces/achat"
          "/conseillers/market$" => "/maintenance"
          "/verlautbarungen$" => "/annonces/achat"
          "/adverts$" => "/annonces/achat"
          "/anuncios$" => "/annonces/achat"
          "/neuf$" => "/annonces/achat?affichage=grid-view&category[]=isNew"
          "/commerces$" => "/annonces/achat?affichage=grid-view&propertyTypes[]=BUSINESS_CAPITAL"
          "/ville_bien/(.*)_(.*)_(.*)__(.*)/(.*)" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/ville_bien/(.*)_/(.*).html" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/news/(.*)" => "/actualites"
          "/content/6/estimation-immobiliere-en-ligne-1.html" => "/estimer-mon-bien"
          "/content/5/mentions-legales.html?language=fr" => "/mentions-legales"
          "/agence/(.*)" => "/nos-conseillers"
          "/ville_bien/(.*)_(.*)_(.*)__Vente" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/catalog/estimation.php" => "/estimer-mon-bien"
          "/fiches/(.*)" => "/annonces/achat"
          "(.*)PRODUCT_LIST_(.*)" => "/annonces/achat"
          "(.*)_Vente/vente-(.*)" => "/annonces/achat"
          "/annonces/(.*)____Vente_/vente.html" => "/annonces/achat"
          "/type_bien/(.*)" => "/annonces/achat"
          "/annonces/_____(.*)/immobilier.html" => "/annonces/achat"
          "/annonces/(.*)_____2/.html" => "/annonces/achat"
          "/conseillers/(.*)-recrutement-immobilier" => "/nos-conseillers"
          "/annonces/exclusivites" => "/annonces/achat?affichage=grid-view&exclusif=true"
          "/de-(.*).html" => "/de"
          "/fr-(.*).html" => "/annonces/achat"
          "/es-(.*).html" => "/"
          "/nl-(.*).html" => "/"
          "/pt-(.*).html" => "/pt"
          "/ville_bien/(.*).html" => "/annonces/achat"
          "/catalog/news.php" => "/actualites"
          "/it-(.*).html" => "/en"
          "/en-(.*).html" => "/en"
          "(.*)/(region|bezirk)(?(?=\?)(.+)|)$" => "/[301]"
          "(.*)/(regions|regionen)(?(?=\?)(.+)|)$" => "/[301]"
          "/de/betreuer/steinseufzer-robert" => "/betreuer/robert-steinseufzer"
          "(.*)/estimer/appartement" => "/estimer-appartement"
          "(.*)/estimer/maison" => "/estimer-maison"
          "/conseillers/casseleux" => "/conseillers/aurelie.casseleux"
        ]
        "routes" => array:88 [
          "(.*)/(actualites|neuigkeit|news|noticias)(?(?=\?)(.+)|)$" => "/actualites"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/page:(\d+)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(commerces|shops|neuf)/nos-conseillers(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(new/agents)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche"
          "(.*)/(annonces|commerces)/(fiche|vente|achat|location|reprendre)/([\w-]+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location|reprendre)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(adverts|shops)/(sale|buy|rental|resume)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(verlautbarungen|geschafte|shops)/(verkauf|mieten|einkaufen|verlieh|zusammenfassung)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel|retomar)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(adverts|shops)/(sale|buy|rental)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(verlautbarungen|geschafte)/(verkauf|mieten|einkaufen|verlieh)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(annonces/villes|verlautbarungen/ortschaften|adverts/cities|anuncios/cidades)(?(?=\?)(.+)|)$" => "/annonces/villes"
          "(.*)/(commerces|shops|lojas)(?(?=\?)(.+)|)$" => "/commerces"
          "(.*)/(immobilier/avis-clients|immobilien/kundenrezensionen|real-estate/customer-reviews|imoveis/opinioes-clientes)(?(?=\?)(.+)|)$" => "/immobilier/avis-clients"
          "(.*)/(immobilien|imobiliaria)/(konzept|o-conceito)(?(?=\?)(.+)|)$" => "/immobilier/concept"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/international(?(?=\?)(.+)|)$" => "/immobilier/international"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(investir-dans-le-neuf|investieren-in-die-neue|invest-in-the-new)(?(?=\?)(.+)|)$" => "/immobilier/investir-dans-le-neuf"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(nos-valeurs|unsere-werte|our-values)(?(?=\?)(.+)|)$" => "/immobilier/nos-valeurs"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imoveis)/(pourquoi|warum|why|por-que)(?(?=\?)(.+)|)$" => "/immobilier/pourquoi-choisir-optimhome"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/(qui-sommes-nous|wer-sind-wir|who-we-are|quem-somos-nos)(?(?=\?)(.+)|)$" => "/immobilier/qui-sommes-nous"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/pass-vip(?(?=\?)(.+)|)$" => "/immobilier/pass-vip"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(primo-accession|erstbeitritt|first-accession)(?(?=\?)(.+)|)$" => "/immobilier/immobilier/primo-accession"
          "(.*)/(immobilier/visite-live-a-distance|immobilien/besichtigung-live-a-distance|real-estate/visit-live-a-distance)(?(?=\?)(.+)|)$" => "/immobilier/visite-live-a-distance"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(vivre-dans-le-neuf|leben-in-einer-neuen-umgebung|living-in-a-new-environment)(?(?=\?)(.+)|)$" => "/immobilier/vivre-dans-le-neuf"
          "(.*)/(mentions-legales|rechtliche-hinweise|legal-notices|mencao-legal)(?(?=\?)(.+)|)$" => "/mentions-legales"
          "(.*)/(mon-compte|mein-konto|my-account)(?(?=\?)(.+)|)$" => "/mon-compte"
          "(.*)/(mon-compte/home|mein-konto/home|my-account/home)(?(?=\?)(.+)|)$" => "/mon-compte/home"
          "(.*)/(mon-compte/espace-proprietaire|mein-konto/primar-raum|my-account/private-area)(?(?=\?)(.+)|)$" => "/mon-compte/espace-proprietaire"
          "(.*)/(mandat-optimust)(?(?=\?)(.+)|)$" => "/mandat-optimust"
          "(.*)/(neuf|neu|new|novo)(?(?=\?)(.+)|)$" => "/neuf"
          "(.*)/(nous-contacter|kontakt-uns|contact-us|contacte-nos)(?(?=\?)(.+)|)$" => "/nous-contacter"
          "(.*)/(politique-generale-confidentialite|allgemeine-politik-vertraulichkeit|general-policy-confidentiality|politica-geral-privacidade)(?(?=\?)(.+)|)$" => "/politique-generale-confidentialite"
          "(.*)/(rekrutierung)(?(?=\?)(.+)|)$" => "/recrutement"
          "(.*)/(vendre|verkaufen|sell|vender)(?(?=\?)(.+)|)$" => "/vendre"
          "(.*)/(annonces|commerces|neuf)/(vente|achat|louer|fonds)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(adverts|shops)/(sale|buy|rental|business)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(verlautbarungen|shops)/(mieten|einkaufen|verlieh|gewerbe)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(anuncios|comerciais|novo)/(venda|comprar|aluguer|fundos|aluguer)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(annonces|verlautbarungen)/(achat|einkaufen|mieten|louer)(/page:\d+)?(\?.*)?$" => "/annonces/transaction"
          "(.*)/region/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/bezirk/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/estimer-mon-bien(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/estimate-my-property(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft?(.*)" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung?(.*)" => "/estimer-mon-bien"
          "(.*)/apreciar-meu-propriedade(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/conseillers/estimation(?(?=/)(.+)|)$" => "/estimer"
          "(.*)/conseillers/estimation/etapes(?(?=/)(.+)|)$" => "/estimer/etapes"
          "(.*)/conseillers/estimation/etapes/.*/resultat/(.*)" => "/estimer/resultat-agent"
          "(.*)/conseillers/apporteur-affaires/suivi/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/suivi"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)/merci(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes/merci"
          "(.*)/conseillers/apporteur-affaires/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes"
          "(.*)/estimer-appartement$" => "/estimer"
          "(.*)/estimer-maison$" => "/estimer"
          "(.*)/estimer-appartement?(.*)$" => "/estimer"
          "(.*)/estimer-maison?(.*)$" => "/estimer"
          "(.*)/estimer-appartement/etapes$" => "/estimer/etapes"
          "(.*)/estimer-maison/etapes$" => "/estimer/etapes"
          "(.*)/estimer-appartement/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-maison/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/combien-pour-mon-bien/resultat/(.*)" => "/combien-pour-mon-bien/resultat"
          "(.*)/combien-pour-mon-bien-estimation/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-mon-bien/resultat/(.*)" => "/estimer-mon-bien/resultat"
          "/estimate" => "/estimer-mon-bien"
          "/estimate/result" => "/estimer-mon-bien/resultat"
          "(.*)/vendre(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/sell(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/verkaufen(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/vender(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/(favoris|favorites|favoriten|os-meus-favoritos)(?(?=\?)(.+)|)$" => "/favoris"
          "(.*)/(commerces/vendre|shops/sell|shops/verkaufen|vender/lojas)(?(?=/)(.+)|)$" => "/vendre-commerces"
          "(.*)/nos-conseillers/fiche/vendre/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/vendre"
          "(.*)/nos-conseillers/fiche/estimation-rdv/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv"
          "(.*)/nos-conseillers/fiche/estimation-rdv/merci(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv/merci"
          "/annonces/villes(?(?=\?)(.+)|)$" => "/annonces/villes"
          "/annonces/villes/[a-z](?(?=\?)(.+)|)$" => "/annonces/villes-lettre"
          "/annonces/achat/\w+(?(?=\?)(.+)|)$" => "/seo/city"
          "/annonces/achat/\w+/\w+(?(?=\?)(.+)|)$" => "/seo/city-type"
          "/([\w*-._]*)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche"
        ]
        "blog" => array:1 [
          "route" => "/blog"
        ]
        "env" => "prod"
        "exclude_cafpi_agent" => array:1 [
          0 => "2018"
        ]
        "emails" => array:1 [
          "regex" => "/([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)/"
        ]
        "activityStatus" => "SELLER"
        "partnerId" => "optimhome"
        "domain" => "optimhome"
        "show_login_form" => true
        "mapping_url_subdomain" => array:28 [
          "alsace" => "annonces/achat?adresse=Grand%20Est"
          "auvergne" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "bourgogne" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "bretagne" => "annonces/achat?adresse=Bretagne"
          "centre" => "annonces/achat?adresse=Centre-Val%20de%20Loire"
          "champagne-ardenne" => "annonces/achat?adresse=Grand%20Est"
          "corse" => "annonces/achat?adresse=Corse"
          "franche-comte" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "guadeloupe" => "annonces/achat?affichage=grid-view&adresse=Guadeloupe"
          "guyane" => "annonces/achat?affichage=grid-view&adresse=Guyane%20française"
          "ile-de-france" => "annonces/achat?adresse=Île-de-France"
          "languedoc-roussillon" => "annonces/achat?adresse=Occitanie"
          "limousin" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "lorraine" => "annonces/achat?adresse=Grand%20Est"
          "martinique" => "annonces/achat?affichage=grid-view&adresse=Martinique"
          "midi-pyrenees" => "annonces/achat?adresse=Occitanie"
          "nord-pas-de-calais" => "annonces/achat?adresse=Hauts-de-France"
          "basse-normandie" => "annonces/achat?adresse=Normandie"
          "haute-normandie" => "annonces/achat?adresse=Normandie"
          "pays-de-la-loire" => "annonces/achat?adresse=Pays%20de%20la%20Loire"
          "picardie" => "annonces/achat?adresse=Hauts-de-France"
          "poitou-charentes" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "paca" => "annonces/achat?adresse=PACA"
          "reunion" => "annonces/achat?adresse=La%20Réunion"
          "rhone-alpes" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "exclusif" => "annonces/achat?exclusif=true"
          "medoc" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "commerce" => "commerces"
        ]
        "background-regions" => array:18 [
          "Hauts-de-France, France" => "bgmoteur_annonces-hautsdefrance.jpg"
          "Normandie, France" => "bgmoteur_annonces-normandie.jpg"
          "Île-de-France, France" => "bgmoteur_annonces-iledefrance.jpg"
          "Bretagne, France" => "bgmoteur_annonces-bretagne.jpg"
          "Auvergne-Rhône-Alpes, France" => "bgmoteur_annonces-auvergnerhonealpes.jpg"
          "Bourgogne Franche-Comté, France" => "bgmoteur_annonces-bourgognefranchecompte.jpg"
          "Centre-Val de Loire, France" => "bgmoteur_annonces-centrevaldeloire.jpg"
          "Pays de la Loire, France" => "bgmoteur_annonces-valdeloire.jpg"
          "Nouvelle-Aquitaine, France" => "bgmoteur_annonces-nouvelleaquitaine.jpg"
          "Occitanie, France" => "bgmoteur_annonces-occitanie.jpg"
          "PACA, France" => "bgmoteur_annonces-paca.jpg"
          "Corse, France" => "bgmoteur_annonces-corse.jpg"
          "Grand Est, France" => "bgmoteur_annonces-grandest.jpg"
          "Guadeloupe" => "bgmoteur_annonces-guadeloupe.jpg"
          "Arrondissement de Cayenne, France" => "bgmoteur_annonces-guyane.jpg"
          "La Réunion" => "bgmoteur_annonces-lareunion.jpg"
          "Martinique" => "bgmoteur_annonces-martinique.jpg"
          "Mayotte" => "bgmoteur_annonces-mayotte.jpg"
        ]
        "site_de" => "https://www.optimhome.com/de"
        "site_pt" => "https://www.optimhome.com/pt"
        "site_en" => "https://www.optimhome.com/en"
        "site_fr" => "https://www.optimhome.com"
        "property_pdf" => array:1 [
          "file_name" => "Fiche_bien_"
        ]
        "reference_length" => array:2 [
          "fr" => 12
          "pt" => 4
        ]
        "geolocation" => array:1 [
          "city" => "Paris"
        ]
        "acxtest" => "TEST"
        "intranet-url" => "https://intranet.digitregroup.io"
        "graphql" => array:2 [
          "endpoint" => "https://intranet.digitregroup.io/graphql/"
          "token" => "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjowLCJlbWFpbCI6ImFkbWluQGRpZ2l0cmVncm91cC5jb20iLCJyb2xlIjpbIkFETUlOIl0sInJ1bGVzIjpbeyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJzdWJqZWN0IjoiYW55In1dfSwiaWF0IjoxNTUyNTgwNDI4fQ.SQdTRJQEUlvHMTn6_3pNwYDCM3aj2Taw-_bNjK3NBhM"
        ]
      ]
      "uri" => Uri {#138}
      "assets" => Assets {#251}
      "taxonomy" => Taxonomy {#423}
      "browser" => Browser {#458}
      "base_dir" => "/var/app/current"
      "home_url" => "/"
      "base_url" => ""
      "base_url_absolute" => "https://www.optimhome.com"
      "base_url_relative" => ""
      "base_url_simple" => ""
      "theme_dir" => "/var/app/current/user/themes/optimhome"
      "theme_url" => "/user/themes/optimhome"
      "html_lang" => "fr"
      "language_codes" => LanguageCodes {#459}
      "breadcrumbs" => Breadcrumbs {#196}
      "form" => null
      "form_max_filesize" => 15
      "form_json_response" => []
      "page" => Page {#519}
      "media" => Media {#1159}
      "header" => {#520}
    ]
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Twig
/
Twig.php
        $twig_vars['header'] = $item->header();
 
        $local_twig = clone $this->twig;
 
        $output = '';
        try {
            // Process Modular Twig
            if ($item->modularTwig()) {
                $twig_vars['content'] = $content;
                $extension = $item->templateFormat();
                $extension = $extension ? ".{$extension}.twig" : TEMPLATE_EXT;
                $template = $item->template() . $extension;
                $output = $content = $local_twig->render($template, $twig_vars);
            }
 
            // Process in-page Twig
            if ($item->shouldProcess('twig')) {
                $name = '@Page:' . $item->path();
                $this->setTemplate($name, $content);
                $output = $local_twig->render($name, $twig_vars);
            }
 
        } catch (\Twig_Error_Loader $e) {
            throw new \RuntimeException($e->getRawMessage(), 404, $e);
        }
 
        return $output;
    }
 
    /**
     * Process a Twig template directly by using a template name
     * and optional array of variables
     *
     * @param string $template template to render with
     * @param array  $vars     Optional variables
     *
     * @return string
     */
    public function processTemplate($template, $vars = [])
    {
Arguments
  1. "@Page:/var/app/current/user/pages/14.actualites"
    
  2. array:25 [
      "config" => Config {#96}
      "system" => array:30 [
        "absolute_urls" => false
        "timezone" => ""
        "default_locale" => null
        "param_sep" => ":"
        "wrapped_site" => false
        "reverse_proxy_setup" => false
        "force_ssl" => false
        "force_lowercase_urls" => true
        "custom_base_url" => ""
        "username_regex" => "^[a-z0-9_@\.-]{3,50}$"
        "pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
        "intl_enabled" => true
        "languages" => array:9 [
          "supported" => array:2 [
            0 => "fr"
            1 => "de"
          ]
          "default_lang" => null
          "include_default_lang" => false
          "pages_fallback_only" => false
          "translations" => true
          "translations_fallback" => true
          "session_store_active" => false
          "http_accept_language" => false
          "override_locale" => false
        ]
        "home" => array:2 [
          "alias" => "/home"
          "hide_in_urls" => true
        ]
        "pages" => array:26 [
          "theme" => "optimhome"
          "order" => array:2 [
            "by" => "default"
            "dir" => "asc"
          ]
          "list" => array:1 [
            "count" => 20
          ]
          "dateformat" => array:3 [
            "default" => null
            "short" => "jS M Y"
            "long" => "F jS \a\t g:ia"
          ]
          "publish_dates" => true
          "process" => array:2 [
            "markdown" => false
            "twig" => true
          ]
          "twig_first" => false
          "never_cache_twig" => false
          "events" => array:2 [
            "page" => true
            "twig" => true
          ]
          "markdown" => array:5 [
            "extra" => false
            "auto_line_breaks" => false
            "auto_url_links" => false
            "escape_markup" => false
            "special_chars" => array:2 [
              ">" => "gt"
              "<" => "lt"
            ]
          ]
          "types" => array:7 [
            0 => "html"
            1 => "htm"
            2 => "xml"
            3 => "txt"
            4 => "json"
            5 => "rss"
            6 => "atom"
          ]
          "append_url_extension" => ""
          "expires" => 604800
          "cache_control" => null
          "last_modified" => false
          "etag" => false
          "vary_accept_encoding" => false
          "redirect_default_route" => false
          "redirect_default_code" => "301"
          "redirect_trailing_slash" => false
          "ignore_files" => array:1 [
            0 => ".DS_Store"
          ]
          "ignore_folders" => array:2 [
            0 => ".git"
            1 => ".idea"
          ]
          "ignore_hidden" => true
          "hide_empty_folders" => false
          "url_taxonomy_filters" => true
          "frontmatter" => array:2 [
            "process_twig" => true
            "ignore_fields" => array:2 [
              0 => "form"
              1 => "forms"
            ]
          ]
        ]
        "cache" => array:13 [
          "enabled" => true
          "check" => array:1 [
            "method" => "file"
          ]
          "driver" => "file"
          "prefix" => "g"
          "purge_at" => "0 4 * * *"
          "clear_at" => "0 3 * * *"
          "clear_job_type" => "standard"
          "clear_images_by_default" => true
          "cli_compatibility" => false
          "lifetime" => 3600
          "gzip" => false
          "allow_webserver_gzip" => false
          "redis" => array:1 [
            "socket" => false
          ]
        ]
        "twig" => array:7 [
          "cache" => true
          "debug" => true
          "auto_reload" => true
          "autoescape" => false
          "undefined_functions" => true
          "undefined_filters" => true
          "umask_fix" => false
        ]
        "assets" => array:12 [
          "css_pipeline" => false
          "css_pipeline_include_externals" => true
          "css_pipeline_before_excludes" => true
          "css_minify" => true
          "css_minify_windows" => false
          "css_rewrite" => true
          "js_pipeline" => false
          "js_pipeline_include_externals" => true
          "js_pipeline_before_excludes" => true
          "js_minify" => true
          "enable_asset_timestamp" => false
          "collections" => array:1 [
            "jquery" => "system://assets/jquery/jquery-2.x.min.js"
          ]
        ]
        "errors" => array:2 [
          "display" => true
          "log" => true
        ]
        "log" => array:2 [
          "handler" => "file"
          "syslog" => array:1 [
            "facility" => "local6"
          ]
        ]
        "debugger" => array:3 [
          "enabled" => false
          "shutdown" => array:1 [
            "close_connection" => true
          ]
          "twig" => true
        ]
        "images" => array:6 [
          "default_image_quality" => 85
          "cache_all" => false
          "cache_perms" => "0755"
          "debug" => false
          "auto_fix_orientation" => false
          "seofriendly" => false
        ]
        "media" => array:5 [
          "enable_media_timestamp" => false
          "unsupported_inline_types" => []
          "allowed_fallback_types" => []
          "auto_metadata_exif" => false
          "upload_limit" => 15728640
        ]
        "session" => array:9 [
          "enabled" => true
          "initialize" => true
          "timeout" => 1800
          "name" => "grav-site"
          "uniqueness" => "path"
          "secure" => false
          "httponly" => true
          "split" => true
          "path" => null
        ]
        "gpm" => array:5 [
          "releases" => "stable"
          "proxy_url" => null
          "method" => "auto"
          "verify_peer" => true
          "official_gpm_only" => true
        ]
        "accounts" => array:2 [
          "type" => "data"
          "storage" => "file"
        ]
        "strict_mode" => array:2 [
          "yaml_compat" => true
          "twig_compat" => true
        ]
        "gtm_stage_enabled" => false
        "matomo_prod_enabled" => true
        "seo-factory" => array:1 [
          "bu" => "OPTIMHOME"
        ]
      ]
      "theme" => array:2 [
        "streams" => array:1 [
          "schemes" => array:1 [
            "theme" => array:2 [
              "type" => "ReadOnlyStream"
              "prefixes" => array:1 [
                "" => array:2 [
                  0 => "user/themes/optimhome"
                  1 => "user/themes/digit-website"
                ]
              ]
            ]
          ]
        ]
        "marketing-operations" => array:3 [
          "saison-estimation-2019" => array:3 [
            "startDate" => "2019-03-20"
            "endDate" => "2019-04-30"
            "body_class" => "op_estim"
          ]
          "ope-neuf-2019" => array:3 [
            "startDate" => "2019-06-01"
            "endDate" => "2019-06-30"
            "body_class" => "op_neuf"
          ]
          "op-optimust-2019" => array:3 [
            "startDate" => "2019-09-11"
            "endDate" => "2019-11-01"
            "body_class" => "op_optimust"
          ]
        ]
      ]
      "site" => array:28 [
        "title" => "Optimhome Immobilier"
        "default_lang" => "fr"
        "author" => array:2 [
          "name" => "DigitRE"
          "email" => "[email protected]"
        ]
        "taxonomies" => array:2 [
          0 => "category"
          1 => "tag"
        ]
        "metadata" => array:2 [
          "generator" => ""
          "description" => ""
        ]
        "summary" => array:4 [
          "enabled" => true
          "format" => "short"
          "size" => 300
          "delimiter" => "==="
        ]
        "redirects" => array:40 [
          "/combien-pour-mon-bien$" => "/"
          "/annonces$" => "/annonces/achat"
          "/conseillers/market$" => "/maintenance"
          "/verlautbarungen$" => "/annonces/achat"
          "/adverts$" => "/annonces/achat"
          "/anuncios$" => "/annonces/achat"
          "/neuf$" => "/annonces/achat?affichage=grid-view&category[]=isNew"
          "/commerces$" => "/annonces/achat?affichage=grid-view&propertyTypes[]=BUSINESS_CAPITAL"
          "/ville_bien/(.*)_(.*)_(.*)__(.*)/(.*)" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/ville_bien/(.*)_/(.*).html" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/news/(.*)" => "/actualites"
          "/content/6/estimation-immobiliere-en-ligne-1.html" => "/estimer-mon-bien"
          "/content/5/mentions-legales.html?language=fr" => "/mentions-legales"
          "/agence/(.*)" => "/nos-conseillers"
          "/ville_bien/(.*)_(.*)_(.*)__Vente" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/catalog/estimation.php" => "/estimer-mon-bien"
          "/fiches/(.*)" => "/annonces/achat"
          "(.*)PRODUCT_LIST_(.*)" => "/annonces/achat"
          "(.*)_Vente/vente-(.*)" => "/annonces/achat"
          "/annonces/(.*)____Vente_/vente.html" => "/annonces/achat"
          "/type_bien/(.*)" => "/annonces/achat"
          "/annonces/_____(.*)/immobilier.html" => "/annonces/achat"
          "/annonces/(.*)_____2/.html" => "/annonces/achat"
          "/conseillers/(.*)-recrutement-immobilier" => "/nos-conseillers"
          "/annonces/exclusivites" => "/annonces/achat?affichage=grid-view&exclusif=true"
          "/de-(.*).html" => "/de"
          "/fr-(.*).html" => "/annonces/achat"
          "/es-(.*).html" => "/"
          "/nl-(.*).html" => "/"
          "/pt-(.*).html" => "/pt"
          "/ville_bien/(.*).html" => "/annonces/achat"
          "/catalog/news.php" => "/actualites"
          "/it-(.*).html" => "/en"
          "/en-(.*).html" => "/en"
          "(.*)/(region|bezirk)(?(?=\?)(.+)|)$" => "/[301]"
          "(.*)/(regions|regionen)(?(?=\?)(.+)|)$" => "/[301]"
          "/de/betreuer/steinseufzer-robert" => "/betreuer/robert-steinseufzer"
          "(.*)/estimer/appartement" => "/estimer-appartement"
          "(.*)/estimer/maison" => "/estimer-maison"
          "/conseillers/casseleux" => "/conseillers/aurelie.casseleux"
        ]
        "routes" => array:88 [
          "(.*)/(actualites|neuigkeit|news|noticias)(?(?=\?)(.+)|)$" => "/actualites"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/page:(\d+)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(commerces|shops|neuf)/nos-conseillers(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(new/agents)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche"
          "(.*)/(annonces|commerces)/(fiche|vente|achat|location|reprendre)/([\w-]+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location|reprendre)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(adverts|shops)/(sale|buy|rental|resume)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(verlautbarungen|geschafte|shops)/(verkauf|mieten|einkaufen|verlieh|zusammenfassung)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel|retomar)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(adverts|shops)/(sale|buy|rental)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(verlautbarungen|geschafte)/(verkauf|mieten|einkaufen|verlieh)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(annonces/villes|verlautbarungen/ortschaften|adverts/cities|anuncios/cidades)(?(?=\?)(.+)|)$" => "/annonces/villes"
          "(.*)/(commerces|shops|lojas)(?(?=\?)(.+)|)$" => "/commerces"
          "(.*)/(immobilier/avis-clients|immobilien/kundenrezensionen|real-estate/customer-reviews|imoveis/opinioes-clientes)(?(?=\?)(.+)|)$" => "/immobilier/avis-clients"
          "(.*)/(immobilien|imobiliaria)/(konzept|o-conceito)(?(?=\?)(.+)|)$" => "/immobilier/concept"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/international(?(?=\?)(.+)|)$" => "/immobilier/international"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(investir-dans-le-neuf|investieren-in-die-neue|invest-in-the-new)(?(?=\?)(.+)|)$" => "/immobilier/investir-dans-le-neuf"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(nos-valeurs|unsere-werte|our-values)(?(?=\?)(.+)|)$" => "/immobilier/nos-valeurs"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imoveis)/(pourquoi|warum|why|por-que)(?(?=\?)(.+)|)$" => "/immobilier/pourquoi-choisir-optimhome"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/(qui-sommes-nous|wer-sind-wir|who-we-are|quem-somos-nos)(?(?=\?)(.+)|)$" => "/immobilier/qui-sommes-nous"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/pass-vip(?(?=\?)(.+)|)$" => "/immobilier/pass-vip"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(primo-accession|erstbeitritt|first-accession)(?(?=\?)(.+)|)$" => "/immobilier/immobilier/primo-accession"
          "(.*)/(immobilier/visite-live-a-distance|immobilien/besichtigung-live-a-distance|real-estate/visit-live-a-distance)(?(?=\?)(.+)|)$" => "/immobilier/visite-live-a-distance"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(vivre-dans-le-neuf|leben-in-einer-neuen-umgebung|living-in-a-new-environment)(?(?=\?)(.+)|)$" => "/immobilier/vivre-dans-le-neuf"
          "(.*)/(mentions-legales|rechtliche-hinweise|legal-notices|mencao-legal)(?(?=\?)(.+)|)$" => "/mentions-legales"
          "(.*)/(mon-compte|mein-konto|my-account)(?(?=\?)(.+)|)$" => "/mon-compte"
          "(.*)/(mon-compte/home|mein-konto/home|my-account/home)(?(?=\?)(.+)|)$" => "/mon-compte/home"
          "(.*)/(mon-compte/espace-proprietaire|mein-konto/primar-raum|my-account/private-area)(?(?=\?)(.+)|)$" => "/mon-compte/espace-proprietaire"
          "(.*)/(mandat-optimust)(?(?=\?)(.+)|)$" => "/mandat-optimust"
          "(.*)/(neuf|neu|new|novo)(?(?=\?)(.+)|)$" => "/neuf"
          "(.*)/(nous-contacter|kontakt-uns|contact-us|contacte-nos)(?(?=\?)(.+)|)$" => "/nous-contacter"
          "(.*)/(politique-generale-confidentialite|allgemeine-politik-vertraulichkeit|general-policy-confidentiality|politica-geral-privacidade)(?(?=\?)(.+)|)$" => "/politique-generale-confidentialite"
          "(.*)/(rekrutierung)(?(?=\?)(.+)|)$" => "/recrutement"
          "(.*)/(vendre|verkaufen|sell|vender)(?(?=\?)(.+)|)$" => "/vendre"
          "(.*)/(annonces|commerces|neuf)/(vente|achat|louer|fonds)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(adverts|shops)/(sale|buy|rental|business)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(verlautbarungen|shops)/(mieten|einkaufen|verlieh|gewerbe)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(anuncios|comerciais|novo)/(venda|comprar|aluguer|fundos|aluguer)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(annonces|verlautbarungen)/(achat|einkaufen|mieten|louer)(/page:\d+)?(\?.*)?$" => "/annonces/transaction"
          "(.*)/region/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/bezirk/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/estimer-mon-bien(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/estimate-my-property(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft?(.*)" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung?(.*)" => "/estimer-mon-bien"
          "(.*)/apreciar-meu-propriedade(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/conseillers/estimation(?(?=/)(.+)|)$" => "/estimer"
          "(.*)/conseillers/estimation/etapes(?(?=/)(.+)|)$" => "/estimer/etapes"
          "(.*)/conseillers/estimation/etapes/.*/resultat/(.*)" => "/estimer/resultat-agent"
          "(.*)/conseillers/apporteur-affaires/suivi/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/suivi"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)/merci(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes/merci"
          "(.*)/conseillers/apporteur-affaires/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes"
          "(.*)/estimer-appartement$" => "/estimer"
          "(.*)/estimer-maison$" => "/estimer"
          "(.*)/estimer-appartement?(.*)$" => "/estimer"
          "(.*)/estimer-maison?(.*)$" => "/estimer"
          "(.*)/estimer-appartement/etapes$" => "/estimer/etapes"
          "(.*)/estimer-maison/etapes$" => "/estimer/etapes"
          "(.*)/estimer-appartement/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-maison/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/combien-pour-mon-bien/resultat/(.*)" => "/combien-pour-mon-bien/resultat"
          "(.*)/combien-pour-mon-bien-estimation/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-mon-bien/resultat/(.*)" => "/estimer-mon-bien/resultat"
          "/estimate" => "/estimer-mon-bien"
          "/estimate/result" => "/estimer-mon-bien/resultat"
          "(.*)/vendre(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/sell(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/verkaufen(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/vender(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/(favoris|favorites|favoriten|os-meus-favoritos)(?(?=\?)(.+)|)$" => "/favoris"
          "(.*)/(commerces/vendre|shops/sell|shops/verkaufen|vender/lojas)(?(?=/)(.+)|)$" => "/vendre-commerces"
          "(.*)/nos-conseillers/fiche/vendre/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/vendre"
          "(.*)/nos-conseillers/fiche/estimation-rdv/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv"
          "(.*)/nos-conseillers/fiche/estimation-rdv/merci(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv/merci"
          "/annonces/villes(?(?=\?)(.+)|)$" => "/annonces/villes"
          "/annonces/villes/[a-z](?(?=\?)(.+)|)$" => "/annonces/villes-lettre"
          "/annonces/achat/\w+(?(?=\?)(.+)|)$" => "/seo/city"
          "/annonces/achat/\w+/\w+(?(?=\?)(.+)|)$" => "/seo/city-type"
          "/([\w*-._]*)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche"
        ]
        "blog" => array:1 [
          "route" => "/blog"
        ]
        "env" => "prod"
        "exclude_cafpi_agent" => array:1 [
          0 => "2018"
        ]
        "emails" => array:1 [
          "regex" => "/([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)/"
        ]
        "activityStatus" => "SELLER"
        "partnerId" => "optimhome"
        "domain" => "optimhome"
        "show_login_form" => true
        "mapping_url_subdomain" => array:28 [
          "alsace" => "annonces/achat?adresse=Grand%20Est"
          "auvergne" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "bourgogne" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "bretagne" => "annonces/achat?adresse=Bretagne"
          "centre" => "annonces/achat?adresse=Centre-Val%20de%20Loire"
          "champagne-ardenne" => "annonces/achat?adresse=Grand%20Est"
          "corse" => "annonces/achat?adresse=Corse"
          "franche-comte" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "guadeloupe" => "annonces/achat?affichage=grid-view&adresse=Guadeloupe"
          "guyane" => "annonces/achat?affichage=grid-view&adresse=Guyane%20française"
          "ile-de-france" => "annonces/achat?adresse=Île-de-France"
          "languedoc-roussillon" => "annonces/achat?adresse=Occitanie"
          "limousin" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "lorraine" => "annonces/achat?adresse=Grand%20Est"
          "martinique" => "annonces/achat?affichage=grid-view&adresse=Martinique"
          "midi-pyrenees" => "annonces/achat?adresse=Occitanie"
          "nord-pas-de-calais" => "annonces/achat?adresse=Hauts-de-France"
          "basse-normandie" => "annonces/achat?adresse=Normandie"
          "haute-normandie" => "annonces/achat?adresse=Normandie"
          "pays-de-la-loire" => "annonces/achat?adresse=Pays%20de%20la%20Loire"
          "picardie" => "annonces/achat?adresse=Hauts-de-France"
          "poitou-charentes" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "paca" => "annonces/achat?adresse=PACA"
          "reunion" => "annonces/achat?adresse=La%20Réunion"
          "rhone-alpes" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "exclusif" => "annonces/achat?exclusif=true"
          "medoc" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "commerce" => "commerces"
        ]
        "background-regions" => array:18 [
          "Hauts-de-France, France" => "bgmoteur_annonces-hautsdefrance.jpg"
          "Normandie, France" => "bgmoteur_annonces-normandie.jpg"
          "Île-de-France, France" => "bgmoteur_annonces-iledefrance.jpg"
          "Bretagne, France" => "bgmoteur_annonces-bretagne.jpg"
          "Auvergne-Rhône-Alpes, France" => "bgmoteur_annonces-auvergnerhonealpes.jpg"
          "Bourgogne Franche-Comté, France" => "bgmoteur_annonces-bourgognefranchecompte.jpg"
          "Centre-Val de Loire, France" => "bgmoteur_annonces-centrevaldeloire.jpg"
          "Pays de la Loire, France" => "bgmoteur_annonces-valdeloire.jpg"
          "Nouvelle-Aquitaine, France" => "bgmoteur_annonces-nouvelleaquitaine.jpg"
          "Occitanie, France" => "bgmoteur_annonces-occitanie.jpg"
          "PACA, France" => "bgmoteur_annonces-paca.jpg"
          "Corse, France" => "bgmoteur_annonces-corse.jpg"
          "Grand Est, France" => "bgmoteur_annonces-grandest.jpg"
          "Guadeloupe" => "bgmoteur_annonces-guadeloupe.jpg"
          "Arrondissement de Cayenne, France" => "bgmoteur_annonces-guyane.jpg"
          "La Réunion" => "bgmoteur_annonces-lareunion.jpg"
          "Martinique" => "bgmoteur_annonces-martinique.jpg"
          "Mayotte" => "bgmoteur_annonces-mayotte.jpg"
        ]
        "site_de" => "https://www.optimhome.com/de"
        "site_pt" => "https://www.optimhome.com/pt"
        "site_en" => "https://www.optimhome.com/en"
        "site_fr" => "https://www.optimhome.com"
        "property_pdf" => array:1 [
          "file_name" => "Fiche_bien_"
        ]
        "reference_length" => array:2 [
          "fr" => 12
          "pt" => 4
        ]
        "geolocation" => array:1 [
          "city" => "Paris"
        ]
        "acxtest" => "TEST"
        "intranet-url" => "https://intranet.digitregroup.io"
        "graphql" => array:2 [
          "endpoint" => "https://intranet.digitregroup.io/graphql/"
          "token" => "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjowLCJlbWFpbCI6ImFkbWluQGRpZ2l0cmVncm91cC5jb20iLCJyb2xlIjpbIkFETUlOIl0sInJ1bGVzIjpbeyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJzdWJqZWN0IjoiYW55In1dfSwiaWF0IjoxNTUyNTgwNDI4fQ.SQdTRJQEUlvHMTn6_3pNwYDCM3aj2Taw-_bNjK3NBhM"
        ]
      ]
      "uri" => Uri {#138}
      "assets" => Assets {#251}
      "taxonomy" => Taxonomy {#423}
      "browser" => Browser {#458}
      "base_dir" => "/var/app/current"
      "home_url" => "/"
      "base_url" => ""
      "base_url_absolute" => "https://www.optimhome.com"
      "base_url_relative" => ""
      "base_url_simple" => ""
      "theme_dir" => "/var/app/current/user/themes/optimhome"
      "theme_url" => "/user/themes/optimhome"
      "html_lang" => "fr"
      "language_codes" => LanguageCodes {#459}
      "breadcrumbs" => Breadcrumbs {#196}
      "form" => null
      "form_max_filesize" => 15
      "form_json_response" => []
      "page" => Page {#519}
      "media" => Media {#1159}
      "header" => {#520}
    ]
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Page
/
Page.php
        }
 
        // Initialize the preferred variant of Parsedown
        if ($defaults['extra']) {
            $parsedown = new ParsedownExtra($this, $defaults);
        } else {
            $parsedown = new Parsedown($this, $defaults);
        }
 
        $this->content = $parsedown->text($this->content);
    }
 
 
    /**
     * Process the Twig page content.
     */
    private function processTwig()
    {
        $twig = Grav::instance()['twig'];
        $this->content = $twig->processPage($this, $this->content);
    }
 
    /**
     * Fires the onPageContentProcessed event, and caches the page content using a unique ID for the page
     */
    public function cachePageContent()
    {
        $cache = Grav::instance()['cache'];
        $cache_id = md5('page' . $this->id());
        $cache->save($cache_id, ['content' => $this->content, 'content_meta' => $this->content_meta]);
    }
 
    /**
     * Needed by the onPageContentProcessed event to get the raw page content
     *
     * @return string   the current page content
     */
    public function getRawContent()
    {
        return $this->content;
Arguments
  1. Page {#519}
    
  2. """
    <section>\n
        <div class="container">\n
            {% set collection = page.find( '/actualites' ).children.order('date', 'desc').published() %}\n
            {% do paginate( collection, header.content.limit ) %}\n
            <div class="row">\n
            {% for p in collection %}\n
                <div class="card_news col-12 col-md-4 mb-3">\n
                    {% include 'inc/news-item.html.twig' with {\n
                        'title': p.title,\n
                        'date': p.date|date('d/m/Y'),\n
                        'img': p.media.images|first.url,\n
                        'url': p.url,\n
                        'category': p.taxonomy.category|first,\n
                        'content' : p.content|striptags|truncate(100)\n
                        }\n
                    %}\n
                </div>\n
            {% endfor %}\n
            </div>\n
            <div class="row justify-content-center">\n
            {% if config.plugins.pagination.enabled and collection.params.pagination %}\n
                {% include 'partials/pagination.html.twig' with {'base_url': page.url, 'pagination': collection.params.pagination} %}\n
            {% endif %}\n
            </div>\n
        </div>\n
    </section>
    """
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Page
/
Page.php
                        if ($process_twig) {
                            $this->processTwig();
                        }
                        if ($process_markdown) {
                            $this->processMarkdown();
                        }
 
                        // Content Processed but not cached yet
                        Grav::instance()->fireEvent('onPageContentProcessed', new Event(['page' => $this]));
 
                    } else {
                        if ($process_markdown) {
                            $this->processMarkdown();
                        }
 
                        // Content Processed but not cached yet
                        Grav::instance()->fireEvent('onPageContentProcessed', new Event(['page' => $this]));
 
                        if ($process_twig) {
                            $this->processTwig();
                        }
                    }
 
                    if ($cache_enable) {
                        $this->cachePageContent();
                    }
                }
            }
 
            // Handle summary divider
            $delimiter = $config->get('site.summary.delimiter', '===');
            $divider_pos = mb_strpos($this->content, "<p>{$delimiter}</p>");
            if ($divider_pos !== false) {
                $this->summary_size = $divider_pos;
                $this->content = str_replace("<p>{$delimiter}</p>", '', $this->content);
            }
 
            // Fire event when Page::content() is called
            Grav::instance()->fireEvent('onPageContent', new Event(['page' => $this]));
        }
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Twig
/
Twig.php
 
        return $output;
    }
 
    /**
     * Twig process that renders the site layout. This is the main twig process that renders the overall
     * page and handles all the layout for the site display.
     *
     * @param string $format Output format (defaults to HTML).
     *
     * @return string the rendered output
     * @throws \RuntimeException
     */
    public function processSite($format = null, array $vars = [])
    {
        // set the page now its been processed
        $this->grav->fireEvent('onTwigSiteVariables');
        $pages = $this->grav['pages'];
        $page = $this->grav['page'];
        $content = $page->content();
 
        $twig_vars = $this->twig_vars;
 
        $twig_vars['theme'] = $this->grav['config']->get('theme');
        $twig_vars['pages'] = $pages->root();
        $twig_vars['page'] = $page;
        $twig_vars['header'] = $page->header();
        $twig_vars['media'] = $page->media();
        $twig_vars['content'] = $content;
        $ext = '.' . ($format ?: 'html') . TWIG_EXT;
 
        // determine if params are set, if so disable twig cache
        $params = $this->grav['uri']->params(null, true);
        if (!empty($params)) {
            $this->twig->setCache(false);
        }
 
        // Get Twig template layout
        $template = $this->template($page->template() . $ext);
 
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Service
/
OutputServiceProvider.php
 
namespace Grav\Common\Service;
 
use Grav\Common\Page\Interfaces\PageInterface;
use Grav\Common\Twig\Twig;
use Pimple\Container;
use Pimple\ServiceProviderInterface;
 
class OutputServiceProvider implements ServiceProviderInterface
{
    public function register(Container $container)
    {
        $container['output'] = function ($c) {
            /** @var Twig $twig */
            $twig = $c['twig'];
 
            /** @var PageInterface $page */
            $page = $c['page'];
 
            return $twig->processSite($page->templateFormat());
        };
    }
}
 
Arguments
  1. "html"
    
/
var
/
app
/
current
/
vendor
/
pimple
/
pimple
/
src
/
Pimple
/
Container.php
    {
        if (!isset($this->keys[$id])) {
            throw new UnknownIdentifierException($id);
        }
 
        if (
            isset($this->raw[$id])
            || !\is_object($this->values[$id])
            || isset($this->protected[$this->values[$id]])
            || !\method_exists($this->values[$id], '__invoke')
        ) {
            return $this->values[$id];
        }
 
        if (isset($this->factories[$this->values[$id]])) {
            return $this->values[$id]($this);
        }
 
        $raw = $this->values[$id];
        $val = $this->values[$id] = $raw($this);
        $this->raw[$id] = $raw;
 
        $this->frozen[$id] = true;
 
        return $val;
    }
 
    /**
     * Checks if a parameter or an object is set.
     *
     * @param string $id The unique identifier for the parameter or object
     *
     * @return bool
     */
    public function offsetExists($id)
    {
        return isset($this->keys[$id]);
    }
 
    /**
Arguments
  1. Grav {#3}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
RenderProcessor.php
 
namespace Grav\Common\Processors;
 
use Grav\Common\Page\Interfaces\PageInterface;
use Grav\Framework\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class RenderProcessor extends ProcessorBase
{
    public $id = 'render';
    public $title = 'Render';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
 
        $container = $this->container;
        $output =  $container['output'];
 
        if ($output instanceof ResponseInterface) {
            return $output;
        }
 
        ob_start();
 
        // Use internal Grav output.
        $container->output = $output;
        $container->fireEvent('onOutputGenerated');
 
        echo $container->output;
 
        // remove any output
        $container->output = '';
 
        $this->container->fireEvent('onOutputRendered');
 
        $html = ob_get_clean();
 
Arguments
  1. "output"
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#903}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
DebuggerAssetsProcessor.php
 
namespace Grav\Common\Processors;
 
use Grav\Framework\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class DebuggerAssetsProcessor extends ProcessorBase
{
    public $id = 'debugger_assets';
    public $title = 'Debugger Assets';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['debugger']->addAssets();
        $this->stopTimer();
 
        return $handler->handle($request);
 
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#905}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
PagesProcessor.php
            $this->addMessage("Routed to page {$page->rawRoute()} (type: {$page->template()}) [Not Found fallback]");
        } else {
            $this->addMessage("Routed to page {$page->rawRoute()} (type: {$page->template()})");
 
            $task = $this->container['task'];
            $action = $this->container['action'];
            if ($task) {
                $event = new Event(['task' => $task, 'page' => $page]);
                $this->container->fireEvent('onPageTask', $event);
                $this->container->fireEvent('onPageTask.' . $task, $event);
            } elseif ($action) {
                $event = new Event(['action' => $action, 'page' => $page]);
                $this->container->fireEvent('onPageAction', $event);
                $this->container->fireEvent('onPageAction.' . $action, $event);
            }
        }
 
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#461}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
TwigProcessor.php
 */
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class TwigProcessor extends ProcessorBase
{
    public $id = 'twig';
    public $title = 'Twig';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['twig']->init();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#253}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
AssetsProcessor.php
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class AssetsProcessor extends ProcessorBase
{
    public $id = '_assets';
    public $title = 'Assets';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['assets']->init();
        $this->container->fireEvent('onAssetsInitialized');
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#250}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
SchedulerProcessor.php
namespace Grav\Common\Processors;
 
use RocketTheme\Toolbox\Event\Event;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class SchedulerProcessor extends ProcessorBase
{
    public $id = '_scheduler';
    public $title = 'Scheduler';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $scheduler = $this->container['scheduler'];
        $this->container->fireEvent('onSchedulerInitialized', new Event(['scheduler' => $scheduler]));
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#220}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
BackupsProcessor.php
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class BackupsProcessor extends ProcessorBase
{
    public $id = '_backups';
    public $title = 'Backups';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $backups = $this->container['backups'];
        $backups->init();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#217}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
TasksProcessor.php
                    }
 
                    $this->stopTimer();
 
                    return $response;
 
                } catch (NotFoundException $e) {
                    // Task not found: Let it pass through.
                }
            }
 
            if ($task) {
                $this->container->fireEvent('onTask.' . $task);
            } elseif ($action) {
                $this->container->fireEvent('onAction.' . $action);
            }
        }
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#215}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
RequestProcessor.php
        $uri = $request->getUri();
        $ext = mb_strtolower(pathinfo($uri->getPath(), PATHINFO_EXTENSION));
 
        $request = $request
            ->withAttribute('grav', $this->container)
            ->withAttribute('time', $_SERVER['REQUEST_TIME_FLOAT'] ?? GRAV_REQUEST_TIME)
            ->withAttribute('route', Uri::getCurrentRoute()->withExtension($ext))
            ->withAttribute('referrer', $this->container['uri']->referrer());
 
        $event = new RequestHandlerEvent(['request' => $request, 'handler' => $handler]);
        /** @var RequestHandlerEvent $event */
        $event = $this->container->fireEvent('onRequestHandlerInit', $event);
        $response = $event->getResponse();
        $this->stopTimer();
 
        if ($response) {
            return $response;
        }
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#208}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
ThemesProcessor.php
 */
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class ThemesProcessor extends ProcessorBase
{
    public $id = 'themes';
    public $title = 'Themes';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['themes']->init();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#200}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
PluginsProcessor.php
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class PluginsProcessor extends ProcessorBase
{
    public $id = 'plugins';
    public $title = 'Plugins';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        // TODO: remove in 2.0.
        $this->container['accounts'];
        $this->container['plugins']->init();
        $this->container->fireEvent('onPluginsInitialized');
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#143}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
InitializeProcessor.php
        }
 
        /** @var Uri $uri */
        $uri = $this->container['uri'];
        $uri->init();
 
        // Redirect pages with trailing slash if configured to do so.
        $path = $uri->path() ?: '/';
        if ($path !== '/'
            && $config->get('system.pages.redirect_trailing_slash', false)
            && Utils::endsWith($path, '/')) {
 
            $redirect = (string) $uri::getCurrentRoute()->toString();
            $this->container->redirect($redirect);
        }
 
        $this->container->setLocale();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#136}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
DebuggerProcessor.php
 */
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class DebuggerProcessor extends ProcessorBase
{
    public $id = '_debugger';
    public $title = 'Init Debugger';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['debugger']->init();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#134}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
ErrorsProcessor.php
 */
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class ErrorsProcessor extends ProcessorBase
{
    public $id = '_errors';
    public $title = 'Error Handlers Reset';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['errors']->resetHandlers();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#122}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
LoggerProcessor.php
 
        /** @var Config $config */
        $config = $grav['config'];
 
        switch ($config->get('system.log.handler', 'file')) {
            case 'syslog':
                $log = $grav['log'];
                $log->popHandler();
 
                $facility = $config->get('system.log.syslog.facility', 'local6');
                $logHandler = new SyslogHandler('grav', $facility);
                $formatter = new LineFormatter("%channel%.%level_name%: %message% %extra%");
                $logHandler->setFormatter($formatter);
 
                $log->pushHandler($logHandler);
                break;
        }
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#100}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
ConfigurationProcessor.php
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class ConfigurationProcessor extends ProcessorBase
{
    public $id = '_config';
    public $title = 'Configuration';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['config']->init();
        $this->container['plugins']->setup();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#93}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Grav.php
                },
                'debuggerAssetsProcessor' => function () {
                    return new DebuggerAssetsProcessor($this);
                },
                'renderProcessor' => function () {
                    return new RenderProcessor($this);
                },
            ]
        );
 
        $default = function (ServerRequestInterface $request) {
            return new Response(404);
        };
 
        /** @var Debugger $debugger */
        $debugger = $this['debugger'];
 
        $collection = new RequestHandler($this->middleware, $default, $container);
 
        $response = $collection->handle($this['request']);
 
        $this->header($response);
        echo $response->getBody();
 
        $debugger->render();
 
        register_shutdown_function([$this, 'shutdown']);
    }
 
    /**
     * Set the system locale based on the language and configuration
     */
    public function setLocale()
    {
        // Initialize Locale if set and configured.
        if ($this['language']->enabled() && $this['config']->get('system.languages.override_locale')) {
            $language = $this['language']->getLanguage();
            setlocale(LC_ALL, \strlen($language) < 3 ? ($language . '_' . strtoupper($language)) : $language);
        } elseif ($this['config']->get('system.default_locale')) {
            setlocale(LC_ALL, $this['config']->get('system.default_locale'));
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
index.php
 
// Set timezone to default, falls back to system if php.ini not set
date_default_timezone_set(@date_default_timezone_get());
 
// Set internal encoding if mbstring loaded
if (!\extension_loaded('mbstring')) {
    die("'mbstring' extension is not loaded.  This is required for Grav to run correctly");
}
mb_internal_encoding('UTF-8');
 
// Get the Grav instance
$grav = Grav::instance(
    array(
        'loader' => $loader
    )
);
 
// Process the page
try {
    $grav->process();
} catch (\Error $e) {
    $grav['log']->error('Error.' . __CLASS__ . ':' . __METHOD__ . ': ' . print_r([
            'msg'   => $e->getMessage(),
            'url'   => $grav['page']->url(),
            'uri'   => $grav['uri']->route(),
            'trace' => $e->getTraceAsString(),
        ], true));
    $grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
    throw $e;
} catch (\Exception $e) {
    $grav['log']->error('Exception.' . __CLASS__ . ':' . __METHOD__ . ': ' . print_r([
            'msg'   => $e->getMessage(),
            'url'   => $grav['page']->url(),
            'uri'   => $grav['uri']->route(),
            'trace' => $e->getTraceAsString(),
        ], true));
    $grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
    throw $e;
}
 

Environment & details:

empty
empty
empty
empty
Key Value
redirect_after_login
"/actualites"
redirect_after_auth
"/mon-compte"
user
User {#900}
Key Value
TEMP
"/tmp"
TMPDIR
"/tmp"
TMP
"/tmp"
HOSTNAME
""
USER
"webapp"
HOME
"/home/webapp"
HTTP_CONNECTION
"keep-alive"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_FORWARDED_PORT
"443"
HTTP_X_FORWARDED_FOR
"3.235.251.99, 172.70.174.179"
HTTP_USER_AGENT
"claudebot"
HTTP_REFERER
"https://www.optimhome.com/news/_325/l-actualite-immobiliere.html?pathing=325&&page=5"
HTTP_CF_VISITOR
"{"scheme":"https"}"
HTTP_CF_RAY
"86b6993e3a9882e0-IAD"
HTTP_CF_IPCOUNTRY
"US"
HTTP_CF_CONNECTING_IP
"3.235.251.99"
HTTP_CDN_LOOP
"cloudflare"
HTTP_ACCEPT_ENCODING
"gzip, br"
HTTP_ACCEPT
"*/*"
HTTP_HOST
"www.optimhome.com"
SCRIPT_FILENAME
"/var/www/html/index.php"
PATH_INFO
""
REDIRECT_STATUS
"200"
SERVER_NAME
"_"
SERVER_PORT
"80"
SERVER_ADDR
"10.20.4.118"
REMOTE_PORT
"49136"
REMOTE_ADDR
"10.20.11.254"
SERVER_SOFTWARE
"nginx/1.18.0"
GATEWAY_INTERFACE
"CGI/1.1"
REQUEST_SCHEME
"http"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/var/www/html"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/actualites"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711618196.2481
REQUEST_TIME
1711618196
Key Value
TEMP
"/tmp"
TMPDIR
"/tmp"
TMP
"/tmp"
HOSTNAME
""
USER
"webapp"
HOME
"/home/webapp"
HTTP_CONNECTION
"keep-alive"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_FORWARDED_PORT
"443"
HTTP_X_FORWARDED_FOR
"3.235.251.99, 172.70.174.179"
HTTP_USER_AGENT
"claudebot"
HTTP_REFERER
"https://www.optimhome.com/news/_325/l-actualite-immobiliere.html?pathing=325&&page=5"
HTTP_CF_VISITOR
"{"scheme":"https"}"
HTTP_CF_RAY
"86b6993e3a9882e0-IAD"
HTTP_CF_IPCOUNTRY
"US"
HTTP_CF_CONNECTING_IP
"3.235.251.99"
HTTP_CDN_LOOP
"cloudflare"
HTTP_ACCEPT_ENCODING
"gzip, br"
HTTP_ACCEPT
"*/*"
HTTP_HOST
"www.optimhome.com"
SCRIPT_FILENAME
"/var/www/html/index.php"
PATH_INFO
""
REDIRECT_STATUS
"200"
SERVER_NAME
"_"
SERVER_PORT
"80"
SERVER_ADDR
"10.20.4.118"
REMOTE_PORT
"49136"
REMOTE_ADDR
"10.20.11.254"
SERVER_SOFTWARE
"nginx/1.18.0"
GATEWAY_INTERFACE
"CGI/1.1"
REQUEST_SCHEME
"http"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/var/www/html"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/actualites"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711618196.2481
REQUEST_TIME
1711618196
0. Whoops\Handler\PrettyPageHandler
1. Whoops\Handler\CallbackHandler