JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrcssFiles['laravel'] = __DIR__ . '/Resources/laravel-debugbar.css'; $this->jsFiles['laravel-cache'] = __DIR__ . '/Resources/cache/widget.js'; $this->jsFiles['laravel-queries'] = __DIR__ . '/Resources/queries/widget.js'; $theme = config('debugbar.theme', 'auto'); switch ($theme) { case 'dark': $this->cssFiles['laravel-dark'] = __DIR__ . '/Resources/laravel-debugbar-dark-mode.css'; break; case 'auto': $this->cssFiles['laravel-dark-0'] = __DIR__ . '/Resources/laravel-debugbar-dark-mode-media-start.css'; $this->cssFiles['laravel-dark-1'] = __DIR__ . '/Resources/laravel-debugbar-dark-mode.css'; $this->cssFiles['laravel-dark-2'] = __DIR__ . '/Resources/laravel-debugbar-dark-mode-media-end.css'; } } /** * Set the URL Generator * * @param \Illuminate\Routing\UrlGenerator $url * @deprecated */ public function setUrlGenerator($url) { } /** * {@inheritdoc} */ public function renderHead() { $cssRoute = preg_replace('/\Ahttps?:\/\/[^\/]+/', '', route('debugbar.assets.css', [ 'v' => $this->getModifiedTime('css'), 'theme' => config('debugbar.theme', 'auto'), ])); $jsRoute = preg_replace('/\Ahttps?:\/\/[^\/]+/', '', route('debugbar.assets.js', [ 'v' => $this->getModifiedTime('js') ])); $nonce = $this->getNonceAttribute(); $html = ""; $html .= ""; if ($this->isJqueryNoConflictEnabled()) { $html .= "jQuery.noConflict(true);" . "\n"; } $inlineHtml = $this->getInlineHtml(); if ($nonce != '') { $inlineHtml = preg_replace("/<(script|style)>/", "<$1{$nonce}>", $inlineHtml); } $html .= $inlineHtml; return $html; } protected function getInlineHtml() { $html = ''; foreach (['head', 'css', 'js'] as $asset) { foreach ($this->getAssets('inline_' . $asset) as $item) { $html .= $item . "\n"; } } return $html; } /** * Get the last modified time of any assets. * * @param string $type 'js' or 'css' * @return int */ protected function getModifiedTime($type) { $files = $this->getAssets($type); $latest = 0; foreach ($files as $file) { $mtime = filemtime($file); if ($mtime > $latest) { $latest = $mtime; } } return $latest; } /** * Return assets as a string * * @param string $type 'js' or 'css' * @return string */ public function dumpAssetsToString($type) { $files = $this->getAssets($type); $content = ''; foreach ($files as $file) { $content .= file_get_contents($file) . "\n"; } return $content; } /** * Makes a URI relative to another * * @param string|array $uri * @param string $root * @return string */ protected function makeUriRelativeTo($uri, $root) { if (!$root) { return $uri; } if (is_array($uri)) { $uris = []; foreach ($uri as $u) { $uris[] = $this->makeUriRelativeTo($u, $root); } return $uris; } if (substr($uri ?? '', 0, 1) === '/' || preg_match('/^([a-zA-Z]+:\/\/|[a-zA-Z]:\/|[a-zA-Z]:\\\)/', $uri ?? '')) { return $uri; } return rtrim($root, '/') . "/$uri"; } }