TypeError
Argument 1 passed to application\src\CValidate::validID() must be of the type string, null given, called in /home/spoonandwhisk/public_html/application/blocks/product_catalog/elements/product_list.php on line 350 TypeError thrown with message "Argument 1 passed to application\src\CValidate::validID() must be of the type string, null given, called in /home/spoonandwhisk/public_html/application/blocks/product_catalog/elements/product_list.php on line 350" Stacktrace: #33 TypeError in /home/spoonandwhisk/public_html/application/src/CValidate.php:114 #32 application\src\CValidate:validID in /home/spoonandwhisk/public_html/application/blocks/product_catalog/elements/product_list.php:350 #31 require in /home/spoonandwhisk/public_html/application/blocks/product_catalog/view.php:148 #30 include in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Block/View/BlockView.php:267 #29 Concrete\Core\Block\View\BlockView:renderViewContents in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/View/AbstractView.php:164 #28 Concrete\Core\View\AbstractView:render in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Area/Area.php:853 #27 Concrete\Core\Area\Area:display in /home/spoonandwhisk/public_html/application/themes/spoon/catalog_template.php:10 #26 include in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/View/View.php:329 #25 Concrete\Core\View\View:renderTemplate in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/View/View.php:291 #24 Concrete\Core\View\View:renderViewContents in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/View/AbstractView.php:164 #23 Concrete\Core\View\AbstractView:render in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/ResponseFactory.php:148 #22 Concrete\Core\Http\ResponseFactory:view in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/ResponseFactory.php:215 #21 Concrete\Core\Http\ResponseFactory:controller in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/ResponseFactory.php:367 #20 Concrete\Core\Http\ResponseFactory:collection in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/DefaultDispatcher.php:132 #19 Concrete\Core\Http\DefaultDispatcher:handleDispatch in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/DefaultDispatcher.php:60 #18 Concrete\Core\Http\DefaultDispatcher:dispatch in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/DispatcherDelegate.php:39 #17 Concrete\Core\Http\Middleware\DispatcherDelegate:next in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/FrameOptionsMiddleware.php:39 #16 Concrete\Core\Http\Middleware\FrameOptionsMiddleware:process in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #15 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/StrictTransportSecurityMiddleware.php:36 #14 Concrete\Core\Http\Middleware\StrictTransportSecurityMiddleware:process in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #13 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/ContentSecurityPolicyMiddleware.php:36 #12 Concrete\Core\Http\Middleware\ContentSecurityPolicyMiddleware:process in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #11 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/CookieMiddleware.php:35 #10 Concrete\Core\Http\Middleware\CookieMiddleware:process in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #9 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/ApplicationMiddleware.php:29 #8 Concrete\Core\Http\Middleware\ApplicationMiddleware:process in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #7 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/MiddlewareStack.php:86 #6 Concrete\Core\Http\Middleware\MiddlewareStack:process in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/DefaultServer.php:85 #5 Concrete\Core\Http\DefaultServer:handleRequest in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Foundation/Runtime/Run/DefaultRunner.php:125 #4 Concrete\Core\Foundation\Runtime\Run\DefaultRunner:run in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Foundation/Runtime/DefaultRuntime.php:102 #3 Concrete\Core\Foundation\Runtime\DefaultRuntime:run in /home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/dispatcher.php:45 #2 require in /home/spoonandwhisk/public_html/concrete/bootstrap/configure.php:55 #1 require in /home/spoonandwhisk/public_html/concrete/dispatcher.php:13 #0 require in /home/spoonandwhisk/public_html/index.php:3
Stack frames (34)
33
TypeError
/home/spoonandwhisk/public_html/application/src/CValidate.php114
32
application\src\CValidate validID
/home/spoonandwhisk/public_html/application/blocks/product_catalog/elements/product_list.php350
31
require
/home/spoonandwhisk/public_html/application/blocks/product_catalog/view.php148
30
include
/src/Block/View/BlockView.php267
29
Concrete\Core\Block\View\BlockView renderViewContents
/src/View/AbstractView.php164
28
Concrete\Core\View\AbstractView render
/src/Area/Area.php853
27
Concrete\Core\Area\Area display
/home/spoonandwhisk/public_html/application/themes/spoon/catalog_template.php10
26
include
/src/View/View.php329
25
Concrete\Core\View\View renderTemplate
/src/View/View.php291
24
Concrete\Core\View\View renderViewContents
/src/View/AbstractView.php164
23
Concrete\Core\View\AbstractView render
/src/Http/ResponseFactory.php148
22
Concrete\Core\Http\ResponseFactory view
/src/Http/ResponseFactory.php215
21
Concrete\Core\Http\ResponseFactory controller
/src/Http/ResponseFactory.php367
20
Concrete\Core\Http\ResponseFactory collection
/src/Http/DefaultDispatcher.php132
19
Concrete\Core\Http\DefaultDispatcher handleDispatch
/src/Http/DefaultDispatcher.php60
18
Concrete\Core\Http\DefaultDispatcher dispatch
/src/Http/Middleware/DispatcherDelegate.php39
17
Concrete\Core\Http\Middleware\DispatcherDelegate next
/src/Http/Middleware/FrameOptionsMiddleware.php39
16
Concrete\Core\Http\Middleware\FrameOptionsMiddleware process
/src/Http/Middleware/MiddlewareDelegate.php50
15
Concrete\Core\Http\Middleware\MiddlewareDelegate next
/src/Http/Middleware/StrictTransportSecurityMiddleware.php36
14
Concrete\Core\Http\Middleware\StrictTransportSecurityMiddleware process
/src/Http/Middleware/MiddlewareDelegate.php50
13
Concrete\Core\Http\Middleware\MiddlewareDelegate next
/src/Http/Middleware/ContentSecurityPolicyMiddleware.php36
12
Concrete\Core\Http\Middleware\ContentSecurityPolicyMiddleware process
/src/Http/Middleware/MiddlewareDelegate.php50
11
Concrete\Core\Http\Middleware\MiddlewareDelegate next
/src/Http/Middleware/CookieMiddleware.php35
10
Concrete\Core\Http\Middleware\CookieMiddleware process
/src/Http/Middleware/MiddlewareDelegate.php50
9
Concrete\Core\Http\Middleware\MiddlewareDelegate next
/src/Http/Middleware/ApplicationMiddleware.php29
8
Concrete\Core\Http\Middleware\ApplicationMiddleware process
/src/Http/Middleware/MiddlewareDelegate.php50
7
Concrete\Core\Http\Middleware\MiddlewareDelegate next
/src/Http/Middleware/MiddlewareStack.php86
6
Concrete\Core\Http\Middleware\MiddlewareStack process
/src/Http/DefaultServer.php85
5
Concrete\Core\Http\DefaultServer handleRequest
/src/Foundation/Runtime/Run/DefaultRunner.php125
4
Concrete\Core\Foundation\Runtime\Run\DefaultRunner run
/src/Foundation/Runtime/DefaultRuntime.php102
3
Concrete\Core\Foundation\Runtime\DefaultRuntime run
/dispatcher.php45
2
require
/home/spoonandwhisk/public_html/concrete/bootstrap/configure.php55
1
require
/home/spoonandwhisk/public_html/concrete/dispatcher.php13
0
require
/home/spoonandwhisk/public_html/index.php3
/home/spoonandwhisk/public_html/application/src/CValidate.php

        }

        else

        {

            $iReturn = filter_var($sValidValue, FILTER_VALIDATE_INT, array('options' => array('default' => $sDefault, 'min_range' => $iMin, 'max_range' => $iMax)));

        }

        return $iReturn;

    }



    // Integer ID: sanitize and validate

    public static function validID(string $sValue) : int

    {

        return self::validInt($sValue, -1, -1);

    }

    

    // Float: sanitize and validate

    public static function validFloat(string $sValue, int $nDecimals=2, float $fDefault=0) : float

    {

        $sReturn = filter_var($sValue, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION | FILTER_FLAG_ALLOW_THOUSAND);

        return round(filter_var($sReturn, FILTER_VALIDATE_FLOAT, array('options' => array('default' => $fDefault))), $nDecimals);

    }
Arguments
  1. "Argument 1 passed to application\src\CValidate::validID() must be of the type string, null given, called in /home/spoonandwhisk/public_html/application/blocks/product_catalog/elements/product_list.php on line 350"
    
/home/spoonandwhisk/public_html/application/blocks/product_catalog/elements/product_list.php
// --------------------------------------------------------
// URLs and Breadcrumbs
// --------------------------------------------------------

$sBreadcrumbs = '';
$sQVWrapperID = 'qv_product';    // quick view wrapper <div> ID
if ($bSearch)
{
    $sTitle = '<h2 class="title">Search Results</h2>';
}
elseif ($bRegistry)
{
    if ($bRegistrySelected) $sTitle = '<h2 class="title">Gift Registry</h2>';
}
else
{
    $aFields = $aProductRows[0];
    $sTitle = "<h1>{$aFields['Category_Title']} - {$aFields['SubCategory_Title']}</h1>";
    $sCategoriesURL = $this->url('/shop');
    $sSubCatagoriesURL = $oCatalog->urlCategory($aFields['Category_Title'], CValidate::validID($aFields['Category_CategoryID']));
    $sRegistryURL = CRegistry::registryIsSelected() ?
        "<br />Registry: <a href=\"{$oCatalog->urlRegistry()}\">" . CRegistry::registryName() . '</a>' : '';
    $sBreadcrumbs = <<<EOT
        <div class="breadcrumbs">
            View: <a href="{$sCategoriesURL}">Product Catalog Categories</a>
                &nbsp;&gt;&nbsp;
                <a href="{$sSubCatagoriesURL}">{$aFields['Category_Title']} Category</a>
            {$sRegistryURL}
        </div>
    EOT;
}

// --------------------------------------------------------
// Display Products with hidden Quick View <div>
// --------------------------------------------------------

$sHTML .= <<<EOT
    {$sTitle}
    {$sSearchMsg}
    {$sControllerMsg}
Arguments
  1. null
    
/home/spoonandwhisk/public_html/application/blocks/product_catalog/view.php
            $sPage = '/admin_product_edit.php';
        }
        else
        {
            $sPage = '/admin_home.php';
        }
        break;
 
    // Admin Catalog Sidebar: categories or vendors
    case 'admin-sidebar':
        $sPage = '/admin_sidebar.php';
        break;
 
    default:
        echo '<p class="error">Unrecognized page type: ' . $pageType . '</p>';
        return;
 
}   // end switch
 
require(dirname(__FILE__) . '/elements' . $sPage);
 
 
Arguments
  1. "/home/spoonandwhisk/public_html/application/blocks/product_catalog/elements/product_list.php"
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Block/View/BlockView.php
            $app = Application::getFacadeApplication();
 
            // If you hook into this event and use `preventRendering()`,
            // you can prevent the block from being displayed.
            $event = new BlockBeforeRender($this->block);
            $app->make('director')->dispatch('on_block_before_render', $event);
 
            return $event->proceed();
        };
 
        if (!$shouldRender()) {
            return;
        }
 
        unset($shouldRender);
 
        extract($scopeItems);
        if (!$this->outputContent) {
            ob_start();
            include $this->template;
            $this->outputContent = ob_get_contents();
            ob_end_clean();
        }
 
        // In case the view changes any scope items, the block header/footer
        // could break without extracting the scope items again. This can happen
        // if the block view changes any local variables such as the `$b`
        // variable which is possible as they can be user defined.
        extract($scopeItems);
 
        // The translatable texts in the block header/footer need to be printed
        // out in the system language.
        $loc = Localization::getInstance();
        $loc->pushActiveContext(Localization::CONTEXT_UI);
 
        if ($this->blockViewHeaderFile) {
            include $this->blockViewHeaderFile;
        }
 
        $this->controller->registerViewAssets($this->outputContent);
Arguments
  1. "/home/spoonandwhisk/public_html/application/blocks/product_catalog/view.php"
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/View/AbstractView.php
            $helpers = $this->controller->getHelperObjects();
            $return = array_merge($this->scopeItems, $sets, $helpers);
        } else {
            $return = $this->scopeItems;
        }
        $return['view'] = $this;
        $return['controller'] = $this->controller;
        return $return;
    }
 
    public function render($state = false)
    {
        if ($this instanceof View) {
            $this->setRequestInstance($this);
        }
        $this->start($state);
        $this->setupRender();
        $this->startRender();
        $scopeItems = $this->getScopeItems();
        $contents = $this->renderViewContents($scopeItems);
        $contents = $this->postProcessViewContents($contents);
        $response = $this->finishRender($contents);
        if ($this instanceof View) {
            $this->revertRequestInstance();
        }
 
        return $response;
    }
 
    public function renderViewContents($scopeItems)
    {
        if (file_exists($this->template)) {
            extract($scopeItems);
            ob_start();
            $this->onBeforeGetContents();
            include $this->template;
            $this->onAfterGetContents();
            $contents = ob_get_contents();
            ob_end_clean();
 
Arguments
  1. array:11 [
      "bID" => "49"
      "pageType" => "product-catalog"
      "featuredProductRow" => null
      "controller" => Application\Block\ProductCatalog\Controller {#2620}
      "catalogPage" => "SUB-CATEGORY"
      "subcategoryID" => "93"
      "form" => Concrete\Core\Form\Service\Form {#2912}
      "view" => Concrete\Core\Block\View\BlockView {#2902}
      "b" => Concrete\Core\Block\Block {#1644}
      "bt" => Concrete\Core\Entity\Block\BlockType\BlockType {#2618}
      "a" => Concrete\Core\Area\Area {#2891}
    ]
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Area/Area.php
        $loc = Localization::getInstance();
 
        // now, we iterate through these block groups (which are actually arrays of block objects), and display them on the page
        $loc->pushActiveContext(Localization::CONTEXT_UI);
        if ($this->showControls && $c->isEditMode() && $ap->canViewAreaControls()) {
            View::element('block_area_header', array('a' => $this));
        } else {
            View::element('block_area_header_view', array('a' => $this));
        }
        $loc->popActiveContext();
 
        foreach ($blocksToDisplay as $b) {
            $bv = new BlockView($b);
            $bv->setAreaObject($this);
            $p = new Permissions($b);
            if ($p->canViewBlock()) {
                if (!$c->isEditMode()) {
                    echo $this->enclosingStart;
                }
                $bv->render('view');
                if (!$c->isEditMode()) {
                    echo $this->enclosingEnd;
                }
            }
        }
 
        $loc->pushActiveContext(Localization::CONTEXT_UI);
        if ($this->showControls && $c->isEditMode() && $ap->canViewAreaControls()) {
            View::element('block_area_footer', array('a' => $this));
        } else {
            View::element('block_area_footer_view', array('a' => $this));
        }
        $loc->popActiveContext();
    }
 
    /**
     * Exports the area to content format.
     *
     * @param \SimpleXMLElement $p
     * @param Page $page
Arguments
  1. "view"
    
/home/spoonandwhisk/public_html/application/themes/spoon/catalog_template.php
<?php
defined('C5_EXECUTE') or die("Access Denied.");
 
$this->inc('elements/header.php');
?>
 
<main id="catalog_template">
    <?php 
        $a = new Area('Product Catalog');
        $a->display($c);
    ?>
</main>
 
<?php
$this->inc('elements/footer.php');
 
Arguments
  1. Concrete\Core\Page\Page {#1551}
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/View/View.php
        ob_end_clean();
 
        return $innerContent;
    }
 
    /**
     * Render the file set to $this->template
     * @param $scopeItems
     * @return string
     */
    protected function renderTemplate($scopeItems, $innerContent)
    {
        // Extract the items into the current scope
        extract($scopeItems);
 
        ob_start();
 
        // Fire a `before` event
        $this->onBeforeGetContents();
        include $this->template;
 
        // Fire an `after` event
        $this->onAfterGetContents();
        $contents = ob_get_contents();
        ob_end_clean();
 
        return $contents;
    }
 
    public function finishRender($contents)
    {
        $event = new \Symfony\Component\EventDispatcher\GenericEvent();
        $event->setArgument('view', $this);
        Events::dispatch('on_render_complete', $event);
 
        return $contents;
    }
 
    /**
     * Function responsible for outputting header items.
Arguments
  1. "/home/spoonandwhisk/public_html/application/themes/spoon/catalog_template.php"
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/View/View.php
    protected function onBeforeGetContents()
    {
        $this->themeObject->registerAssets();
        $event = new \Symfony\Component\EventDispatcher\GenericEvent();
        $event->setArgument('view', $this);
        Events::dispatch('on_before_render', $event);
    }
 
    public function renderViewContents($scopeItems)
    {
        $contents = '';
 
        // Render the main view file
        if ($this->innerContentFile) {
            $contents = $this->renderInnerContents($scopeItems);
        }
 
        // Render the template around it
        if (file_exists($this->template)) {
            $contents = $this->renderTemplate($scopeItems, $contents);
        }
 
        return $contents;
    }
 
    /**
     * Render the file set to $this->innerContentFile
     * @param $scopeItems
     * @return string
     */
    protected function renderInnerContents($scopeItems)
    {
        // Extract the items into the current scope
        extract($scopeItems);
 
        ob_start();
        include $this->innerContentFile;
        $innerContent = ob_get_contents();
        ob_end_clean();
 
Arguments
  1. array:5 [
      "html" => Concrete\Core\Html\Service\Html {#1643}
      "view" => Concrete\Core\Page\View\PageView {#1625}
      "controller" => Concrete\Core\Page\Controller\PageController {#1620}
      "c" => Concrete\Core\Page\Page {#1551}
      "theme" => Concrete\Core\Page\Theme\Theme {#2639}
    ]
    
  2. ""
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/View/AbstractView.php
            $helpers = $this->controller->getHelperObjects();
            $return = array_merge($this->scopeItems, $sets, $helpers);
        } else {
            $return = $this->scopeItems;
        }
        $return['view'] = $this;
        $return['controller'] = $this->controller;
        return $return;
    }
 
    public function render($state = false)
    {
        if ($this instanceof View) {
            $this->setRequestInstance($this);
        }
        $this->start($state);
        $this->setupRender();
        $this->startRender();
        $scopeItems = $this->getScopeItems();
        $contents = $this->renderViewContents($scopeItems);
        $contents = $this->postProcessViewContents($contents);
        $response = $this->finishRender($contents);
        if ($this instanceof View) {
            $this->revertRequestInstance();
        }
 
        return $response;
    }
 
    public function renderViewContents($scopeItems)
    {
        if (file_exists($this->template)) {
            extract($scopeItems);
            ob_start();
            $this->onBeforeGetContents();
            include $this->template;
            $this->onAfterGetContents();
            $contents = ob_get_contents();
            ob_end_clean();
 
Arguments
  1. array:5 [
      "html" => Concrete\Core\Html\Service\Html {#1643}
      "view" => Concrete\Core\Page\View\PageView {#1625}
      "controller" => Concrete\Core\Page\Controller\PageController {#1620}
      "c" => Concrete\Core\Page\Page {#1551}
      "theme" => Concrete\Core\Page\Theme\Theme {#2639}
    ]
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/ResponseFactory.php
        $cnt = $this->app->make(PageForbidden::class);
        $this->controller($cnt, $code, $headers);
    }
 
    /**
     * {@inheritdoc}
     */
    public function redirect($to, $code = Response::HTTP_MOVED_PERMANENTLY, $headers = [])
    {
        return RedirectResponse::create($to, $code, $headers);
    }
 
    /**
     * {@inheritdoc}
     */
    public function view(View $view, $code = Response::HTTP_OK, $headers = [])
    {
        $this->localization->pushActiveContext(Localization::CONTEXT_SITE);
        try {
            $contents = $view->render();
 
            return $this->create($contents, $code, $headers);
        } finally {
            $this->localization->popActiveContext();
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function controller(Controller $controller, $code = Response::HTTP_OK, $headers = [])
    {
        $this->localization->pushActiveContext(Localization::CONTEXT_SITE);
        try {
            $request = $this->request;
 
            if ($response = $controller->on_start()) {
                return $response;
            }
 
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/ResponseFactory.php
                if ($response = $controller->runAction('view')) {
                    return $response;
                }
            }
 
            $view = $controller->getViewObject();
 
            // Mobile theme
            if ($this->config->get('concrete.misc.mobile_theme_id') > 0) {
                $md = $this->app->make(MobileDetect::class);
                if ($md->isMobile()) {
                    $mobileTheme = Theme::getByID($this->app->config->get('concrete.misc.mobile_theme_id'));
                    if ($mobileTheme instanceof Theme) {
                        $view->setViewTheme($mobileTheme);
                        $controller->setTheme($mobileTheme);
                    }
                }
            }
 
            return $this->view($view, $code, $headers);
        } finally {
            $this->localization->popActiveContext();
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function collection(Collection $collection, $code = Response::HTTP_OK, $headers = [])
    {
        if (!$this->app) {
            throw new \RuntimeException('Cannot resolve collections without a reference to the application');
        }
 
        $dl = $this->app->make('multilingual/detector');
        $request = $this->request;
 
        if ($collection->isError() && $collection->getError() == COLLECTION_NOT_FOUND) {
            if ($response = $this->collectionNotFound($collection, $request, $headers)) {
                return $response;
Arguments
  1. Concrete\Core\Page\View\PageView {#1625}
    
  2. 200
    
  3. []
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/ResponseFactory.php
        $this->app['director']->dispatch('on_page_view', $pe);
 
        // Core menu items
        $item = new RelationListItem();
        $menu = $this->app->make('helper/concrete/ui/menu');
        $menu->addMenuItem($item);
 
        // Running processes item
        $item = new RunningProcessesItem();
        $menu->addMenuItem($item);
 
        // Multisite item
        $item = new SiteListItem();
        $menu->addMenuItem($item);
        $controller = $collection->getPageController();
 
        // we update the current page with the one bound to this controller.
        $collection->setController($controller);
 
        return $this->controller($controller);
    }
 
    private function collectionNotFound(Collection $collection, Request $request, array $headers)
    {
        // if we don't have a path and we're doing cID, then this automatically fires a 404.
        if (!$request->getPath() && $request->get('cID')) {
            return $this->notFound('', Response::HTTP_NOT_FOUND, $headers);
        }
 
        // let's test to see if this is, in fact, the home page,
        // and we're routing arguments onto it (which is screwing up the path.)
        $home = Page::getByID(Page::getHomePageID());
        $request->setCurrentPage($home);
        $homeController = $home->getPageController();
        $homeController->setupRequestActionAndParameters($request);
 
        $response = $homeController->validateRequest();
        if ($response instanceof \Symfony\Component\HttpFoundation\Response) {
            return $response;
        } elseif ($response === true) {
Arguments
  1. Concrete\Core\Page\Controller\PageController {#1620}
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/DefaultDispatcher.php
                new DispatcherDelegate($dispatcher)
            );
            $stack->setApplication($this->app);
            foreach($route->getMiddlewares() as $middleware) {
                if (is_string($middleware->getMiddleware())) {
                    $inflatedMiddleware =  $this->app->make($middleware->getMiddleware());
                } else {
                    $inflatedMiddleware = $middleware->getMiddleware();
                }
                $stack = $stack->withMiddleware(
                    $inflatedMiddleware,
                    $middleware->getPriority()
                );
            }
            return $stack->process($request);
        } catch (ResourceNotFoundException $e) {
        } catch (MethodNotAllowedException $e) {
        }
        $c = \Page::getFromRequest($request);
        $response = $this->app->make(ResponseFactoryInterface::class)->collection($c);
 
        return $response;
    }
 
    /**
     * @param \Symfony\Component\Routing\RouteCollection $routes
     * @param string $path
     *
     * @return \Symfony\Component\Routing\RouteCollection
     */
    private function filterRouteCollectionForPath(RouteCollection $routes, $path)
    {
        $result = new RouteCollection();
        foreach ($routes->getResources() as $resource) {
            $result->addResource($resource);
        }
        foreach ($routes->all() as $name => $route) {
            $routePath = $route->getPath();
            $p = strpos($routePath, '{');
            $skip = false;
Arguments
  1. Concrete\Core\Page\Page {#1551}
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/DefaultDispatcher.php
    /**
     * @param \Symfony\Component\HttpFoundation\Request $request
     *
     * @return SymfonyResponse
     */
    public function dispatch(SymfonyRequest $request)
    {
        $path = rawurldecode($request->getPathInfo());
 
        if (substr($path, 0, 3) == '../' || substr($path, -3) == '/..' || strpos($path, '/../') ||
            substr($path, 0, 3) == '..\\' || substr($path, -3) == '\\..' || strpos($path, '\\..\\')) {
            throw new UserMessageException(t('Invalid path traversal. Please make this request with a valid HTTP client.'));
        }
 
        $response = null;
        if ($this->app->isInstalled()) {
            $response = $this->getEarlyDispatchResponse();
        }
        if ($response === null) {
            $response = $this->handleDispatch($request);
        }
 
        return $response;
    }
 
    private function getEarlyDispatchResponse()
    {
        $validator = $this->app->make(SessionValidator::class);
        if ($validator->hasActiveSession()) {
            $session = $this->app['session'];
            if (!$session->has('uID')) {
                User::verifyAuthTypeCookie();
            }
 
            // User may have been logged in, so lets check status again.
            if ($session->has('uID') && $session->get('uID') > 0 && $response = $this->validateUser()) {
                return $response;
            }
        }
    }
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/DispatcherDelegate.php
    private $dispatcher;
 
    /**
     * DispatcherFrame constructor.
     * @param \Concrete\Core\Http\DispatcherInterface $dispatcher
     */
    public function __construct(DispatcherInterface $dispatcher)
    {
        $this->dispatcher = $dispatcher;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        return $this->dispatcher->dispatch($request);
    }
 
}
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/FrameOptionsMiddleware.php
    private $config;
 
    /**
     * @var \Concrete\Core\Utility\Service\Validation\Strings
     */
    private $stringValidator;
 
    public function __construct(Repository $config, Strings $stringValidator)
    {
        $this->config = $config;
        $this->stringValidator = $stringValidator;
    }
 
    /**
     * @param \Concrete\Core\Http\Middleware\DelegateInterface $frame
     * @return Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        if ($response->headers->has('X-Frame-Options') === false) {
            $x_frame_options = $this->config->get('concrete.security.misc.x_frame_options');
            if ($this->stringValidator->notempty($x_frame_options)) {
                $response->headers->set('X-Frame-Options', $x_frame_options);
            }
        }
 
        return $response;
    }
 
}
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Concrete\Core\Http\Middleware\DispatcherDelegate {#1526}
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/StrictTransportSecurityMiddleware.php
    /**
     * @var Strings
     */
    private $stringValidator;
 
    public function __construct(Repository $config, Strings $stringValidator)
    {
        $this->config = $config;
        $this->stringValidator = $stringValidator;
    }
 
    /**
     * @param Request $request
     * @param DelegateInterface $frame
     *
     * @return Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        if ($response->headers->has('Strict-Transport-Security') === false) {
            $x_frame_options = $this->config->get('concrete.security.misc.strict_transport_security');
            if ($this->stringValidator->notempty($x_frame_options)) {
                $response->headers->set('Strict-Transport-Security', $x_frame_options);
            }
        }
 
        return $response;
    }
}
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Concrete\Core\Http\Middleware\MiddlewareDelegate {#1533}
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/ContentSecurityPolicyMiddleware.php
    /**
     * @var Strings
     */
    private $stringValidator;
 
    public function __construct(Repository $config, Strings $stringValidator)
    {
        $this->config = $config;
        $this->stringValidator = $stringValidator;
    }
 
    /**
     * @param Request $request
     * @param DelegateInterface $frame
     *
     * @return Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        if ($response->headers->has('Content-Security-Policy') === false) {
            $csp = $this->config->get('concrete.security.misc.content_security_policy');
            if ((is_array($csp) && count($csp) > 0) || $this->stringValidator->notempty($csp)) {
                $response->headers->set('Content-Security-Policy', $csp);
            }
        }
 
        return $response;
    }
}
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Concrete\Core\Http\Middleware\MiddlewareDelegate {#1535}
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/CookieMiddleware.php
     * @var \Concrete\Core\Cookie\ResponseCookieJar
     */
    private $responseCookieJar;
 
    /**
     * @param \Concrete\Core\Cookie\ResponseCookieJar $responseCookieJar
     */
    public function __construct(ResponseCookieJar $responseCookieJar)
    {
        $this->responseCookieJar = $responseCookieJar;
    }
 
    /**
     * {@inheritdoc}
     *
     * @see \Concrete\Core\Http\Middleware\MiddlewareInterface::process()
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        $cleared = $this->responseCookieJar->getClearedCookies();
        foreach ($cleared as $cookie) {
            $response->headers->clearCookie($cookie, DIR_REL . '/');
        }
 
        $cookies = $this->responseCookieJar->getCookies();
        foreach ($cookies as $cookie) {
            $response->headers->setCookie($cookie);
        }
 
        return $response;
    }
}
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Concrete\Core\Http\Middleware\MiddlewareDelegate {#1537}
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/ApplicationMiddleware.php
 * Middleware for applying state changes to the application
 * @package Concrete\Core\Http\Middleware
 */
class ApplicationMiddleware implements MiddlewareInterface, ApplicationAwareInterface
{
 
    use ApplicationAwareTrait;
 
    /**
     * Apply the request instance to the request singleton
     * @param \Symfony\Component\HttpFoundation\Request $request
     * @param \Concrete\Core\Http\Middleware\DelegateInterface $frame
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        \Concrete\Core\Http\Request::setInstance($request);
        $this->app->instance('Concrete\Core\Http\Request', $request);
 
        return $frame->next($request);
    }
 
}
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Concrete\Core\Http\Middleware\MiddlewareDelegate {#1539}
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/Middleware/MiddlewareStack.php
    public function withoutMiddleware(MiddlewareInterface $middleware)
    {
        $stack = clone $this;
 
        $stack->middleware = array_map(function($priorityGroup) use ($middleware) {
            return array_map(function($stackMiddleware) use ($middleware)  {
                return $middleware === $stackMiddleware ? null : $stackMiddleware;
            }, $priorityGroup);
        }, $stack->middleware);
 
        return $stack;
    }
 
    /**
     * @inheritdoc
     */
    public function process(Request $request)
    {
        $stack = $this->getStack();
        return $stack->next($request);
    }
 
    /**
     * Reduce middleware into a stack of functions that each call the next
     * @return callable
     */
    private function getStack()
    {
        $processed = [];
 
        foreach ($this->middlewareGenerator() as $middleware) {
            $processed[] = $middleware;
        }
 
        $middleware = array_reverse($processed);
        $stack = array_reduce($middleware, $this->getZipper(), $this->dispatcher);
 
        return $stack;
    }
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Http/DefaultServer.php
     */
    public function removeMiddleware(MiddlewareInterface $middleware)
    {
        $this->stack = $this->stack->withoutMiddleware($middleware);
        return $this;
    }
 
    /**
     * Take a request and pass it through middleware, then return the response
     * @param SymfonyRequest $request
     * @return SymfonyResponse
     */
    public function handleRequest(SymfonyRequest $request)
    {
        $stack = $this->stack;
        if ($stack instanceof MiddlewareStack) {
            $stack = $stack->withDispatcher($this->app->make(DispatcherDelegate::class, ['dispatcher' => $this->dispatcher]));
        }
 
        return $stack->process($request);
    }
 
}
 
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Foundation/Runtime/Run/DefaultRunner.php
 
                // Register legacy config values
                'registerLegacyConfigValues',
 
                // Handle loading permission keys
                'handlePermissionKeys',
 
                // Handle eventing
                'handleEventing',
            ]);
        } else {
            $this->initializeSystemTimezone();
            $this->preloadClassAliases();
        }
 
        // Create the request to use
        $request = $this->createRequest();
 
        if (!$response) {
            $response = $this->server->handleRequest($request);
        }
 
        // Prepare and return the response
        return $response->prepare($request);
    }
 
    /**
     * Define the base url if not defined
     * This will define `BASE_URL` to whatever is resolved from the resolver.
     *
     * @deprecated In a future major version this will be part of HTTP middleware
     *
     * @return Response|void Returns a response if an error occurs
     */
    protected function initializeLegacyURLDefinitions()
    {
        if (!defined('BASE_URL')) {
            $resolver = $this->getUrlResolver();
 
            try {
Arguments
  1. Concrete\Core\Http\Request {#1364
      #hasCustomRequestUser: null
      #customRequestUser: null
      #customRequestDateTime: null
      #c: Concrete\Core\Page\Page {#1551}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#1518}
      +request: Symfony\Component\HttpFoundation\InputBag {#1281}
      +query: Symfony\Component\HttpFoundation\InputBag {#1365}
      +server: Symfony\Component\HttpFoundation\ServerBag {#1521}
      +files: Symfony\Component\HttpFoundation\FileBag {#1520}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#1519}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#1522}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #requestUri: "/shop/catalog/Electrics/Slow-Cookers-Pressure-Cookers/93"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/src/Foundation/Runtime/DefaultRuntime.php
            $this->status = self::STATUS_ACTIVE;
        }
    }
 
    /**
     * Begin the runtime.
     */
    public function run()
    {
        switch ($this->status) {
            case self::STATUS_ENDED:
                // We've already ended, lets just return
                return;
 
            case self::STATUS_INACTIVE:
                throw new \RuntimeException('Runtime has not yet booted.');
        }
 
        $runner = $this->getRunner();
        $response = $runner->run();
 
        if ($response) {
            $this->sendResponse($response);
        }
 
        return $response;
    }
 
    /**
     * The method that handles properly sending a response.
     *
     * @param \Symfony\Component\HttpFoundation\Response $response
     */
    protected function sendResponse(Response $response)
    {
        $response->send();
 
        // Set the status to ended
        $this->status = self::STATUS_ENDED;
    }
/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/dispatcher.php
 * Include all autoloaders.
 * ----------------------------------------------------------------------------
 */
require __DIR__ . '/bootstrap/autoload.php';
 
/*
 * ----------------------------------------------------------------------------
 * Begin Concrete startup.
 * ----------------------------------------------------------------------------
 */
$app = require __DIR__ . '/bootstrap/start.php';
/** @var \Concrete\Core\Application\Application $app */
 
/*
 * ----------------------------------------------------------------------------
 * Run the runtime.
 * ----------------------------------------------------------------------------
 */
$runtime = $app->getRuntime();
if ($response = $runtime->run()) {
 
    /*
     * ------------------------------------------------------------------------
     * Shut it down.
     * ------------------------------------------------------------------------
     */
    $app->shutdown();
} else {
    return $app;
}
 
/home/spoonandwhisk/public_html/concrete/bootstrap/configure.php
defined('DIR_CONFIG_SITE') or define('DIR_CONFIG_SITE', DIR_APPLICATION . '/config');
 
/*
 * ----------------------------------------------------------------------------
 * Now that we've had the opportunity to load our config file, we know if we
 * have a DIRNAME_CORE_UPDATED constant, which lives in that file, and which
 * points to another core. If we have this constant, we exit this file
 * immeditely and proceed into the updated core.
 * ----------------------------------------------------------------------------
 */
 
if (!defined('APP_UPDATED_PASSTHRU')) {
    $update_file = DIR_CONFIG_SITE . '/update.php';
    if (file_exists($update_file)) {
        $updates = (array) include $update_file;
        if (isset($updates['core'])) {
            define('APP_UPDATED_PASSTHRU', true);
            define('DIRNAME_APP_UPDATED', $updates['core']);
            if (is_dir(DIR_BASE . '/' . DIRNAME_UPDATES . '/' . DIRNAME_APP_UPDATED)) {
                require DIR_BASE . '/' . DIRNAME_UPDATES . '/' . DIRNAME_APP_UPDATED . '/' . DIRNAME_CORE . '/' . 'dispatcher.php';
            } elseif (file_exists(DIRNAME_UPDATES . '/' . DIRNAME_APP_UPDATED . '/' . DIRNAME_CORE . '/' . 'dispatcher.php')) {
                require DIRNAME_UPDATES . '/' . DIRNAME_APP_UPDATED . '/' . DIRNAME_CORE . '/' . 'dispatcher.php';
            } else {
                die(sprintf('Invalid "%s" defined. Please remove it from %s.', 'update.core', $update_file));
            }
            exit;
        }
    }
    unset($update_file);
    define('APP_UPDATED_PASSTHRU', false);
}
 
if (!defined('DIRNAME_APP_UPDATED') && isset($updates['core'])) {
    define('DIRNAME_APP_UPDATED', $updates['core']);
}
 
/*
 * ----------------------------------------------------------------------------
 * ## If we're still here, we're proceeding through this concrete directory,
 * and it's time to load the rest of our hard-coded configuration options –
Arguments
  1. "/home/spoonandwhisk/public_html/updates/concrete-cms-9.1.3_remote_updater/concrete/dispatcher.php"
    
/home/spoonandwhisk/public_html/concrete/dispatcher.php
<?php
 
if (!defined('PHP_VERSION_ID') || PHP_VERSION_ID < 50509) {
    die("concrete5 requires PHP 5.5.9+ to run.\nYou are running PHP " . PHP_VERSION . "\n");
}
 
/*
 * ----------------------------------------------------------------------------
 * Set required constants, including directory names, attempt to include site configuration file with database
 * information, attempt to determine if we ought to skip to an updated core, etc...
 * ----------------------------------------------------------------------------
 */
require __DIR__ . '/bootstrap/configure.php';
 
/*
 * ----------------------------------------------------------------------------
 * Make sure you cannot call dispatcher.php directly.
 * ----------------------------------------------------------------------------
 */
if (basename($_SERVER['PHP_SELF']) === DISPATCHER_FILENAME_CORE) {
    die('Access Denied.');
}
 
/*
 * ----------------------------------------------------------------------------
 * Include all autoloaders.
 * ----------------------------------------------------------------------------
 */
require __DIR__ . '/bootstrap/autoload.php';
 
/*
 * ----------------------------------------------------------------------------
 * Begin concrete5 startup.
 * ----------------------------------------------------------------------------
 */
$app = require __DIR__ . '/bootstrap/start.php';
/** @var \Concrete\Core\Application\Application $app */
 
/*
 * ----------------------------------------------------------------------------
Arguments
  1. "/home/spoonandwhisk/public_html/concrete/bootstrap/configure.php"
    
/home/spoonandwhisk/public_html/index.php
<?php
 
require 'concrete/dispatcher.php';
 
Arguments
  1. "/home/spoonandwhisk/public_html/concrete/dispatcher.php"
    

Environment & details:

Key Value
Version
"9.1.3"
Installed Version
"9.1.3"
Database Version
"20220908074900"
Key Value
Version
"7.4.33"
Extensions
array:52 [
  "Core" => "7.4.33"
  "date" => "7.4.33"
  "libxml" => "7.4.33"
  "openssl" => "7.4.33"
  "pcre" => "7.4.33"
  "zlib" => "7.4.33"
  "filter" => "7.4.33"
  "hash" => "7.4.33"
  "pcntl" => "7.4.33"
  "Reflection" => "7.4.33"
  "SPL" => "7.4.33"
  "session" => "7.4.33"
  "standard" => "7.4.33"
  "cgi-fcgi" => "7.4.33"
  "bcmath" => "7.4.33"
  "calendar" => "7.4.33"
  "ctype" => "7.4.33"
  "curl" => "7.4.33"
  "dom" => "20031129"
  "enchant" => "7.4.33"
  "mbstring" => "7.4.33"
  "fileinfo" => "7.4.33"
  "ftp" => "7.4.33"
  "gd" => "7.4.33"
  "gettext" => "7.4.33"
  "gmp" => "7.4.33"
  "iconv" => "7.4.33"
  "imap" => "7.4.33"
  "intl" => "7.4.33"
  "json" => "7.4.33"
  "exif" => "7.4.33"
  "mysqlnd" => "mysqlnd 7.4.33"
  "PDO" => "7.4.33"
  "Phar" => "7.4.33"
  "posix" => "7.4.33"
  "pspell" => "7.4.33"
  "SimpleXML" => "7.4.33"
  "soap" => "7.4.33"
  "sockets" => "7.4.33"
  "sqlite3" => "7.4.33"
  "tokenizer" => "7.4.33"
  "xml" => "7.4.33"
  "xmlwriter" => "7.4.33"
  "xsl" => "7.4.33"
  "zip" => "1.15.6"
  "mysqli" => "7.4.33"
  "pdo_mysql" => "7.4.33"
  "pdo_sqlite" => "7.4.33"
  "xmlreader" => "7.4.33"
  "xmlrpc" => "7.4.33"
  "ionCube Loader" => "10.4.5"
  "Zend OPcache" => "7.4.33"
]
Key Value
concrete
array:56 [
  "version" => "9.1.3"
  "version_installed" => "9.1.3"
  "version_db" => "20220908074900"
  "installed" => true
  "locale" => "en_US"
  "charset" => "UTF-8"
  "charset_bom" => ""
  "maintenance_mode" => false
  "debug" => array:4 [
    "display_errors" => true
    "detail" => "debug"
    "error_reporting" => null
    "hide_keys" => array:5 [
      "_GET" => []
      "_POST" => []
      "_FILES" => []
      "_SESSION" => []
      "config" => array:9 [
        0 => "***********************"
        1 => "***********************************"
        2 => "******************************"
        3 => "*********************************"
        4 => "**************************************"
        5 => "********************************************"
        6 => "********************************************"
        7 => "************************"
        8 => "************"
      ]
    ]
  ]
  "proxy" => array:4 [
    "host" => null
    "port" => null
    "user" => null
    "password" => "***"
  ]
  "upload" => array:4 [
    "extensions" => "*.csv;*.flv;*.jpg;*.gif;*.jpeg;*.ico;*.docx;*.xla;*.png;*.psd;*.swf;*.doc;*.txt;*.xls;*.xlsx;*.csv;*.pdf;*.tiff;*.rtf;*.m4a;*.mov;*.wmv;*.mpeg;*.mpg;*.wav;*.3gp;*.avi;*.m4v;*.mp4;*.mp3;*.qt;*.ppt;*.pptx;*.kml;*.xml;*.svg;*.webm;*.ogg;*.ogv"
    "extensions_denylist" => "*.php;*.php2;*.php3;*.php4;*.php5;*.php7;*.php8;*.phtml;*.phar;*.htaccess;*.pl;*.phpsh;*.pht;*.shtml;*.cgi"
    "parallel" => 4
    "chunking" => array:2 [
      "enabled" => false
      "chunkSize" => null
    ]
  ]
  "export" => array:1 [
    "csv" => array:2 [
      "include_bom" => false
      "datetime_format" => "ATOM"
    ]
  ]
  "interface" => array:1 [
    "panel" => array:1 [
      "page_relations" => false
    ]
  ]
  "mail" => array:2 [
    "method" => "PHP_MAIL"
    "methods" => array:1 [
      "smtp" => array:7 [
        "server" => ""
        "port" => ""
        "username" => ""
        "password" => ""
        "encryption" => ""
        "messages_per_connection" => null
        "helo_domain" => "localhost"
      ]
    ]
  ]
  "cache" => array:17 [
    "enabled" => true
    "lifetime" => 21600
    "overrides" => false
    "blocks" => false
    "assets" => false
    "theme_css" => false
    "pages" => "0"
    "doctrine_dev_mode" => false
    "full_page_lifetime" => "default"
    "full_page_lifetime_value" => null
    "full_contents_assets_hash" => false
    "directory" => "/home/spoonandwhisk/public_html/application/files/cache"
    "directory_relative" => null
    "page" => array:2 [
      "directory" => "/home/spoonandwhisk/public_html/application/files/cache/pages"
      "adapter" => "file"
    ]
    "levels" => array:3 [
      "overrides" => array:2 [
        "drivers" => array:3 [
          "core_ephemeral" => array:2 [
            "class" => "\Stash\Driver\Ephemeral"
            "options" => []
          ]
          "core_filesystem" => array:2 [
            "class" => "Concrete\Core\Cache\Driver\FileSystemStashDriver"
            "options" => array:3 [
              "path" => "/home/spoonandwhisk/public_html/application/files/cache/overrides"
              "dirPermissions" => 493
              "filePermissions" => 420
            ]
          ]
          "redis" => array:2 [
            "class" => "Concrete\Core\Cache\Driver\RedisStashDriver"
            "options" => array:2 [
              "prefix" => "concrete_overrides"
              "database" => 0
            ]
          ]
        ]
        "preferred_driver" => "core_filesystem"
      ]
      "expensive" => array:2 [
        "drivers" => array:3 [
          "core_ephemeral" => array:2 [
            "class" => "\Stash\Driver\Ephemeral"
            "options" => []
          ]
          "core_filesystem" => array:2 [
            "class" => "Concrete\Core\Cache\Driver\FileSystemStashDriver"
            "options" => array:3 [
              "path" => "/home/spoonandwhisk/public_html/application/files/cache/expensive"
              "dirPermissions" => 493
              "filePermissions" => 420
            ]
          ]
          "redis" => array:2 [
            "class" => "Concrete\Core\Cache\Driver\RedisStashDriver"
            "options" => array:2 [
              "prefix" => "concrete_expensive"
              "database" => 0
            ]
          ]
        ]
        "preferred_driver" => "core_filesystem"
      ]
      "object" => array:2 [
        "drivers" => array:2 [
          "core_ephemeral" => array:2 [
            "class" => "\Stash\Driver\Ephemeral"
            "options" => []
          ]
          "redis" => array:2 [
            "class" => "Concrete\Core\Cache\Driver\RedisStashDriver"
            "options" => array:2 [
              "prefix" => "concrete_object"
              "database" => 0
            ]
          ]
        ]
        "preferred_driver" => "core_ephemeral"
      ]
    ]
    "clear" => array:1 [
      "thumbnails" => true
    ]
    "last_cleared" => 1677330103
  ]
  "design" => array:2 [
    "enable_custom" => true
    "enable_layouts" => true
  ]
  "processes" => array:3 [
    "logging" => array:2 [
      "method" => "none"
      "file" => array:1 [
        "directory" => ""
      ]
    ]
    "scheduler" => array:1 [
      "enable" => false
    ]
    "delete_threshold" => 7
  ]
  "messenger" => array:6 [
    "default_bus" => "default"
    "buses" => array:1 [
      "default" => array:2 [
        "default_middleware" => true
        "middleware" => []
      ]
    ]
    "routing" => array:1 [
      "Concrete\Core\Foundation\Command\AsyncCommandInterface" => array:1 [
        0 => "async"
      ]
    ]
    "transports" => array:2 [
      0 => "Concrete\Core\Messenger\Transport\DefaultAsync\DefaultAsyncTransport"
      1 => "Concrete\Core\Messenger\Transport\DefaultAsync\DefaultSyncTransport"
    ]
    "consume" => array:1 [
      "method" => "app"
    ]
    "polling_batch" => array:5 [
      "default" => 10
      "rescan_file" => 5
      "delete_page" => 100
      "delete_page_forever" => 100
      "copy_page" => 10
    ]
  ]
  "events" => array:1 [
    "broadcast" => array:1 [
      "driver" => ""
    ]
  ]
  "log" => array:6 [
    "emails" => true
    "errors" => true
    "spam" => false
    "api" => false
    "enable_dashboard_report" => true
    "configuration" => array:3 [
      "mode" => "simple"
      "simple" => array:3 [
        "core_logging_level" => "NOTICE"
        "handler" => "database"
        "file" => array:1 [
          "file" => ""
        ]
      ]
      "advanced" => array:1 [
        "configuration" => []
      ]
    ]
  ]
  "jobs" => array:1 [
    "enable_scheduling" => true
  ]
  "filesystem" => array:2 [
    "temp_directory" => null
    "permissions" => array:2 [
      "file" => 420
      "directory" => 493
    ]
  ]
  "email" => array:7 [
    "enabled" => true
    "default" => array:2 [
      "address" => "********************************"
      "name" => ""
    ]
    "form_block" => array:1 [
      "address" => "***"
    ]
    "forgot_password" => array:2 [
      "address" => "***"
      "name" => null
    ]
    "register_notification" => array:2 [
      "address" => null
      "name" => null
    ]
    "validate_registration" => array:2 [
      "address" => "***"
      "name" => null
    ]
    "workflow_notification" => array:2 [
      "address" => "***"
      "name" => null
    ]
  ]
  "form" => array:1 [
    "store_form_submissions" => "auto"
  ]
  "marketplace" => array:6 [
    "enabled" => true
    "request_timeout" => 30
    "token" => null
    "site_token" => null
    "intelligent_search" => true
    "log_requests" => false
  ]
  "external" => array:2 [
    "intelligent_search_help" => true
    "news" => true
  ]
  "misc" => array:22 [
    "user_timezones" => false
    "package_backup_directory" => "/home/spoonandwhisk/public_html/application/files/trash"
    "display_package_delete_button" => true
    "enable_progressive_page_reindex" => true
    "mobile_theme_id" => 0
    "sitemap_approve_immediately" => true
    "enable_translate_locale_en_us" => false
    "page_search_index_lifetime" => 259200
    "enable_trash_can" => true
    "default_jpeg_image_compression" => 80
    "default_png_image_compression" => 9
    "default_thumbnail_format" => "auto"
    "inplace_image_operations_limit" => 4194304
    "basic_thumbnailer_generation_strategy" => "now"
    "require_version_comments" => false
    "enable_move_blocktypes_across_sets" => false
    "generator_tag_display_in_header" => true
    "login_redirect" => "HOMEPAGE"
    "access_entity_updated" => 1649358238
    "login_redirect_cid" => 0
    "do_page_reindex_check" => false
    "latest_version" => "9.1.3"
  ]
  "theme" => array:2 [
    "compress_preprocessor_output" => false
    "generate_less_sourcemap" => false
  ]
  "updates" => array:6 [
    "enable_auto_update_packages" => false
    "enable_permissions_protection" => true
    "check_threshold" => 172800
    "services" => array:2 [
      "get_available_updates" => "https://marketplace.concretecms.com/tools/update_core"
      "inspect_update" => "https://marketplace.concretecms.com/tools/inspect_update"
    ]
    "skip_core" => false
    "skip_packages" => []
  ]
  "paths" => array:2 [
    "trash" => "/!trash"
    "drafts" => "/!drafts"
  ]
  "icons" => array:5 [
    "page_template" => array:2 [
      "width" => 120
      "height" => 90
    ]
    "theme_thumbnail" => array:2 [
      "width" => 120
      "height" => 90
    ]
    "file_manager_listing" => array:3 [
      "handle" => "file_manager_listing"
      "width" => 120
      "height" => 120
    ]
    "file_manager_detail" => array:3 [
      "handle" => "file_manager_detail"
      "width" => 500
      "height" => 500
    ]
    "user_avatar" => array:3 [
      "width" => 80
      "height" => 80
      "default" => "/updates/concrete-cms-9.1.3_remote_updater/concrete/images/avatar_none.png"
    ]
  ]
  "file_manager" => array:6 [
    "images" => array:6 [
      "use_exif_data_to_rotate_images" => false
      "manipulation_library" => "gd"
      "create_high_dpi_thumbnails" => true
      "preview_image_size" => "small"
      "preview_image_popover" => true
      "svg_sanitization" => array:3 [
        "action" => "sanitize"
        "allowed_tags" => ""
        "allowed_attributes" => ""
      ]
    ]
    "items_per_page_options" => array:5 [
      0 => 10
      1 => 25
      2 => 50
      3 => 100
      4 => 250
    ]
    "results" => 50
    "restrict_max_width" => null
    "restrict_max_height" => null
    "dont_resize_mimetypes" => "image/gif"
  ]
  "search_users" => array:1 [
    "results" => 10
  ]
  "sitemap_xml" => array:3 [
    "file" => "sitemap.xml"
    "frequency" => "weekly"
    "priority" => 0.5
  ]
  "accessibility" => array:3 [
    "toolbar_titles" => false
    "toolbar_large_font" => false
    "toolbar_tooltips" => true
  ]
  "i18n" => array:3 [
    "choose_language_login" => false
    "auto_install_package_languages" => true
    "community_translation" => array:5 [
      "entry_point" => "https://translate.concretecms.org/api"
      "api_token" => ""
      "progress_limit" => 60
      "cache_lifetime" => 3600
      "package_url" => "https://translate.concretecms.org/translate/package"
    ]
  ]
  "urls" => array:11 [
    "concrete" => "http://marketplace.concretecms.com"
    "concrete_secure" => "https://marketplace.concretecms.com"
    "concrete_community" => "https://community.concretecms.com"
    "background_feed" => "//backgroundimages.concretecms.com/wallpaper"
    "privacy_policy" => "//www.concretecms.com/about/legal/privacy-policy"
    "background_feed_secure" => "https://backgroundimages.concrete5.org/wallpaper"
    "background_info" => "http://backgroundimages.concretecms.com/get_image_data.php"
    "videos" => "https://www.youtube.com/user/concrete5cms/videos"
    "activity_slots" => "https://marketing.concretecms.com/ccm/marketing/activity_slots"
    "help" => array:5 [
      "developer" => "https://documentation.concretecms.org/developers"
      "user" => "https://documentation.concretecms.org/user-guide"
      "forum" => "https://forums.concretecms.org"
      "support" => "https://www.concretecms.com/support/hiring-help"
      "remote_search" => "https://documentation.concretecms.org/ccm/documentation/remote_search"
    ]
    "paths" => array:2 [
      "site_page" => "/private/sites"
      "marketplace" => array:10 [
        "projects" => "/profile/projects/"
        "connect" => "/marketplace/connect"
        "connect_success" => "/marketplace/connect/-/connected"
        "connect_validate" => "/marketplace/connect/-/validate"
        "connect_new_token" => "/marketplace/connect/-/generate_token"
        "checkout" => "/cart/-/add"
        "purchases" => "/marketplace/connect/-/get_available_licenses"
        "item_information" => "/marketplace/connect/-/get_item_information"
        "item_free_license" => "/marketplace/connect/-/enable_free_license"
        "remote_item_list" => "/marketplace/"
      ]
    ]
  ]
  "white_label" => array:4 [
    "logo" => false
    "name" => false
    "background_image" => "feed"
    "background_url" => null
  ]
  "session" => array:9 [
    "name" => "CONCRETE"
    "handler" => "file"
    "redis" => array:1 [
      "database" => 1
    ]
    "save_path" => null
    "max_lifetime" => 7200
    "gc_probability" => 1
    "gc_divisor" => 100
    "cookie" => array:7 [
      "cookie_path" => false
      "cookie_lifetime" => 0
      "cookie_domain" => false
      "cookie_secure" => false
      "cookie_httponly" => true
      "cookie_raw" => false
      "cookie_samesite" => null
    ]
    "remember_me" => array:1 [
      "lifetime" => 1209600
    ]
  ]
  "user" => array:8 [
    "registration" => array:10 [
      "enabled" => false
      "type" => "disabled"
      "captcha" => false
      "email_registration" => true
      "display_username_field" => true
      "display_confirm_password_field" => true
      "validate_email" => false
      "validate_email_threshold" => 5184000
      "approval" => false
      "notification" => false
    ]
    "edit_profile" => array:1 [
      "display_username_field" => true
    ]
    "group" => array:1 [
      "badge" => array:1 [
        "default_point_value" => 50
      ]
    ]
    "username" => array:3 [
      "maximum" => 64
      "minimum" => 3
      "allowed_characters" => array:4 [
        "boundary" => "A-Za-z0-9"
        "middle" => "A-Za-z0-9_\."
        "requirement_string" => "A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end)."
        "error_string" => "A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end)."
      ]
    ]
    "password" => array:12 [
      "maximum" => 128
      "minimum" => 8
      "required_special_characters" => 1
      "required_lower_case" => 1
      "required_upper_case" => 1
      "reuse" => 3
      "custom_regex" => []
      "hash_algorithm" => "2y"
      "hash_options" => []
      "hash_portable" => false
      "hash_cost_log2" => 12
      "legacy_salt" => ""
    ]
    "email" => array:2 [
      "test_mx_record" => false
      "strict" => true
    ]
    "private_messages" => array:2 [
      "throttle_max" => 20
      "throttle_max_timespan" => 15
    ]
    "deactivation" => array:4 [
      "enable_login_threshold_deactivation" => false
      "login" => array:1 [
        "threshold" => 120
      ]
      "authentication_failure" => array:3 [
        "enabled" => false
        "amount" => 5
        "duration" => 300
      ]
      "message" => "This user is inactive. Please contact us regarding this account."
    ]
  ]
  "spam" => array:2 [
    "allowlist_group" => 0
    "notify_email" => ""
  ]
  "calendar" => array:1 [
    "colors" => array:2 [
      "text" => "#ffffff"
      "background" => "#3A87AD"
    ]
  ]
  "security" => array:2 [
    "session" => array:3 [
      "invalidate_on_user_agent_mismatch" => true
      "invalidate_on_ip_mismatch" => true
      "invalidate_inactive_users" => array:2 [
        "enabled" => true
        "time" => 1200
      ]
    ]
    "misc" => array:3 [
      "content_security_policy" => false
      "strict_transport_security" => false
      "x_frame_options" => "SAMEORIGIN"
    ]
  ]
  "permissions" => array:2 [
    "forward_to_login" => true
    "model" => "simple"
  ]
  "seo" => array:13 [
    "exclude_words" => "a, an, as, at, before, but, by, for, from, is, in, into, like, of, off, on, onto, per, since, than, the, this, that, to, up, via, with"
    "url_rewriting" => true
    "url_rewriting_all" => false
    "redirect_to_canonical_url" => 0
    "canonical_url" => null
    "canonical_url_alternative" => null
    "trailing_slash" => false
    "title_format" => "%2$s :: %1$s"
    "title_segment_separator" => " :: "
    "page_path_separator" => "-"
    "group_name_separator" => " / "
    "segment_max_length" => 128
    "paging_string" => "ccm_paging_p"
  ]
  "statistics" => array:1 [
    "track_downloads" => true
  ]
  "limits" => array:4 [
    "sitemap_pages" => 100
    "page_search_index_batch" => 200
    "job_queue_batch" => 10
    "style_customizer" => array:2 [
      "size_min" => -50
      "size_max" => 200
    ]
  ]
  "page" => array:1 [
    "search" => array:1 [
      "always_reindex" => false
    ]
  ]
  "editor" => array:1 [
    "plugins" => array:1 [
      "selected" => []
    ]
  ]
  "composer" => array:1 [
    "idle_timeout" => 1
  ]
  "api" => array:2 [
    "enabled" => false
    "grant_types" => array:4 [
      "client_credentials" => true
      "authorization_code" => true
      "password_credentials" => false
      "refresh_token" => true
    ]
  ]
  "notification" => array:2 [
    "server_sent_events" => false
    "mercure" => array:1 [
      "jwt" => array:2 [
        "publisher" => array:1 [
          "expires_at" => "+30 minutes"
        ]
        "subscriber" => array:1 [
          "expires_at" => "+30 minutes"
        ]
      ]
    ]
  ]
  "mutex" => array:2 [
    "semaphore" => array:2 [
      "priority" => 100
      "class" => "Concrete\Core\System\Mutex\SemaphoreMutex"
    ]
    "file_lock" => array:2 [
      "priority" => 50
      "class" => "Concrete\Core\System\Mutex\FileLockMutex"
    ]
  ]
  "social" => array:1 [
    "additional_services" => []
  ]
  "version_db_installed" => "20220908074900"
  "site" => "Spoon & Whisk 2022"
]
app
array:19 [
  "debug" => false
  "namespace" => "Application"
  "aliases" => array:69 [
    "Area" => "\Concrete\Core\Area\Area"
    "Asset" => "\Concrete\Core\Asset\Asset"
    "AssetList" => "\Concrete\Core\Asset\AssetList"
    "AttributeSet" => "\Concrete\Core\Attribute\Set"
    "AuthenticationType" => "\Concrete\Core\Authentication\AuthenticationType"
    "Block" => "\Concrete\Core\Block\Block"
    "BlockType" => "\Concrete\Core\Block\BlockType\BlockType"
    "BlockTypeList" => "\Concrete\Core\Block\BlockType\BlockTypeList"
    "BlockTypeSet" => "\Concrete\Core\Block\BlockType\Set"
    "Cache" => "\Concrete\Core\Cache\Cache"
    "Request" => "\Concrete\Core\Http\Request"
    "CacheLocal" => "\Concrete\Core\Cache\CacheLocal"
    "Collection" => "\Concrete\Core\Page\Collection\Collection"
    "CollectionAttributeKey" => "\Concrete\Core\Attribute\Key\CollectionKey"
    "CollectionVersion" => "\Concrete\Core\Page\Collection\Version\Version"
    "ConcreteAuthenticationTypeController" => "\Concrete\Authentication\Concrete\Controller"
    "Controller" => "\Concrete\Core\Controller\Controller"
    "Conversation" => "\Concrete\Core\Conversation\Conversation"
    "ConversationEditor" => "\Concrete\Core\Conversation\Editor\Editor"
    "ConversationFlagType" => "\Concrete\Core\Conversation\FlagType\FlagType"
    "ConversationMessage" => "\Concrete\Core\Conversation\Message\Message"
    "ConversationRatingType" => "\Concrete\Core\Conversation\Rating\Type"
    "Environment" => "\Concrete\Core\Foundation\Environment"
    "FacebookAuthenticationTypeController" => "\Concrete\Authentication\Facebook\Controller"
    "File" => "\Concrete\Core\File\File"
    "FileAttributeKey" => "\Concrete\Core\Attribute\Key\FileKey"
    "FileImporter" => "\Concrete\Core\File\Importer"
    "FileList" => "\Concrete\Core\File\FileList"
    "FilePermissions" => "\Concrete\Core\Legacy\FilePermissions"
    "FileSet" => "\Concrete\Core\File\Set\Set"
    "GlobalArea" => "\Concrete\Core\Area\GlobalArea"
    "Group" => "\Concrete\Core\User\Group\Group"
    "GroupList" => "\Concrete\Core\User\Group\GroupList"
    "GroupSet" => "\Concrete\Core\User\Group\GroupSet"
    "GroupSetList" => "\Concrete\Core\User\Group\GroupSetList"
    "GroupTree" => "\Concrete\Core\Tree\Type\Group"
    "GroupTreeNode" => "\Concrete\Core\Tree\Node\Type\Group"
    "Job" => "\Concrete\Core\Job\Job"
    "JobSet" => "\Concrete\Core\Job\Set"
    "Loader" => "\Concrete\Core\Legacy\Loader"
    "Localization" => "\Concrete\Core\Localization\Localization"
    "Marketplace" => "\Concrete\Core\Marketplace\Marketplace"
    "Package" => "\Concrete\Core\Package\Package"
    "Page" => "\Concrete\Core\Page\Page"
    "PageCache" => "\Concrete\Core\Cache\Page\PageCache"
    "PageController" => "\Concrete\Core\Page\Controller\PageController"
    "PageEditResponse" => "\Concrete\Core\Page\EditResponse"
    "PageList" => "\Concrete\Core\Page\PageList"
    "PageTemplate" => "\Concrete\Core\Page\Template"
    "PageTheme" => "\Concrete\Core\Page\Theme\Theme"
    "PageType" => "\Concrete\Core\Page\Type\Type"
    "PermissionAccess" => "\Concrete\Core\Permission\Access\Access"
    "PermissionKey" => "\Concrete\Core\Permission\Key\Key"
    "PermissionKeyCategory" => "\Concrete\Core\Permission\Category"
    "Permissions" => "\Concrete\Core\Permission\Checker"
    "Redirect" => "\Concrete\Core\Routing\Redirect"
    "RedirectResponse" => "\Concrete\Core\Routing\RedirectResponse"
    "Response" => "\Concrete\Core\Http\Response"
    "Router" => "\Concrete\Core\Routing\Router"
    "SinglePage" => "\Concrete\Core\Page\Single"
    "Stack" => "\Concrete\Core\Page\Stack\Stack"
    "StackList" => "\Concrete\Core\Page\Stack\StackList"
    "StartingPointPackage" => "\Concrete\Core\Package\StartingPointPackage"
    "TaskPermission" => "\Concrete\Core\Legacy\TaskPermission"
    "User" => "\Concrete\Core\User\User"
    "UserAttributeKey" => "\Concrete\Core\Attribute\Key\UserKey"
    "UserList" => "\Concrete\Core\User\UserList"
    "View" => "\Concrete\Core\View\View"
    "Workflow" => "\Concrete\Core\Workflow\Workflow"
  ]
  "providers" => array:59 [
    "core_system" => "\Concrete\Core\System\SystemServiceProvider"
    "core_events" => "\Concrete\Core\Events\EventsServiceProvider"
    "core_logging" => "\Concrete\Core\Logging\LoggingServiceProvider"
    "core_router" => "Concrete\Core\Routing\RoutingServiceProvider"
    "core_database" => "\Concrete\Core\Database\DatabaseServiceProvider"
    "core_messenger" => "\Concrete\Core\Messenger\MessengerServiceProvider"
    "core_cache" => "\Concrete\Core\Cache\CacheServiceProvider"
    "core_file" => "\Concrete\Core\File\FileServiceProvider"
    "core_encryption" => "\Concrete\Core\Encryption\EncryptionServiceProvider"
    "core_validation" => "\Concrete\Core\Validation\ValidationServiceProvider"
    "core_localization" => "\Concrete\Core\Localization\LocalizationServiceProvider"
    "core_exporter" => "\Concrete\Core\Export\ExportServiceProvider"
    "core_multilingual" => "\Concrete\Core\Multilingual\MultilingualServiceProvider"
    "core_feed" => "\Concrete\Core\Feed\FeedServiceProvider"
    "core_html" => "\Concrete\Core\Html\HtmlServiceProvider"
    "core_editor" => "\Concrete\Core\Editor\EditorServiceProvider"
    "core_mail" => "\Concrete\Core\Mail\MailServiceProvider"
    "core_application" => "\Concrete\Core\Application\ApplicationServiceProvider"
    "core_utility" => "\Concrete\Core\Utility\UtilityServiceProvider"
    "core_content_importer" => "\Concrete\Core\Backup\ContentImporter\ContentImporterServiceProvider"
    "core_manager_grid_framework" => "\Concrete\Core\Page\Theme\GridFramework\ManagerServiceProvider"
    "core_manager_pagination_view" => "\Concrete\Core\Search\Pagination\View\ManagerServiceProvider"
    "core_manager_page_type" => "\Concrete\Core\Page\Type\ManagerServiceProvider"
    "core_manager_layout_preset_provider" => "\Concrete\Core\Area\Layout\Preset\Provider\ManagerServiceProvider"
    "core_manager_search_fields" => "\Concrete\Core\Search\Field\ManagerServiceProvider"
    "core_permissions" => "\Concrete\Core\Permission\PermissionServiceProvider"
    "core_automation" => "\Concrete\Core\Command\Task\ServiceProvider"
    "core_api" => "Concrete\Core\Api\ApiServiceProvider"
    "core_form" => "\Concrete\Core\Form\FormServiceProvider"
    "core_session" => "\Concrete\Core\Session\SessionServiceProvider"
    "core_cookie" => "\Concrete\Core\Cookie\CookieServiceProvider"
    "core_http" => "\Concrete\Core\Http\HttpServiceProvider"
    "core_whoops" => "\Concrete\Core\Error\Provider\WhoopsServiceProvider"
    "core_element" => "\Concrete\Core\Filesystem\FilesystemServiceProvider"
    "core_notification" => "\Concrete\Core\Notification\NotificationServiceProvider"
    "core_mercure" => "\Concrete\Core\Notification\Events\MercureServiceProvider"
    "core_package" => "\Concrete\Core\Package\PackageServiceProvider"
    "core_url" => "\Concrete\Core\Url\UrlServiceProvider"
    "core_devices" => "\Concrete\Core\Device\DeviceServiceProvider"
    "core_user" => "\Concrete\Core\User\UserServiceProvider"
    "core_service_manager" => "\Concrete\Core\Service\Manager\ServiceManagerServiceProvider"
    "core_site" => "\Concrete\Core\Site\ServiceProvider"
    "core_search" => "Concrete\Core\Search\SearchServiceProvider"
    "core_geolocator" => "Concrete\Core\Geolocator\GeolocatorServiceProvider"
    "core_calendar" => "Concrete\Core\Calendar\CalendarServiceProvider"
    "core_summary" => "\Concrete\Core\Summary\ServiceProvider"
    "core_boards" => "\Concrete\Core\Board\ServiceProvider"
    "core_page" => "Concrete\Core\Page\PageServiceProvider"
    "core_oauth" => "\Concrete\Core\Authentication\Type\OAuth\ServiceProvider"
    "core_auth_community" => "\Concrete\Core\Authentication\Type\Community\ServiceProvider"
    "core_auth_google" => "\Concrete\Core\Authentication\Type\Google\ServiceProvider"
    "core_auth_external_concrete" => "\Concrete\Core\Authentication\Type\ExternalConcrete\ServiceProvider"
    "core_validator" => "\Concrete\Core\Validator\ValidatorServiceProvider"
    "core_validator_password" => "\Concrete\Core\Validator\PasswordValidatorServiceProvider"
    "core_validator_user_name" => "\Concrete\Core\Validator\UserNameValidatorServiceProvider"
    "core_validator_user_email" => "\Concrete\Core\Validator\UserEmailValidatorServiceProvider"
    "core_attribute" => "\Concrete\Core\Attribute\AttributeServiceProvider"
    "core_express" => "\Concrete\Core\Express\ExpressServiceProvider"
    "core_usagetracker" => "\Concrete\Core\Statistics\UsageTracker\ServiceProvider"
  ]
  "facades" => array:15 [
    "Core" => "\Concrete\Core\Support\Facade\Application"
    "Session" => "\Concrete\Core\Support\Facade\Session"
    "Cookie" => "\Concrete\Core\Support\Facade\Cookie"
    "Database" => "\Concrete\Core\Support\Facade\Database"
    "ORM" => "\Concrete\Core\Support\Facade\DatabaseORM"
    "Events" => "\Concrete\Core\Support\Facade\Events"
    "Express" => "\Concrete\Core\Support\Facade\Express"
    "Route" => "\Concrete\Core\Support\Facade\Route"
    "Site" => "\Concrete\Core\Support\Facade\Site"
    "UserInfo" => "\Concrete\Core\Support\Facade\UserInfo"
    "Element" => "\Concrete\Core\Support\Facade\Element"
    "Log" => "\Concrete\Core\Support\Facade\Log"
    "Image" => "\Concrete\Core\Support\Facade\Image"
    "Config" => "\Concrete\Core\Support\Facade\Config"
    "URL" => "\Concrete\Core\Support\Facade\Url"
  ]
  "entity_namespaces" => array:1 [
    "calendar" => "Concrete\Core\Entity\Calendar"
  ]
  "package_items" => array:37 [
    0 => "antispam_library"
    1 => "attribute_key_category"
    2 => "attribute_key"
    3 => "attribute_set"
    4 => "attribute_type"
    5 => "authentication_type"
    6 => "block_type"
    7 => "block_type_set"
    8 => "express_entity"
    9 => "captcha_library"
    10 => "container"
    11 => "content_editor_snippet"
    12 => "conversation_rating_type"
    13 => "geolocator_library"
    14 => "group"
    15 => "group_set"
    16 => "ip_access_control_category"
    17 => "job"
    18 => "mail_importer"
    19 => "permission_access_entity_type"
    20 => "permission_key"
    21 => "permission_key_category"
    22 => "page_template"
    23 => "site_type"
    24 => "page_type"
    25 => "page_type_composer_control_type"
    26 => "page_type_publish_target_type"
    27 => "single_page"
    28 => "storage_location_type"
    29 => "theme"
    30 => "workflow"
    31 => "workflow_progress_category"
    32 => "workflow_type"
    33 => "external_file_provider_type"
    34 => "image_editor"
    35 => "task"
    36 => "task_set"
  ]
  "importer_routines" => array:60 [
    0 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSiteTypesRoutine"
    1 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportGroupsRoutine"
    2 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSinglePageStructureRoutine"
    3 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportStacksStructureRoutine"
    4 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBlockTypesRoutine"
    5 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBlockTypeSetsRoutine"
    6 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportConversationEditorsRoutine"
    7 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportConversationRatingTypesRoutine"
    8 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportConversationFlagTypesRoutine"
    9 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageTypePublishTargetTypesRoutine"
    10 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageTypeComposerControlTypesRoutine"
    11 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBannedWordsRoutine"
    12 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSocialLinksRoutine"
    13 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportDesignTagsRoutine"
    14 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportTreesRoutine"
    15 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportFileImportantThumbnailTypesRoutine"
    16 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBoardDataSourcesRoutine"
    17 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBoardTemplatesRoutine"
    18 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBoardSlotTemplatesRoutine"
    19 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportAttributeCategoriesRoutine"
    20 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportAttributeTypesRoutine"
    21 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportWorkflowTypesRoutine"
    22 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportWorkflowProgressCategoriesRoutine"
    23 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportWorkflowsRoutine"
    24 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportExpressEntitiesRoutine"
    25 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportAttributesRoutine"
    26 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportAttributeSetsRoutine"
    27 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportExpressAssociationsRoutine"
    28 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportExpressFormsRoutine"
    29 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportExpressRelationsRoutine"
    30 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportThemesRoutine"
    31 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPermissionKeyCategoriesRoutine"
    32 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPermissionAccessEntityTypesRoutine"
    33 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPermissionsRoutine"
    34 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportTasksRoutine"
    35 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportTaskSetsRoutine"
    36 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportJobsRoutine"
    37 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportJobSetsRoutine"
    38 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageTemplatesRoutine"
    39 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportContainersRoutine"
    40 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSummaryCategoriesRoutine"
    41 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSummaryFieldsRoutine"
    42 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSummaryTemplatesRoutine"
    43 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageTypesBaseRoutine"
    44 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageStructureRoutine"
    45 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBoardsRoutine"
    46 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageFeedsRoutine"
    47 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageTypeTargetsRoutine"
    48 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageTypeDefaultsRoutine"
    49 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSiteTypeSkeletonsRoutine"
    50 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSinglePageContentRoutine"
    51 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportStacksContentRoutine"
    52 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageContentRoutine"
    53 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPackagesRoutine"
    54 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportConfigValuesRoutine"
    55 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSystemCaptchaLibrariesRoutine"
    56 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSystemContentEditorSnippetsRoutine"
    57 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportGeolocatorsRoutine"
    58 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportIpAccessControlCategoriesRoutine"
    59 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\PopulateBoardInstancesRoutine"
  ]
  "routes" => []
  "theme_paths" => array:8 [
    "/dashboard" => "dashboard"
    "/dashboard/*" => "dashboard"
    "/frontend/install" => "concrete"
    "/login" => "concrete"
    "/oauth/authorize" => "concrete"
    "/register" => "concrete"
    "/frontend/maintenance_mode" => "concrete"
    "/upgrade" => "concrete"
  ]
  "file_types" => array:39 [
    "JPEG" => array:5 [
      0 => "jpg,jpeg,jpe"
      1 => 1
      2 => "image"
      3 => "image"
      4 => "image"
    ]
    "GIF" => array:5 [
      0 => "gif"
      1 => 1
      2 => "image"
      3 => "image"
      4 => "image"
    ]
    "PNG" => array:5 [
      0 => "png"
      1 => 1
      2 => "image"
      3 => "image"
      4 => "image"
    ]
    "WebP" => array:5 [
      0 => "webp"
      1 => 1
      2 => "image"
      3 => "image"
      4 => "image"
    ]
    "Windows Bitmap" => array:3 [
      0 => "bmp"
      1 => 1
      2 => "image"
    ]
    "TIFF" => array:3 [
      0 => "tif,tiff"
      1 => 1
      2 => "image"
    ]
    "HTML" => array:2 [
      0 => "htm,html"
      1 => 5
    ]
    "Flash" => array:3 [
      0 => "swf"
      1 => 1
      2 => "image"
    ]
    "Icon" => array:2 [
      0 => "ico"
      1 => 1
    ]
    "SVG" => array:4 [
      0 => "svg"
      1 => 1
      2 => false
      3 => "image"
    ]
    "Windows Video" => array:4 [
      0 => "asf,wmv"
      1 => 2
      2 => false
      3 => "video"
    ]
    "Quicktime" => array:4 [
      0 => "mov,qt"
      1 => 2
      2 => false
      3 => "video"
    ]
    "AVI" => array:4 [
      0 => "avi"
      1 => 2
      2 => false
      3 => "video"
    ]
    "3GP" => array:4 [
      0 => "3gp"
      1 => 2
      2 => false
      3 => "video"
    ]
    "Plain Text" => array:4 [
      0 => "txt"
      1 => 3
      2 => false
      3 => "text"
    ]
    "CSV" => array:4 [
      0 => "csv"
      1 => 3
      2 => false
      3 => "text"
    ]
    "XML" => array:2 [
      0 => "xml"
      1 => 3
    ]
    "PHP" => array:2 [
      0 => "php"
      1 => 3
    ]
    "MS Word" => array:2 [
      0 => "doc,docx"
      1 => 5
    ]
    "Stylesheet" => array:2 [
      0 => "css"
      1 => 3
    ]
    "MP4" => array:4 [
      0 => "mp4"
      1 => 2
      2 => false
      3 => "video"
    ]
    "FLV" => array:3 [
      0 => "flv"
      1 => 2
      2 => "flv"
    ]
    "MP3" => array:4 [
      0 => "mp3"
      1 => 4
      2 => false
      3 => "audio"
    ]
    "MP4 Audio" => array:4 [
      0 => "m4a"
      1 => 4
      2 => false
      3 => "audio"
    ]
    "Realaudio" => array:2 [
      0 => "ra,ram"
      1 => 4
    ]
    "Windows Audio" => array:2 [
      0 => "wma"
      1 => 4
    ]
    "Rich Text" => array:2 [
      0 => "rtf"
      1 => 5
    ]
    "JavaScript" => array:2 [
      0 => "js"
      1 => 3
    ]
    "PDF" => array:2 [
      0 => "pdf"
      1 => 5
    ]
    "Photoshop" => array:2 [
      0 => "psd"
      1 => 1
    ]
    "MPEG" => array:2 [
      0 => "mpeg,mpg"
      1 => 2
    ]
    "MS Excel" => array:2 [
      0 => "xla,xls,xlsx,xlt,xlw"
      1 => 5
    ]
    "MS Powerpoint" => array:2 [
      0 => "pps,ppt,pptx,pot"
      1 => 5
    ]
    "TAR Archive" => array:2 [
      0 => "tar"
      1 => 6
    ]
    "Zip Archive" => array:2 [
      0 => "zip"
      1 => 6
    ]
    "GZip Archive" => array:2 [
      0 => "gz,gzip"
      1 => 6
    ]
    "OGG" => array:4 [
      0 => "ogg"
      1 => 4
      2 => false
      3 => "audio"
    ]
    "OGG Video" => array:4 [
      0 => "ogv"
      1 => 2
      2 => false
      3 => "video"
    ]
    "WebM" => array:4 [
      0 => "webm"
      1 => 2
      2 => false
      3 => "video"
    ]
  ]
  "importer_attributes" => array:3 [
    "width" => array:3 [
      0 => "Width"
      1 => "NUMBER"
      2 => false
    ]
    "height" => array:3 [
      0 => "Height"
      1 => "NUMBER"
      2 => false
    ]
    "duration" => array:3 [
      0 => "Duration"
      1 => "NUMBER"
      2 => false
    ]
  ]
  "import_processors" => array:7 [
    "ccm.file.exists" => "Concrete\Core\File\Import\Processor\FileExistingValidator"
    "ccm.file.extension" => "Concrete\Core\File\Import\Processor\FileExtensionValidator"
    "ccm.image.autorotate" => "Concrete\Core\File\Import\Processor\ImageAutorotator"
    "ccm.image.svg" => "Concrete\Core\File\Import\Processor\SvgProcessor"
    "ccm.image.resize" => "Concrete\Core\File\Import\Processor\ImageSizeConstrain"
    "ccm.image.thumbnails" => "Concrete\Core\File\Import\Processor\ThumbnailGenerator"
    "ccm.image.exif_data" => "Concrete\Core\File\Import\Processor\ExifDataExtractor"
  ]
  "assets" => array:34 [
    "jquery" => array:1 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/jquery.js"
        2 => array:3 [
          "position" => "H"
          "minify" => false
          "combine" => false
        ]
      ]
    ]
    "vue" => array:1 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/vue.js"
        2 => array:2 [
          "minify" => false
          "combine" => false
        ]
      ]
    ]
    "bootstrap" => array:1 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/bootstrap.js"
        2 => array:4 [
          "position" => "F"
          "minify" => false
          "combine" => false
          "version" => "5.0.0"
        ]
      ]
    ]
    "moment" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/moment.js"
        2 => array:3 [
          "minify" => false
          "combine" => false
          "version" => "2.24.0"
        ]
      ]
      1 => array:2 [
        0 => "javascript-localized"
        1 => "/ccm/assets/localization/moment/js"
      ]
    ]
    "ckeditor" => array:1 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/ckeditor/ckeditor.js"
        2 => array:2 [
          "minify" => false
          "combine" => false
        ]
      ]
    ]
    "ckeditor/concrete" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/ckeditor/concrete.js"
        2 => array:2 [
          "minify" => false
          "combine" => false
        ]
      ]
      1 => array:2 [
        0 => "css"
        1 => "css/ckeditor/concrete.css"
      ]
    ]
    "fullcalendar" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/fullcalendar.js"
        2 => array:2 [
          "minify" => false
          "combine" => false
        ]
      ]
      1 => array:2 [
        0 => "css"
        1 => "css/fullcalendar.css"
      ]
    ]
    "font-awesome" => array:1 [
      0 => array:3 [
        0 => "css"
        1 => "css/fontawesome/all.css"
        2 => array:2 [
          "minify" => false
          "combine" => false
        ]
      ]
    ]
    "google-charts" => array:1 [
      0 => array:3 [
        0 => "javascript"
        1 => "https://www.gstatic.com/charts/loader.js"
        2 => array:1 [
          "local" => false
        ]
      ]
    ]
    "core/cms" => array:3 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/cms.js"
        2 => array:2 [
          "minify" => false
          "combine" => false
        ]
      ]
      1 => array:2 [
        0 => "javascript-localized"
        1 => "/ccm/assets/localization/core/js"
      ]
      2 => array:3 [
        0 => "css"
        1 => "css/cms.css"
        2 => array:2 [
          "minify" => false
          "combine" => false
        ]
      ]
    ]
    "feature/accordions/frontend" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/features/accordions/frontend.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:3 [
        0 => "css"
        1 => "css/features/accordions/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/account/frontend" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/features/account/frontend.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:3 [
        0 => "css"
        1 => "css/features/account/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/profile/frontend" => array:1 [
      0 => array:3 [
        0 => "css"
        1 => "css/features/profile/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/desktop/frontend" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/features/desktop/frontend.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:3 [
        0 => "css"
        1 => "css/features/desktop/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/boards/frontend" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/features/boards/frontend.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:3 [
        0 => "css"
        1 => "css/features/boards/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/calendar/frontend" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/features/calendar/frontend.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:3 [
        0 => "css"
        1 => "css/features/calendar/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/conversations/frontend" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/features/conversations/frontend.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:3 [
        0 => "css"
        1 => "css/features/conversations/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "ace" => array:1 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/ace/ace.js"
        2 => array:2 [
          "minify" => false
          "combine" => false
        ]
      ]
    ]
    "feature/documents/frontend" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/features/documents/frontend.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:3 [
        0 => "css"
        1 => "css/features/documents/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/testimonials/frontend" => array:1 [
      0 => array:3 [
        0 => "css"
        1 => "css/features/testimonials/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/faq/frontend" => array:1 [
      0 => array:3 [
        0 => "css"
        1 => "css/features/faq/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/basics/frontend" => array:1 [
      0 => array:3 [
        0 => "css"
        1 => "css/features/basics/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/navigation/frontend" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/features/navigation/frontend.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:3 [
        0 => "css"
        1 => "css/features/navigation/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/imagery/frontend" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/features/imagery/frontend.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:3 [
        0 => "css"
        1 => "css/features/imagery/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/express/frontend" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/features/express/frontend.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:3 [
        0 => "css"
        1 => "css/features/express/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/search/frontend" => array:1 [
      0 => array:3 [
        0 => "css"
        1 => "css/features/search/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/social/frontend" => array:1 [
      0 => array:3 [
        0 => "css"
        1 => "css/features/social/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/video/frontend" => array:1 [
      0 => array:3 [
        0 => "css"
        1 => "css/features/video/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/taxonomy/frontend" => array:1 [
      0 => array:3 [
        0 => "css"
        1 => "css/features/taxonomy/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/maps/frontend" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/features/maps/frontend.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:3 [
        0 => "css"
        1 => "css/features/maps/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "feature/multilingual/frontend" => array:2 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/features/multilingual/frontend.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:3 [
        0 => "css"
        1 => "css/features/multilingual/frontend.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "tui-image-editor" => array:2 [
      0 => array:2 [
        0 => "css"
        1 => "css/tui-image-editor.css"
      ]
      1 => array:3 [
        0 => "javascript"
        1 => "js/tui-image-editor.js"
        2 => array:2 [
          "minify" => false
          "combine" => false
        ]
      ]
    ]
    "core/translator" => array:3 [
      0 => array:3 [
        0 => "javascript"
        1 => "js/translator.js"
        2 => array:1 [
          "minify" => false
        ]
      ]
      1 => array:2 [
        0 => "javascript-localized"
        1 => "/ccm/assets/localization/translator/js"
      ]
      2 => array:3 [
        0 => "css"
        1 => "css/translator.css"
        2 => array:1 [
          "minify" => false
        ]
      ]
    ]
    "htmldiff" => array:1 [
      0 => array:2 [
        0 => "css"
        1 => "css/htmldiff.css"
      ]
    ]
  ]
  "asset_groups" => array:32 [
    "jquery" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "javascript"
          1 => "jquery"
        ]
      ]
    ]
    "bootstrap" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "javascript"
          1 => "bootstrap"
        ]
      ]
    ]
    "moment" => array:1 [
      0 => array:2 [
        0 => array:2 [
          0 => "javascript"
          1 => "moment"
        ]
        1 => array:2 [
          0 => "javascript-localized"
          1 => "moment"
        ]
      ]
    ]
    "vue" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "javascript"
          1 => "vue"
        ]
      ]
    ]
    "font-awesome" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "css"
          1 => "font-awesome"
        ]
      ]
    ]
    "ckeditor" => array:1 [
      0 => array:3 [
        0 => array:2 [
          0 => "javascript"
          1 => "ckeditor"
        ]
        1 => array:2 [
          0 => "javascript"
          1 => "ckeditor/concrete"
        ]
        2 => array:2 [
          0 => "css"
          1 => "ckeditor/concrete"
        ]
      ]
    ]
    "ace" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "javascript"
          1 => "ace"
        ]
      ]
    ]
    "core/cms" => array:1 [
      0 => array:8 [
        0 => array:2 [
          0 => "javascript"
          1 => "jquery"
        ]
        1 => array:2 [
          0 => "javascript"
          1 => "bootstrap"
        ]
        2 => array:2 [
          0 => "javascript"
          1 => "moment"
        ]
        3 => array:2 [
          0 => "javascript"
          1 => "vue"
        ]
        4 => array:2 [
          0 => "css"
          1 => "font-awesome"
        ]
        5 => array:2 [
          0 => "javascript"
          1 => "core/cms"
        ]
        6 => array:2 [
          0 => "javascript-localized"
          1 => "core/cms"
        ]
        7 => array:2 [
          0 => "css"
          1 => "core/cms"
        ]
      ]
    ]
    "fullcalendar" => array:1 [
      0 => array:2 [
        0 => array:2 [
          0 => "javascript"
          1 => "fullcalendar"
        ]
        1 => array:2 [
          0 => "css"
          1 => "fullcalendar"
        ]
      ]
    ]
    "tui-image-editor" => array:1 [
      0 => array:2 [
        0 => array:2 [
          0 => "css"
          1 => "tui-image-editor"
        ]
        1 => array:2 [
          0 => "javascript"
          1 => "tui-image-editor"
        ]
      ]
    ]
    "core/translator" => array:1 [
      0 => array:3 [
        0 => array:2 [
          0 => "css"
          1 => "core/translator"
        ]
        1 => array:2 [
          0 => "javascript"
          1 => "core/translator"
        ]
        2 => array:2 [
          0 => "javascript-localized"
          1 => "core/translator"
        ]
      ]
    ]
    "feature/accordions/frontend" => array:1 [
      0 => array:2 [
        0 => array:2 [
          0 => "javascript"
          1 => "feature/accordions/frontend"
        ]
        1 => array:2 [
          0 => "css"
          1 => "feature/accordions/frontend"
        ]
      ]
    ]
    "feature/account/frontend" => array:1 [
      0 => array:2 [
        0 => array:2 [
          0 => "javascript"
          1 => "feature/account/frontend"
        ]
        1 => array:2 [
          0 => "css"
          1 => "feature/account/frontend"
        ]
      ]
    ]
    "feature/profile/frontend" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "css"
          1 => "feature/profile/frontend"
        ]
      ]
    ]
    "feature/desktop/frontend" => array:1 [
      0 => array:2 [
        0 => array:2 [
          0 => "javascript"
          1 => "feature/desktop/frontend"
        ]
        1 => array:2 [
          0 => "css"
          1 => "feature/desktop/frontend"
        ]
      ]
    ]
    "feature/calendar/frontend" => array:1 [
      0 => array:3 [
        0 => array:2 [
          0 => "javascript"
          1 => "moment"
        ]
        1 => array:2 [
          0 => "javascript"
          1 => "feature/calendar/frontend"
        ]
        2 => array:2 [
          0 => "css"
          1 => "feature/calendar/frontend"
        ]
      ]
    ]
    "feature/conversations/frontend" => array:1 [
      0 => array:2 [
        0 => array:2 [
          0 => "javascript"
          1 => "feature/conversations/frontend"
        ]
        1 => array:2 [
          0 => "css"
          1 => "feature/conversations/frontend"
        ]
      ]
    ]
    "feature/documents/frontend" => array:1 [
      0 => array:3 [
        0 => array:2 [
          0 => "javascript"
          1 => "feature/documents/frontend"
        ]
        1 => array:2 [
          0 => "javascript-localized"
          1 => "core/cms"
        ]
        2 => array:2 [
          0 => "css"
          1 => "feature/documents/frontend"
        ]
      ]
    ]
    "feature/faq/frontend" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "css"
          1 => "feature/faq/frontend"
        ]
      ]
    ]
    "feature/imagery/frontend" => array:1 [
      0 => array:2 [
        0 => array:2 [
          0 => "javascript"
          1 => "feature/imagery/frontend"
        ]
        1 => array:2 [
          0 => "css"
          1 => "feature/imagery/frontend"
        ]
      ]
    ]
    "feature/navigation/frontend" => array:1 [
      0 => array:2 [
        0 => array:2 [
          0 => "javascript"
          1 => "feature/navigation/frontend"
        ]
        1 => array:2 [
          0 => "css"
          1 => "feature/navigation/frontend"
        ]
      ]
    ]
    "feature/video/frontend" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "css"
          1 => "feature/video/frontend"
        ]
      ]
    ]
    "feature/social/frontend" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "css"
          1 => "feature/social/frontend"
        ]
      ]
    ]
    "feature/express/frontend" => array:1 [
      0 => array:2 [
        0 => array:2 [
          0 => "javascript"
          1 => "feature/express/frontend"
        ]
        1 => array:2 [
          0 => "css"
          1 => "feature/express/frontend"
        ]
      ]
    ]
    "feature/maps/frontend" => array:1 [
      0 => array:2 [
        0 => array:2 [
          0 => "javascript"
          1 => "feature/maps/frontend"
        ]
        1 => array:2 [
          0 => "css"
          1 => "feature/maps/frontend"
        ]
      ]
    ]
    "feature/multilingual/frontend" => array:1 [
      0 => array:2 [
        0 => array:2 [
          0 => "javascript"
          1 => "feature/multilingual/frontend"
        ]
        1 => array:2 [
          0 => "css"
          1 => "feature/multilingual/frontend"
        ]
      ]
    ]
    "feature/search/frontend" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "css"
          1 => "feature/search/frontend"
        ]
      ]
    ]
    "feature/taxonomy/frontend" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "css"
          1 => "feature/taxonomy/frontend"
        ]
      ]
    ]
    "feature/testimonials/frontend" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "css"
          1 => "feature/testimonials/frontend"
        ]
      ]
    ]
    "feature/basics/frontend" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "css"
          1 => "feature/basics/frontend"
        ]
      ]
    ]
    "core/conversation" => array:2 [
      0 => []
      1 => true
    ]
    "htmldiff" => array:1 [
      0 => array:1 [
        0 => array:2 [
          0 => "css"
          1 => "htmldiff"
        ]
      ]
    ]
  ]
  "http_client" => array:21 [
    "sslverifypeer" => true
    "sslverifypeername" => false
    "sslcafile" => null
    "sslcapath" => null
    "connecttimeout" => 5
    "timeout" => 60
    "keepalive" => false
    "maxredirects" => 5
    "rfc3986strict" => false
    "sslcert" => null
    "sslpassphrase" => null
    "storeresponse" => true
    "streamtmpdir" => null
    "strictredirects" => false
    "useragent" => "Concrete CMS"
    "encodecookies" => true
    "httpversion" => "1.1"
    "ssltransport" => "tls"
    "sslallowselfsigned" => false
    "persistent" => false
    "logger" => null
  ]
  "middleware" => array:5 [
    0 => array:2 [
      "priority" => 1
      "class" => "Concrete\Core\Http\Middleware\ApplicationMiddleware"
    ]
    "core_cookie" => "Concrete\Core\Http\Middleware\CookieMiddleware"
    "core_csp" => "Concrete\Core\Http\Middleware\ContentSecurityPolicyMiddleware"
    "core_hsts" => "Concrete\Core\Http\Middleware\StrictTransportSecurityMiddleware"
    "core_xframeoptions" => "Concrete\Core\Http\Middleware\FrameOptionsMiddleware"
  ]
  "command_handlers" => []
  "server_timezone" => "America/New_York"
]
empty
empty
empty
empty
Key Value
SPOON_MENU
array:2 [
  "Catalog" => """
        <div class="category"><!-- category wrapper <div> -->\n
        <ul><li>\n
        <a onclick="toggleCategory(this, 'cat_1');">\n
            <img src="/application/themes/spoon/images/menu_icons/bakeware.svg" alt="Bakeware Icon" />Bakeware</a>\n
        <div id="cat_1" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Bakeware/Baking-%26amp%3B-Pastry-Tools/28/">Baking & Pastry Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Bakeware/Baking-Dishes/29/">Baking Dishes</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Bakeware/Bread-%26amp%3B-Loaf-Pans/30/">Bread & Loaf Pans</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Bakeware/Cake-Pans/31/">Cake Pans</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Bakeware/Cookie-%26amp%3B-Baking-Sheets/32/">Cookie & Baking Sheets</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Bakeware/Cookie-Cutters/33/">Cookie Cutters</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Bakeware/Cupcake-%26amp%3B-Muffin-Pans/34/">Cupcake & Muffin Pans</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Bakeware/Pie-Dishes-%26amp%3B-Tart-Pans/35/">Pie Dishes & Tart Pans</a></li></ul>\n
        </div>\n
    </li><li>\n
        <a onclick="toggleCategory(this, 'cat_3');">\n
            <img src="/application/themes/spoon/images/menu_icons/barware.svg" alt="Barware Icon" />Barware</a>\n
        <div id="cat_3" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Barware/Bar-Tools/40/">Bar Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Barware/Decanters/42/">Decanters</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Barware/Glassware/339/">Glassware</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Barware/Wine-Tools/44/">Wine Tools</a></li></ul>\n
        </div>\n
    </li><li>\n
        <a onclick="toggleCategory(this, 'cat_178');">\n
            <img src="/application/themes/spoon/images/menu_icons/carts.svg" alt="Carts Icon" />Carts</a>\n
        <div id="cat_178" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Carts/kitchen-Carts/331/">kitchen Carts</a></li></ul>\n
        </div>\n
    </li><li>\n
        <a onclick="toggleCategory(this, 'cat_7');">\n
            <img src="/application/themes/spoon/images/menu_icons/cleaning.svg" alt="Cleaning Icon" />Cleaning</a>\n
        <div id="cat_7" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cleaning/Cleaners-%26amp%3B-Oils/48/">Cleaners & Oils</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cleaning/Cleaning-Tools/50/">Cleaning Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cleaning/Dish-Racks-%26amp%3B-Brushes/51/">Dish Racks & Brushes</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cleaning/Kitchen-Towels/52/">Kitchen Towels</a></li></ul>\n
        </div>\n
    </li><li>\n
        <a onclick="toggleCategory(this, 'cat_8');">\n
            <img src="/application/themes/spoon/images/menu_icons/coffee_tea.svg" alt="Coffee &amp; Tea Icon" />Coffee &amp; Tea</a>\n
        <div id="cat_8" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Coffee-%26amp%3Bamp%3B-Tea/Coffee-%26amp%3B-Espresso-Makers/53/">Coffee & Espresso Makers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Coffee-%26amp%3Bamp%3B-Tea/Coffee-Accessories/54/">Coffee Accessories</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Coffee-%26amp%3Bamp%3B-Tea/Electric-Kettles/366/">Electric Kettles</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Coffee-%26amp%3Bamp%3B-Tea/Tea-Accessories/56/">Tea Accessories</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Coffee-%26amp%3Bamp%3B-Tea/Tea-Kettles/57/">Tea Kettles</a></li></ul>\n
        </div>\n
    </li><li>\n
        <a onclick="toggleCategory(this, 'cat_11');">\n
            <img src="/application/themes/spoon/images/menu_icons/cookware.svg" alt="Cookware Icon" />Cookware</a>\n
        <div id="cat_11" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cookware/Braisers/61/">Braisers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cookware/Cookware-Sets/206/">Cookware Sets</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cookware/Dutch-Ovens/63/">Dutch Ovens</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cookware/Fry-Pans-%26amp%3B-Skillets/64/">Fry Pans & Skillets</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cookware/Grill-Pans-%26amp%3B-Griddles/65/">Grill Pans & Griddles</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cookware/Roasting-Pans/66/">Roasting Pans</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cookware/Sauce-Pans/67/">Sauce Pans</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cookware/Saute-Pans/68/">Saute Pans</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cookware/Specialty-Cookware/70/">Specialty Cookware</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cookware/Stock-%26amp%3B-Multipots/71/">Stock & Multipots</a></li></ul>\n
        </div>\n
    </li><li>\n
        <a onclick="toggleCategory(this, 'cat_12');">\n
            <img src="/application/themes/spoon/images/menu_icons/cutlery.svg" alt="Cutlery Icon" />Cutlery</a>\n
        <div id="cat_12" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Boning-%26amp%3B-Fillet-Knives/72/">Boning & Fillet Knives</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Bread-Knives/73/">Bread Knives</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Cheese-Knives/184/">Cheese Knives</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Chefs-Knives/74/">Chefs Knives</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Cleavers/75/">Cleavers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Cutlery-Sets/207/">Cutlery Sets</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Kitchen-Shears/77/">Kitchen Shears</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Nakiri-Knives/380/">Nakiri Knives</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Paring-Knives/78/">Paring Knives</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Santoku-Knives/79/">Santoku Knives</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Sharpening-Tools/81/">Sharpening Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Slicing-%26amp%3B-Carving-Knives/82/">Slicing & Carving Knives</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Steak-Knives/83/">Steak Knives</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutlery/Utility-Knives/84/">Utility Knives</a></li></ul>\n
        </div>\n
    </li><li>\n
        <a onclick="toggleCategory(this, 'cat_13');">\n
            <img src="/application/themes/spoon/images/menu_icons/cutting_boards.svg" alt="Cutting Boards Icon" />Cutting Boards</a>\n
        <div id="cat_13" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutting-Boards/Synthetic/86/">Synthetic</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutting-Boards/Wood/87/">Wood</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Cutting-Boards/Wood-Composite/88/">Wood Composite</a></li></ul>\n
        </div>\n
    </li><li>\n
        <a onclick="toggleCategory(this, 'cat_14');">\n
            <img src="/application/themes/spoon/images/menu_icons/electrics.svg" alt="Electrics Icon" />Electrics</a>\n
        <div id="cat_14" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Electrics/Blenders/185/">Blenders</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Electrics/Coffee-Makers/89/">Coffee Makers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Electrics/Food-Processors/92/">Food Processors</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Electrics/Mixers-%26amp%3B-Attachments/188/">Mixers & Attachments</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Electrics/Toasters-%26amp%3B-Ovens/189/">Toasters & Ovens</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Electrics/Waffle-Makers/94/">Waffle Makers</a></li></ul>\n
        </div>\n
    </li><li>\n
        <a onclick="toggleCategory(this, 'cat_15');">\n
            <img src="/application/themes/spoon/images/menu_icons/food.svg" alt="Food Icon" />Food</a>\n
        <div id="cat_15" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Food/Spices/96/">Spices</a></li></ul>\n
        </div>\n
    </li><li>\n
        <a onclick="toggleCategory(this, 'cat_219');">\n
            <img src="/application/themes/spoon/images/menu_icons/gift_cards.svg" alt="Gift Cards Icon" />Gift Cards</a>\n
        <div id="cat_219" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Gift-Cards/Gift-Cards/220/">Gift Cards</a></li></ul>\n
        </div>\n
    </li><li>\n
        <a onclick="toggleCategory(this, 'cat_22');">\n
            <img src="/application/themes/spoon/images/menu_icons/storage.svg" alt="Storage Icon" />Storage</a>\n
        <div id="cat_22" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Storage/Cutlery-%26amp%3B-Tools/106/">Cutlery & Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Storage/Food/108/">Food</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Storage/Fruits-%26amp%3B-Vegetables/110/">Fruits & Vegetables</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Storage/Notepads/378/">Notepads</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Storage/Spices/111/">Spices</a></li></ul>\n
        </div>\n
    </li><li>\n
        <a onclick="toggleCategory(this, 'cat_23');">\n
            <img src="/application/themes/spoon/images/menu_icons/tabletop.svg" alt="Tabletop Icon" />Tabletop</a>\n
        <div id="cat_23" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
            <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tabletop/Butter-Dishes/191/">Butter Dishes</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tabletop/Coasters-%26amp%3B-Trivets/209/">Coasters & Trivets</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tabletop/Flatware/210/">Flatware</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tabletop/Gravy-Boats/211/">Gravy Boats</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tabletop/Mugs-%26amp%3B-Cups/212/">Mugs & Cups</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tabletop/Pitchers/213/">Pitchers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tabletop/Plates/112/">Plates</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tabletop/Salt-%26amp%3B-Pepper-Shakers/215/">Salt & Pepper Shakers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tabletop/Serveware/175/">Serveware</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tabletop/Serving-Bowls-%26amp%3B-Platters/114/">Serving Bowls & Platters</a></li></ul>\n
        </div>\n
    </li>    <li>\n
            <a onclick="toggleCategory(this, 'cat_25');">\n
                <img src="/application/themes/spoon/images/menu_icons/tools.svg" alt="Tools Icon" />Tools</a>\n
            <div id="cat_25" class="sub_category" style="display:none;"><!-- sub-category wrapper <div> -->\n
                <ul>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Aprons-%26amp%3B-Chef-Coats/226/">Aprons & Chef Coats</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Barbecue-Tools/130/">Barbecue Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Can%2C-Bottle-%26amp%3B-Jar-Openers/292/">Can, Bottle & Jar Openers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Canning-%26amp%3B-Preserving/134/">Canning & Preserving</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Cheese-Tools/135/">Cheese Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Colanders-%26amp%3B-Strainers/136/">Colanders & Strainers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Cooking-Utensils/139/">Cooking Utensils</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Egg-Tools/140/">Egg Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Food-Mills/141/">Food Mills</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Fruit-Tools/142/">Fruit Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Fuels/143/">Fuels</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Garlic-%26amp%3B-Herb-Tools/144/">Garlic & Herb Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Graters-%26amp%3B-Peelers/145/">Graters & Peelers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Ice-Cream-%26amp%3B-Whipped-Cream/222/">Ice Cream & Whipped Cream</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Kitchen-Utensils/148/">Kitchen Utensils</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Mandolines-%26amp%3B-Slicers/150/">Mandolines & Slicers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Measuring-Cups-%26amp%3B-Spoons/151/">Measuring Cups & Spoons</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Meat-%26amp%3B-Poultry-Tools/152/">Meat & Poultry Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Mixing-Bowls/154/">Mixing Bowls</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Mortars-%26amp%3B-Pestles/155/">Mortars & Pestles</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Nut-Tools/156/">Nut Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Oil-Dispensers-%26amp%3B-Sprayers/205/">Oil Dispensers & Sprayers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Peppermills/159/">Peppermills</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Pizza-%26amp%3B-Pasta-Tools/161/">Pizza & Pasta Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Pot-Holders-%26amp%3B-Mitts/162/">Pot Holders & Mitts</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Scales/163/">Scales</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Seafood-Tools/164/">Seafood Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Spice-Tools/165/">Spice Tools</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Thermometers/166/">Thermometers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Timers/167/">Timers</a></li>    <li><a href="https://spoonandwhisk.com/shop/catalog/Tools/Vegetable-Tools/169/">Vegetable Tools</a></li></ul>\n
            </div>\n
        </li>\n
        </div><!-- category -->\n
        </ul><!-- category list items -->
    """
  "Brands" => "<ul>    <li><a href="https://spoonandwhisk.com/shop/brand//1723/" title="view  products"></a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/AeroPress%2C-Inc./1732/" title="view AeroPress, Inc. products">AeroPress, Inc.</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Bamboozle/1736/" title="view Bamboozle products">Bamboozle</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Bees-Wrap/1555/" title="view Bees Wrap products">Bees Wrap</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Best-Manufacturers/1556/" title="view Best Manufacturers products">Best Manufacturers</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/BIA-Cordon-Bleu/1730/" title="view BIA Cordon Bleu products">BIA Cordon Bleu</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Breville-USA/1558/" title="view Breville USA products">Breville USA</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Brod-%26amp%3B-Taylor/1559/" title="view Brod & Taylor products">Brod & Taylor</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Browne-USA/1728/" title="view Browne USA products">Browne USA</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Camerons-Products-SCS-Direct-Inc./1751/" title="view Camerons Products SCS Direct Inc. products">Camerons Products SCS Direct Inc.</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Catskill-Craftsmen/1566/" title="view Catskill Craftsmen products">Catskill Craftsmen</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/CDN/1571/" title="view CDN products">CDN</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Charles-Viancin-Inc./1744/" title="view Charles Viancin Inc. products">Charles Viancin Inc.</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Chefn-Lifetime-brands/1743/" title="view Chef'n/Lifetime brands products">Chef'n/Lifetime brands</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Corkpops/1573/" title="view Corkpops products">Corkpops</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Danica/1746/" title="view Danica products">Danica</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Dexas-International-Ltd./1711/" title="view Dexas International Ltd. products">Dexas International Ltd.</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Duralex-USA/1681/" title="view Duralex USA products">Duralex USA</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Emile-Henry/1749/" title="view Emile Henry products">Emile Henry</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Epicurean/1579/" title="view Epicurean products">Epicurean</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Escali/1580/" title="view Escali products">Escali</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Euroscrubby/1628/" title="view Euroscrubby products">Euroscrubby</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Fat-Daddios/1582/" title="view Fat Daddios products">Fat Daddios</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Fortessa-Tableware-Solutions/1690/" title="view Fortessa Tableware Solutions products">Fortessa Tableware Solutions</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Fox-Run/1586/" title="view Fox Run products">Fox Run</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Full-Circle-Home/1725/" title="view Full Circle Home products">Full Circle Home</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Garnier-Thiebaut%2C-Inc/1661/" title="view Garnier Thiebaut, Inc products">Garnier Thiebaut, Inc</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Hario/1708/" title="view Hario products">Hario</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Harold-Import-Company/1589/" title="view Harold Import Company products">Harold Import Company</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Hestan-Meyer-Corporation-CIT-Group/1737/" title="view Hestan Meyer Corporation/CIT Group products">Hestan Meyer Corporation/CIT Group</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/House-on-the-Hill/1590/" title="view House on the Hill products">House on the Hill</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/iSi/1648/" title="view iSi products">iSi</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/JosephJoseph/1592/" title="view JosephJoseph products">JosephJoseph</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Jura-Capresso/1593/" title="view Jura-Capresso products">Jura-Capresso</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Knappmade-Products/1682/" title="view Knappmade Products products">Knappmade Products</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Kuhn-Rikon-Corporation/1748/" title="view Kuhn Rikon Corporation products">Kuhn Rikon Corporation</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Lamson-Products/1700/" title="view Lamson Products products">Lamson Products</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Le-Creuset/1604/" title="view Le Creuset products">Le Creuset</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Mercer-Culinary/1608/" title="view Mercer Culinary products">Mercer Culinary</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Messermeister/1609/" title="view Messermeister products">Messermeister</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Microplane/1610/" title="view Microplane products">Microplane</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Monkey-Business-Design-USA-LLC/1740/" title="view Monkey Business Design USA LLC products">Monkey Business Design USA LLC</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/MUKitchen/1733/" title="view MUKitchen products">MUKitchen</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Nordic-Ware/1656/" title="view Nordic Ware products">Nordic Ware</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Norpro/1613/" title="view Norpro products">Norpro</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/OXO/1616/" title="view OXO products">OXO</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Paderno-World-Cuisine-USA/1667/" title="view Paderno World Cuisine USA products">Paderno World Cuisine USA</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Perfect-Edge-Cutlery/1735/" title="view Perfect Edge Cutlery products">Perfect Edge Cutlery</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Peugeot-Saveurs-North-America%2C-LLC/1741/" title="view Peugeot Saveurs North America, LLC products">Peugeot Saveurs North America, LLC</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Port-Style-Enterprises-Inc./1673/" title="view Port-Style Enterprises Inc. products">Port-Style Enterprises Inc.</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Progresive-International/1706/" title="view Progresive International products">Progresive International</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/R.S.V.P-International%2C-Inc.-Herman-Pearl/1729/" title="view R.S.V.P International, Inc./Herman Pearl products">R.S.V.P International, Inc./Herman Pearl</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Rosle/1626/" title="view Rosle products">Rosle</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Salt-Sisters/1685/" title="view Salt Sisters products">Salt Sisters</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Sassafras/1722/" title="view Sassafras products">Sassafras</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Silpat%C2%AE/1629/" title="view Silpat® products">Silpat®</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Smiths-Consumer-Products-Inc./1726/" title="view Smith's Consumer Products Inc. products">Smith's Consumer Products Inc.</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Smithey-Ironware-Company%2C-LLC/1709/" title="view Smithey Ironware Company, LLC products">Smithey Ironware Company, LLC</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Steelport-Knife-Co./1738/" title="view Steelport Knife Co. products">Steelport Knife Co.</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Swissmar/1634/" title="view Swissmar products">Swissmar</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Talisman-Designs/1734/" title="view Talisman Designs products">Talisman Designs</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Teakhaus/1752/" title="view Teakhaus products">Teakhaus</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/The-American-Cookie-Cutter-Company/1636/" title="view The American Cookie Cutter Company products">The American Cookie Cutter Company</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/The-Cookware-Company-USA-LLC/1710/" title="view The Cookware Company USA LLC products">The Cookware Company USA LLC</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/The-Grate-Plate%2C-Inc/1747/" title="view The Grate Plate, Inc products">The Grate Plate, Inc</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Toadfish-Outfitters/1703/" title="view Toadfish Outfitters products">Toadfish Outfitters</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Tojiro/1644/" title="view Tojiro products">Tojiro</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Tovolo/1689/" title="view Tovolo products">Tovolo</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/True-Fabrications%2C-Inc/1742/" title="view True Fabrications, Inc products">True Fabrications, Inc</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Typhoon-Homewares%2C-LLC/1720/" title="view Typhoon Homewares, LLC products">Typhoon Homewares, LLC</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Union-Square-Group/1750/" title="view Union Square Group products">Union Square Group</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/USA-Pan/1639/" title="view USA Pan products">USA Pan</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Victoria-Creative-Home-%26amp%3B-Kitchen/1670/" title="view Victoria Creative Home & Kitchen products">Victoria Creative Home & Kitchen</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Victorinox-Swiss-Army/1693/" title="view Victorinox Swiss Army products">Victorinox Swiss Army</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Wusthof-USA%2C-Inc./1717/" title="view Wusthof USA, Inc. products">Wusthof USA, Inc.</a></li>    <li><a href="https://spoonandwhisk.com/shop/brand/Zwilling-J.A.-Henckels/1679/" title="view Zwilling J.A. Henckels products">Zwilling J.A. Henckels</a></li></ul>"
]
Key Value
USER
"*************"
HOME
"*******************"
SCRIPT_NAME
"**********"
REQUEST_URI
"********************************************************"
QUERY_STRING
""
REQUEST_METHOD
"***"
SERVER_PROTOCOL
"********"
GATEWAY_INTERFACE
"*******"
REDIRECT_URL
"********************************************************"
REMOTE_PORT
"*****"
SCRIPT_FILENAME
"*****************************************"
SERVER_ADMIN
"***************************"
CONTEXT_DOCUMENT_ROOT
"*******************************"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"*****"
DOCUMENT_ROOT
"*******************************"
REMOTE_ADDR
"*************"
SERVER_PORT
"***"
SERVER_ADDR
"*************"
SERVER_NAME
"*****************"
SERVER_SOFTWARE
"******"
SERVER_SIGNATURE
""
PATH
"************************************************************************************************************************************************************************************"
HTTP_X_HTTPS
"*"
HTTP_HOST
"*****************"
HTTP_REFERER
"**********************************************************************************"
HTTP_USER_AGENT
"*********"
HTTP_ACCEPT
"***"
proxy-nokeepalive
"*"
H2_STREAM_TAG
"**********"
H2_STREAM_ID
"*"
H2_PUSHED_ON
""
H2_PUSHED
""
H2_PUSH
"***"
H2PUSH
"***"
HTTP2
"**"
SSL_TLS_SNI
"*****************"
HTTPS
"**"
SCRIPT_URI
"*********************************************************************************"
SCRIPT_URL
"********************************************************"
UNIQUE_ID
"***************************"
REDIRECT_STATUS
"***"
REDIRECT_H2_STREAM_TAG
"**********"
REDIRECT_H2_STREAM_ID
"*"
REDIRECT_H2_PUSHED_ON
""
REDIRECT_H2_PUSHED
""
REDIRECT_H2_PUSH
"***"
REDIRECT_H2PUSH
"***"
REDIRECT_HTTP2
"**"
REDIRECT_SSL_TLS_SNI
"*****************"
REDIRECT_HTTPS
"**"
REDIRECT_SCRIPT_URI
"*********************************************************************************"
REDIRECT_SCRIPT_URL
"********************************************************"
REDIRECT_UNIQUE_ID
"***************************"
FCGI_ROLE
"*********"
PHP_SELF
"**********"
REQUEST_TIME_FLOAT
"***"
REQUEST_TIME
"***"
argv
"***"
argc
"***"
empty
0. Concrete\Core\Error\Handler\ErrorHandler
1. Concrete\Core\Error\Handler\JsonErrorHandler