commit 906f96a15edb382b71cabaefe45b7d7b1c615fec
Author: Kévin Tessier Sorry, something went terribly wrong! {$delimiter} {$delimiter} {{ message.message|raw }} Grav has increased the minimum PHP requirement. Уважаеми %1$s На %4$s бе направено искане за смяна на парола. Като алтернатива, можете да копирате линка в адресната лента на браузъра си: %2$s %1$s, Graet eo bet un azgoulenn war %4$s evit adderaouekaat ho ker-tremen. Gallout a rit ivez eilañ an URL da heul er varrenn chomlec'h en ho merdeer: %2$s Benvolgut/da %1$s, S'ha fet una petició a %4$s per a restablir la contrasenya. Altrament, copia el següent URL al teu navegador: %2$s Vážený %1$s, požadavek na obnovu hesla byl zadán na %4$s. Případně, zkopírujte následující adresu URL do adresního řádku vašeho prohlížeče: %2$s %1$s Annwyl, Gwnaed cais ar %4$s i ailosod eich cyfrinair. < br / > hyn i ailosod eich cyfrinair cliciwch < br / > < br / > Fel arall, gopïo URL canlynol i'r bar cyfeiriad eich porwr: %2$s < br / > Cofion, < br / > < br / >%3$s Hej %1$s Der blev den%4$s anmodet om at nulstille din adgangskode. Alternativt kan du indsætte flg. URL i din browsers adressebjælke: %2$s Hallo %1$s, Auf %4$s wurde die Zurücksetzung Ihres Passwortes angefordert. Alternativ können Sie auch die folgende Adresse in die Adresszeile Ihres Browsers kopieren: %2$s Αγαπητέ %1$s, Έγινε μία αίτηση στις %4$s για να επαναφέρετε τον κωδικό πρόσβασής σας. < br / > Κάντε κλικ εδώ για να επαναφέρετε τον κωδικό πρόσβασής σας < br / > < br / > Εναλλακτικά, αντιγράψτε την ακόλουθη διεύθυνση URL στη γραμμή διευθύνσεων του προγράμματος περιήγησής σας: %2$s < br / > Με τιμή, < br / > < br / >%3$s Dear %1$s, A request was made on %4$s to reset your password. Alternatively, copy the following URL into your browser's address bar: %2$s Estimado %1$s, Se ha realizado una petición el %4$s para restablecer tu contraseña. Alternativamente, copia la siguiente URL en la barra de direcciones de tu navegador: %2$s Hea %1$s, veebilehelt %4$s tehti taotlus sinu salasõna lähtestamiseks. Võid ka järgneva aadressi kopeerida oma veebilehitseja aadressiribale: %2$s %1$s estimatua, Eskaera egin da %4$s zure pasahitza berrezartzeko. Edo bestela kopiatu hurrengo URLa zure nabigatzailearen helbide barran %2$s عزیز %1$s, یک درخواست ایجاد شده توسط %4$s برای تنظیم مجدد رمز عبور شما. \n یا لینک زیر را کپی و در نوار آدرس مرورگر خود قرار دهید و اجرا کنید: %2$s %1$s, Sivustolla %4$s on tehty pyyntö salasanasi nollaamiseksi. Vaihtoehtoisesti, voit kopioida seuraavan osoitteen selaimesi osoitekenttään: %2$s %1$s, Une requête a été faite sur %4$s pour réinitialiser votre mot de passe. Alternativement, copiez l'URL suivante dans la barre d'adresse de votre navigateur: %2$s %1$s יקר, הבקשה נשלחה ב %4$s בכדי לאפס את הסיסמא שלך או להעתיק את הקישור הבא לשורת הכתובות בדפדפן %2$s Dragi %1$s, Podnesen je zahtjev %4$s za resetiranjem tvoje lozinke. Alternativno, kopiraj sljedeći link u svoj web preglednik: %2$s Kedves %1$s, Az alábbi időpontban valaki a jelszavad cseréjét kezdeményezte: %4$s. Esetleg másold a következő URL-t a böngésződ címsávjába: %2$s Halo %1$s, Permintaan dibuat pada %4$s untuk membuat ulang password. < br / > Klik untuk menyetel ulang password < br / > < br / > Atau, salin URL berikut ke baris alamat browser Anda: %2$s < br / > Salam, < br / > < br / >%3$s Caro %1$s, Una richiesta di reset password è stata effettuata su %4$s. In alternativa, copia il seguente URL nella barra indirizzi del tuo browser: %2$s %1$s さん %4$s でパスワードをリセットするリクエストがありました。 あるいは、次の URL をブラウザのアドレスバーにコピーしてください: %2$s Sveiki, %1$s, Svetainėje %4$s buvo užsakytas jūsų slaptažodžio atstatymas. Arba nukopijuokite į naršyklės adreso įrašymo laukelį šį adresą: %2$s Beste %1$s, Wij hebben een aanvraag ontvangen op %4$s om je wachtwoord te herstellen. Als alternatief kan je de volgende URL kopiëren in de adresbalk van je browser: %2$s Kjære %1$s, En forespørsel ble gjort på %4$s for å tilbakestille passordet. Eventuelt, kopier over følgende URL til din nettlesers adresselinje: %2$s Drogi %1$s, Wniosek został złożony w %4$s aby resetować hasło. Można także skopiować następujący adres URL do pasku adresu przeglądarki: %2$s Caro %1$s, Um pedido foi feito em%4$s pra restabelecer a sua senha. Alternativamente, copia o seguinte URL na barra de endereços do seu navegador: %2$s Dragă %1$s, Cererea a fost făcută pe data de %4$s pentru a reseta parola. < br / > Apăsați aici pentru a reseta parola < br / > < br / > Alternativ, copiaţi adresa URL în bara de adrese a browser-ului dvs: %2$s < br / > Cu respect, < br / > < br / >%3$s Уважемый %1$s, Был отправлен запрос на %4$s для сброса пароля. Или скопируйте следующий URL в адресную строку вашего браузера: %2$s Hej %1$s, En begäran gjordes att återställa ditt lösenord på %4$s. < br / > Klicka här för att återställa lösenordet < br / > < br / > Alternativt Kopiera följande URL i webbläsarens adressfält: %2$s < br / > vänliga hälsningar, < br / > < br / >%3$s เรียน %1$s คุณได้ทำการร้องขอบน %4$s ในการรีเซ็ตรหัสผ่านของคุณ. อีกวิธีหนึ่งคือ คัดลอก URL ต่อไปนี้ในแถบอยู่ของเบราว์เซอร์ของคุณ: %2$s Sayın %1$s, %4$s tarafından şifre sıfırlama isteği oluşturulmuştur. Alternatif olarak, şu url'yi tarayıcınızın adres çubuğuna kopyalayabilirsiniz: %2$s Вітаємо, %1$s! %4$s було здійснено запит на скидання паролю. Також, ви можете скопіювати наступне посилання у поле адреси вашого браузера: %2$s 親愛的 %1$s, 曾在 %4$s要求重置您的密碼。 < br / > 按一下此處重置您的密碼 < br / > < br / > 或者,將下面的 URL 複製到瀏覽器的網址列︰ %2$s < br / > 謝謝,< br / > < br / >%3$s ${translations.PLUGIN_ADMIN.FILE_ERROR_UPLOAD} ${file.name} ${translations.PLUGIN_ADMIN.FILE_ERROR_ADD} ${file.name} No media found
+ ${translations.PLUGIN_ADMIN.UPDATE} ${translations.PLUGIN_ADMIN.ALL} ${type_translation}
+
+ ${length} ${translations.PLUGIN_ADMIN.OF_YOUR} ${type} ${translations.PLUGIN_ADMIN.HAVE_AN_UPDATE_AVAILABLE}
+
+ ${translations.PLUGIN_ADMIN.UPDATE} ${singles[index].charAt(0).toUpperCase() + singles[index].substr(1).toLowerCase()}
+
+ v${resources[item].available} ${releaseType} ${translations.PLUGIN_ADMIN.OF_THIS} ${singles[index]} ${translations.PLUGIN_ADMIN.IS_NOW_AVAILABLE}!
+ ' + notification.message + ' \n '+c.translations.PLUGIN_ADMIN.UPDATE+" "+c.translations.PLUGIN_ADMIN.ALL+" "+l+'\n \n '+a+" "+c.translations.PLUGIN_ADMIN.OF_YOUR+" "+o+" "+c.translations.PLUGIN_ADMIN.HAVE_AN_UPDATE_AVAILABLE+"\n \n '+c.translations.PLUGIN_ADMIN.UPDATE+" "+(n[i].charAt(0).toUpperCase()+n[i].substr(1).toLowerCase())+'\n \n v'+r[t].available+" "+p+" "+c.translations.PLUGIN_ADMIN.OF_THIS+" "+n[i]+" "+c.translations.PLUGIN_ADMIN.IS_NOW_AVAILABLE+"!\n "+e.message+" "+p.translations.PLUGIN_ADMIN.FILE_ERROR_UPLOAD+" "+t.name+" "+p.translations.PLUGIN_ADMIN.FILE_ERROR_ADD+" "+t.name+"
$message";
+ }
+ }
+
+ return $this;
+ }
+
+ public function getMessages()
+ {
+ return $this->messages;
+ }
+}
diff --git a/system/src/Grav/Common/Debugger.php b/system/src/Grav/Common/Debugger.php
new file mode 100644
index 0000000..4687325
--- /dev/null
+++ b/system/src/Grav/Common/Debugger.php
@@ -0,0 +1,275 @@
+init() gets called.
+ $this->enabled = true;
+
+ $this->debugbar = new StandardDebugBar();
+ $this->debugbar['time']->addMeasure('Loading', $this->debugbar['time']->getRequestStartTime(), microtime(true));
+ }
+
+ /**
+ * Initialize the debugger
+ *
+ * @return $this
+ * @throws \DebugBar\DebugBarException
+ */
+ public function init()
+ {
+ $this->grav = Grav::instance();
+ $this->config = $this->grav['config'];
+
+ // Enable/disable debugger based on configuration.
+ $this->enabled = $this->config->get('system.debugger.enabled');
+
+ if ($this->enabled()) {
+ $this->debugbar->addCollector(new ConfigCollector((array)$this->config->get('system'), 'Config'));
+ $this->debugbar->addCollector(new ConfigCollector((array)$this->config->get('plugins'), 'Plugins'));
+ }
+
+ return $this;
+ }
+
+ /**
+ * Set/get the enabled state of the debugger
+ *
+ * @param bool $state If null, the method returns the enabled value. If set, the method sets the enabled state
+ *
+ * @return null
+ */
+ public function enabled($state = null)
+ {
+ if ($state !== null) {
+ $this->enabled = $state;
+ }
+
+ return $this->enabled;
+ }
+
+ /**
+ * Add the debugger assets to the Grav Assets
+ *
+ * @return $this
+ */
+ public function addAssets()
+ {
+ if ($this->enabled()) {
+
+ // Only add assets if Page is HTML
+ $page = $this->grav['page'];
+ if ($page->templateFormat() !== 'html') {
+ return $this;
+ }
+
+ /** @var Assets $assets */
+ $assets = $this->grav['assets'];
+
+ // Add jquery library
+ $assets->add('jquery', 101);
+
+ $this->renderer = $this->debugbar->getJavascriptRenderer();
+ $this->renderer->setIncludeVendors(false);
+
+ // Get the required CSS files
+ list($css_files, $js_files) = $this->renderer->getAssets(null, JavascriptRenderer::RELATIVE_URL);
+ foreach ((array)$css_files as $css) {
+ $assets->addCss($css);
+ }
+
+ $assets->addCss('/system/assets/debugger.css');
+
+ foreach ((array)$js_files as $js) {
+ $assets->addJs($js);
+ }
+ }
+
+ return $this;
+ }
+
+ public function getCaller($ignore = 2)
+ {
+ $trace = debug_backtrace(false, $ignore);
+
+ return array_pop($trace);
+ }
+
+ /**
+ * Adds a data collector
+ *
+ * @param $collector
+ *
+ * @return $this
+ * @throws \DebugBar\DebugBarException
+ */
+ public function addCollector($collector)
+ {
+ $this->debugbar->addCollector($collector);
+
+ return $this;
+ }
+
+ /**
+ * Returns a data collector
+ *
+ * @param $collector
+ *
+ * @return \DebugBar\DataCollector\DataCollectorInterface
+ * @throws \DebugBar\DebugBarException
+ */
+ public function getCollector($collector)
+ {
+ return $this->debugbar->getCollector($collector);
+ }
+
+ /**
+ * Displays the debug bar
+ *
+ * @return $this
+ */
+ public function render()
+ {
+ if ($this->enabled()) {
+ // Only add assets if Page is HTML
+ $page = $this->grav['page'];
+ if (!$this->renderer || $page->templateFormat() !== 'html') {
+ return $this;
+ }
+
+ echo $this->renderer->render();
+ }
+
+ return $this;
+ }
+
+ /**
+ * Sends the data through the HTTP headers
+ *
+ * @return $this
+ */
+ public function sendDataInHeaders()
+ {
+ if ($this->enabled()) {
+ $this->debugbar->sendDataInHeaders();
+ }
+
+ return $this;
+ }
+
+ /**
+ * Returns collected debugger data.
+ *
+ * @return array
+ */
+ public function getData()
+ {
+ if (!$this->enabled()) {
+ return null;
+ }
+
+ $this->timers = [];
+
+ return $this->debugbar->getData();
+ }
+
+ /**
+ * Start a timer with an associated name and description
+ *
+ * @param $name
+ * @param string|null $description
+ *
+ * @return $this
+ */
+ public function startTimer($name, $description = null)
+ {
+ if ($name[0] === '_' || $this->enabled()) {
+ $this->debugbar['time']->startMeasure($name, $description);
+ $this->timers[] = $name;
+ }
+
+ return $this;
+ }
+
+ /**
+ * Stop the named timer
+ *
+ * @param string $name
+ *
+ * @return $this
+ */
+ public function stopTimer($name)
+ {
+ if (in_array($name, $this->timers, true) && ($name[0] === '_' || $this->enabled())) {
+ $this->debugbar['time']->stopMeasure($name);
+ }
+
+ return $this;
+ }
+
+ /**
+ * Dump variables into the Messages tab of the Debug Bar
+ *
+ * @param $message
+ * @param string $label
+ * @param bool $isString
+ *
+ * @return $this
+ */
+ public function addMessage($message, $label = 'info', $isString = true)
+ {
+ if ($this->enabled()) {
+ $this->debugbar['messages']->addMessage($message, $label, $isString);
+ }
+
+ return $this;
+ }
+
+ /**
+ * Dump exception into the Messages tab of the Debug Bar
+ *
+ * @param \Exception $e
+ * @return Debugger
+ */
+ public function addException(\Exception $e)
+ {
+ if ($this->enabled()) {
+ $this->debugbar['exceptions']->addException($e);
+ }
+
+ return $this;
+ }
+}
diff --git a/system/src/Grav/Common/Errors/BareHandler.php b/system/src/Grav/Common/Errors/BareHandler.php
new file mode 100644
index 0000000..5d8ef9a
--- /dev/null
+++ b/system/src/Grav/Common/Errors/BareHandler.php
@@ -0,0 +1,24 @@
+get('system.errors');
+ $jsonRequest = $_SERVER && isset($_SERVER['HTTP_ACCEPT']) && $_SERVER['HTTP_ACCEPT'] == 'application/json';
+
+ // Setup Whoops-based error handler
+ $system = new SystemFacade;
+ $whoops = new \Whoops\Run($system);
+
+ $verbosity = 1;
+
+ if (isset($config['display'])) {
+ if (is_int($config['display'])) {
+ $verbosity = $config['display'];
+ } else {
+ $verbosity = $config['display'] ? 1 : 0;
+ }
+ }
+
+ switch ($verbosity) {
+ case 1:
+ $error_page = new Whoops\Handler\PrettyPageHandler;
+ $error_page->setPageTitle('Crikey! There was an error...');
+ $error_page->addResourcePath(GRAV_ROOT . '/system/assets');
+ $error_page->addCustomCss('whoops.css');
+ $whoops->pushHandler($error_page);
+ break;
+ case -1:
+ $whoops->pushHandler(new BareHandler);
+ break;
+ default:
+ $whoops->pushHandler(new SimplePageHandler);
+ break;
+ }
+
+ if (method_exists('Whoops\Util\Misc', 'isAjaxRequest')) { //Whoops 2.0
+ if (Whoops\Util\Misc::isAjaxRequest() || $jsonRequest) {
+ $whoops->pushHandler(new Whoops\Handler\JsonResponseHandler);
+ }
+ } elseif (function_exists('Whoops\isAjaxRequest')) { //Whoops 2.0.0-alpha
+ if (Whoops\isAjaxRequest() || $jsonRequest) {
+ $whoops->pushHandler(new Whoops\Handler\JsonResponseHandler);
+ }
+ } else { //Whoops 1.x
+ $json_page = new Whoops\Handler\JsonResponseHandler;
+ $json_page->onlyForAjaxRequests(true);
+ }
+
+ if (isset($config['log']) && $config['log']) {
+ $logger = $grav['log'];
+ $whoops->pushHandler(function($exception, $inspector, $run) use ($logger) {
+ try {
+ $logger->addCritical($exception->getMessage() . ' - Trace: ' . $exception->getTraceAsString());
+ } catch (\Exception $e) {
+ echo $e;
+ }
+ }, 'log');
+ }
+
+ $whoops->register();
+ }
+}
diff --git a/system/src/Grav/Common/Errors/Resources/error.css b/system/src/Grav/Common/Errors/Resources/error.css
new file mode 100644
index 0000000..11ce3fd
--- /dev/null
+++ b/system/src/Grav/Common/Errors/Resources/error.css
@@ -0,0 +1,52 @@
+html, body {
+ height: 100%
+}
+body {
+ margin:0 3rem;
+ padding:0;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 1.5rem;
+ line-height: 1.4;
+ display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
+ display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */
+ display: -ms-flexbox; /* TWEENER - IE 10 */
+ display: -webkit-flex; /* NEW - Chrome */
+ display: flex;
+ -webkit-align-items: center;
+ align-items: center;
+ -webkit-justify-content: center;
+ justify-content: center;
+}
+.container {
+ margin: 0rem;
+ max-width: 600px;
+ padding-bottom:5rem;
+}
+
+header {
+ color: #000;
+ font-size: 4rem;
+ letter-spacing: 2px;
+ line-height: 1.1;
+ margin-bottom: 2rem;
+}
+p {
+ font-family: Optima, Segoe, "Segoe UI", Candara, Calibri, Arial, sans-serif;
+ color: #666;
+}
+
+h5 {
+ font-weight: normal;
+ color: #999;
+ font-size: 1rem;
+}
+
+h6 {
+ font-weight: normal;
+ color: #999;
+}
+
+code {
+ font-weight: bold;
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+}
diff --git a/system/src/Grav/Common/Errors/Resources/layout.html.php b/system/src/Grav/Common/Errors/Resources/layout.html.php
new file mode 100644
index 0000000..6699959
--- /dev/null
+++ b/system/src/Grav/Common/Errors/Resources/layout.html.php
@@ -0,0 +1,30 @@
+
+
+
+
+
+ -
+
+ For further details please review your
+ logs/ folder, or enable displaying of errors in your system configuration.
', $errors)
+ ];
+
+ return false;
+ }
+
+ // Remove the error object to avoid storing it
+ unset($upload->file->error);
+
+ // we need to move the file at this stage or else
+ // it won't be available upon save later on
+ // since php removes it from the upload location
+ $tmp_dir = Admin::getTempDir();
+ $tmp_file = $upload->file->tmp_name;
+ $tmp = $tmp_dir . '/uploaded-files/' . basename($tmp_file);
+
+ Folder::create(dirname($tmp));
+ if (!move_uploaded_file($tmp_file, $tmp)) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => sprintf($this->admin->translate('PLUGIN_ADMIN.FILEUPLOAD_UNABLE_TO_MOVE', null), '',
+ $tmp)
+ ];
+
+ return false;
+ }
+
+ $upload->file->tmp_name = $tmp;
+
+ // Retrieve the current session of the uploaded files for the field
+ // and initialize it if it doesn't exist
+ $sessionField = base64_encode($this->grav['uri']->url());
+ $flash = $this->admin->session()->getFlashObject('files-upload');
+ if (!$flash) {
+ $flash = [];
+ }
+ if (!isset($flash[$sessionField])) {
+ $flash[$sessionField] = [];
+ }
+ if (!isset($flash[$sessionField][$upload->field])) {
+ $flash[$sessionField][$upload->field] = [];
+ }
+
+ // Set destination
+ if ($this->grav['locator']->isStream($settings->destination)) {
+ $destination = $this->grav['locator']->findResource($settings->destination, false, true);
+ } else {
+ $destination = Folder::getRelativePath(rtrim($settings->destination, '/'));
+ $destination = $this->admin->getPagePathFromToken($destination);
+ }
+
+ // Create destination if needed
+ if (!is_dir($destination)) {
+ Folder::mkdir($destination);
+ }
+
+ // Generate random name if required
+ if ($settings->random_name) { // TODO: document
+ $extension = pathinfo($upload->file->name)['extension'];
+ $upload->file->name = Utils::generateRandomString(15) . '.' . $extension;
+ }
+
+ // Handle conflicting name if needed
+ if ($settings->avoid_overwriting) { // TODO: document
+ if (file_exists($destination . '/' . $upload->file->name)) {
+ $upload->file->name = date('YmdHis') . '-' . $upload->file->name;
+ }
+ }
+
+ // Prepare object for later save
+ $path = $destination . '/' . $upload->file->name;
+ $upload->file->path = $path;
+ // $upload->file->route = $page ? $path : null;
+
+ // Prepare data to be saved later
+ $flash[$sessionField][$upload->field][$path] = (array)$upload->file;
+
+ // Finally store the new uploaded file in the field session
+ $this->admin->session()->setFlashObject('files-upload', $flash);
+ $this->admin->json_response = [
+ 'status' => 'success',
+ 'session' => \json_encode([
+ 'sessionField' => base64_encode($this->grav['uri']->url()),
+ 'path' => $upload->file->path,
+ 'field' => $settings->name
+ ])
+ ];
+
+ return true;
+ }
+
+ /**
+ * Checks if the user is allowed to perform the given task with its associated permissions
+ *
+ * @param string $task The task to execute
+ * @param array $permissions The permissions given
+ *
+ * @return bool True if authorized. False if not.
+ */
+ public function authorizeTask($task = '', $permissions = [])
+ {
+ if (!$this->admin->authorize($permissions)) {
+ if ($this->grav['uri']->extension() === 'json') {
+ $this->admin->json_response = [
+ 'status' => 'unauthorized',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.INSUFFICIENT_PERMISSIONS_FOR_TASK') . ' ' . $task . '.'
+ ];
+ } else {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.INSUFFICIENT_PERMISSIONS_FOR_TASK') . ' ' . $task . '.',
+ 'error');
+ }
+
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Gets the permissions needed to access a given view
+ *
+ * @return array An array of permissions
+ */
+ protected function dataPermissions()
+ {
+ $type = $this->view;
+ $permissions = ['admin.super'];
+
+ switch ($type) {
+ case 'configuration':
+ case 'config':
+ case 'system':
+ $permissions[] = 'admin.configuration';
+ break;
+ case 'settings':
+ case 'site':
+ $permissions[] = 'admin.settings';
+ break;
+ case 'plugins':
+ $permissions[] = 'admin.plugins';
+ break;
+ case 'themes':
+ $permissions[] = 'admin.themes';
+ break;
+ case 'users':
+ $permissions[] = 'admin.users';
+ break;
+ case 'user':
+ $permissions[] = 'admin.login';
+ $permissions[] = 'admin.users';
+ break;
+ case 'pages':
+ $permissions[] = 'admin.pages';
+ break;
+ }
+
+ return $permissions;
+ }
+
+ /**
+ * Gets the configuration data for a given view & post
+ *
+ * @param array $data
+ *
+ * @return array
+ */
+ protected function prepareData(array $data)
+ {
+ return $data;
+ }
+
+ /**
+ * Internal method to normalize the $_FILES array
+ *
+ * @param array $data $_FILES starting point data
+ * @param string $key
+ *
+ * @return object a new Object with a normalized list of files
+ */
+ protected function normalizeFiles($data, $key = '')
+ {
+ $files = new \stdClass();
+ $files->field = $key;
+ $files->file = new \stdClass();
+
+ foreach ($data as $fieldName => $fieldValue) {
+ // Since Files Upload are always happening via Ajax
+ // we are not interested in handling `multiple="true"`
+ // because they are always handled one at a time.
+ // For this reason we normalize the value to string,
+ // in case it is arriving as an array.
+ $value = (array)Utils::getDotNotation($fieldValue, $key);
+ $files->file->{$fieldName} = array_shift($value);
+ }
+
+ return $files;
+ }
+
+ /**
+ * Removes a file from the flash object session, before it gets saved
+ *
+ * @return bool True if the action was performed.
+ */
+ public function taskFilesSessionRemove()
+ {
+ if (!$this->authorizeTask('save', $this->dataPermissions()) || !isset($_FILES)) {
+ return false;
+ }
+
+ // Retrieve the current session of the uploaded files for the field
+ // and initialize it if it doesn't exist
+ $sessionField = base64_encode($this->grav['uri']->url());
+ $request = \json_decode($this->post['session']);
+
+ // Ensure the URI requested matches the current one, otherwise fail
+ if ($request->sessionField !== $sessionField) {
+ return false;
+ }
+
+ // Retrieve the flash object and remove the requested file from it
+ $flash = $this->admin->session()->getFlashObject('files-upload');
+ $endpoint = $flash[$request->sessionField][$request->field][$request->path];
+
+ if (isset($endpoint)) {
+ if (file_exists($endpoint['tmp_name'])) {
+ unlink($endpoint['tmp_name']);
+ }
+
+ unset($endpoint);
+ }
+
+ // Walk backward to cleanup any empty field that's left
+ // Field
+ if (isset($flash[$request->sessionField][$request->field][$request->path])) {
+ unset($flash[$request->sessionField][$request->field][$request->path]);
+ }
+
+ // Field
+ if (isset($flash[$request->sessionField][$request->field]) && empty($flash[$request->sessionField][$request->field])) {
+ unset($flash[$request->sessionField][$request->field]);
+ }
+
+ // Session Field
+ if (isset($flash[$request->sessionField]) && empty($flash[$request->sessionField])) {
+ unset($flash[$request->sessionField]);
+ }
+
+
+ // If there's anything left to restore in the flash object, do so
+ if (count($flash)) {
+ $this->admin->session()->setFlashObject('files-upload', $flash);
+ }
+
+ $this->admin->json_response = ['status' => 'success'];
+
+ return true;
+ }
+
+ /**
+ * Redirect to the route stored in $this->redirect
+ */
+ public function redirect()
+ {
+ if (!$this->redirect) {
+ return;
+ }
+
+ $base = $this->admin->base;
+ $this->redirect = '/' . ltrim($this->redirect, '/');
+ $multilang = $this->isMultilang();
+
+ $redirect = '';
+ if ($multilang) {
+ // if base path does not already contain the lang code, add it
+ $langPrefix = '/' . $this->grav['session']->admin_lang;
+ if (!Utils::startsWith($base, $langPrefix . '/')) {
+ $base = $langPrefix . $base;
+ }
+
+ // now the first 4 chars of base contain the lang code.
+ // if redirect path already contains the lang code, and is != than the base lang code, then use redirect path as-is
+ if (Utils::pathPrefixedByLangCode($base) && Utils::pathPrefixedByLangCode($this->redirect)
+ && 0 !== strpos($this->redirect, substr($base, 0, 4))
+ ) {
+ $redirect = $this->redirect;
+ } else {
+ if (!Utils::startsWith($this->redirect, $base)) {
+ $this->redirect = $base . $this->redirect;
+ }
+ }
+
+ } else {
+ if (!Utils::startsWith($this->redirect, $base)) {
+ $this->redirect = $base . $this->redirect;
+ }
+ }
+
+ if (!$redirect) {
+ $redirect = $this->redirect;
+ }
+
+ $this->grav->redirect($redirect, $this->redirectCode);
+ }
+
+ /**
+ * Prepare and return POST data.
+ *
+ * @param array $post
+ *
+ * @return array
+ */
+ protected function getPost($post)
+ {
+ if (!is_array($post)) {
+ return [];
+ }
+
+ unset($post['task']);
+
+ // Decode JSON encoded fields and merge them to data.
+ if (isset($post['_json'])) {
+ $post = array_replace_recursive($post, $this->jsonDecode($post['_json']));
+ unset($post['_json']);
+ }
+
+ $post = $this->cleanDataKeys($post);
+
+ return $post;
+ }
+
+ /**
+ * Recursively JSON decode data.
+ *
+ * @param array $data
+ *
+ * @return array
+ */
+ protected function jsonDecode(array $data)
+ {
+ foreach ($data as &$value) {
+ if (is_array($value)) {
+ $value = $this->jsonDecode($value);
+ } else {
+ $value = json_decode($value, true);
+ }
+ }
+
+ return $data;
+ }
+
+ protected function cleanDataKeys($source = [])
+ {
+ $out = [];
+
+ if (is_array($source)) {
+ foreach ($source as $key => $value) {
+ $key = str_replace(['%5B', '%5D'], ['[', ']'], $key);
+ if (is_array($value)) {
+ $out[$key] = $this->cleanDataKeys($value);
+ } else {
+ $out[$key] = $value;
+ }
+ }
+ }
+
+ return $out;
+ }
+
+ /**
+ * Return true if multilang is active
+ *
+ * @return bool True if multilang is active
+ */
+ protected function isMultilang()
+ {
+ return count($this->grav['config']->get('system.languages.supported', [])) > 1;
+ }
+
+ /**
+ * @param \Grav\Common\Page\Page|\Grav\Common\Data\Data $obj
+ *
+ * @return \Grav\Common\Page\Page|\Grav\Common\Data\Data
+ */
+ protected function storeFiles($obj)
+ {
+ // Process previously uploaded files for the current URI
+ // and finally store them. Everything else will get discarded
+ $queue = $this->admin->session()->getFlashObject('files-upload');
+ $queue = $queue[base64_encode($this->grav['uri']->url())];
+ if (is_array($queue)) {
+ foreach ($queue as $key => $files) {
+ foreach ($files as $destination => $file) {
+ if (!rename($file['tmp_name'], $destination)) {
+ throw new \RuntimeException(sprintf($this->admin->translate('PLUGIN_ADMIN.FILEUPLOAD_UNABLE_TO_MOVE',
+ null), '"' . $file['tmp_name'] . '"', $destination));
+ }
+
+ unset($files[$destination]['tmp_name']);
+ }
+
+ if ($this->view === 'pages') {
+ $keys = explode('.', preg_replace('/^header./', '', $key));
+ $init_key = array_shift($keys);
+ if (count($keys) > 0) {
+ $new_data = isset($obj->header()->{$init_key}) ? $obj->header()->{$init_key} : [];
+ Utils::setDotNotation($new_data, implode('.', $keys), $files, true);
+ } else {
+ $new_data = $files;
+ }
+ if (isset($data['header'][$init_key])) {
+ $obj->modifyHeader($init_key,
+ array_replace_recursive([], $data['header'][$init_key], $new_data));
+ } else {
+ $obj->modifyHeader($init_key, $new_data);
+ }
+ } else {
+ // TODO: [this is JS handled] if it's single file, remove existing and use set, if it's multiple, use join
+ $obj->join($key, $files); // stores
+ }
+
+ }
+ }
+
+ return $obj;
+ }
+
+ /**
+ * Used by the filepicker field to get a list of files in a folder.
+ */
+ protected function taskGetFilesInFolder()
+ {
+ if (!$this->authorizeTask('save', $this->dataPermissions())) {
+ return false;
+ }
+
+ $data = $this->view === 'pages' ? $this->admin->page(true) : $this->prepareData([]);
+ $settings = $data->blueprints()->schema()->getProperty($this->post['name']);
+
+ if (isset($settings['folder'])) {
+ $folder = $settings['folder'];
+ } else {
+ $folder = '@self';
+ }
+
+ // Do not use self@ outside of pages
+ if ($this->view !== 'pages' && in_array($folder, ['@self', 'self@', '@self@'])) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => sprintf($this->admin->translate('PLUGIN_ADMIN.FILEUPLOAD_PREVENT_SELF', null), $folder)
+ ];
+
+ return false;
+ }
+
+ // Set destination
+ $folder = Folder::getRelativePath(rtrim($folder, '/'));
+ $folder = $this->admin->getPagePathFromToken($folder);
+
+ $media = new Media($folder);
+ $available_files = [];
+ $metadata = [];
+ $thumbs = [];
+
+
+ foreach ($media->all() as $name => $medium) {
+
+ $available_files[] = $name;
+
+ if (isset($settings['include_metadata'])) {
+ $img_metadata = $medium->metadata();
+ if ($img_metadata) {
+ $metadata[$name] = $img_metadata;
+ }
+ }
+
+ }
+
+ // Peak in the flashObject for optimistic filepicker updates
+ $pending_files = [];
+ $sessionField = base64_encode($this->grav['uri']->url());
+ $flash = $this->admin->session()->getFlashObject('files-upload');
+
+ if ($flash && isset($flash[$sessionField])) {
+ foreach ($flash[$sessionField] as $field => $data) {
+ foreach ($data as $file) {
+ if (dirname($file['path']) === $folder) {
+ $pending_files[] = $file['name'];
+ }
+ }
+ }
+ }
+
+ $this->admin->session()->setFlashObject('files-upload', $flash);
+
+ // Handle Accepted file types
+ // Accept can only be file extensions (.pdf|.jpg)
+ if (isset($settings['accept'])) {
+ $available_files = array_filter($available_files, function ($file) use ($settings) {
+ return $this->filterAcceptedFiles($file, $settings);
+ });
+
+ $pending_files = array_filter($pending_files, function ($file) use ($settings) {
+ return $this->filterAcceptedFiles($file, $settings);
+ });
+ }
+
+ // Generate thumbs if needed
+ if (isset($settings['preview_images']) && $settings['preview_images'] === true) {
+ foreach ($available_files as $filename) {
+ $thumbs[$filename] = $media[$filename]->zoomCrop(100,100)->url();
+ }
+ }
+
+ $this->admin->json_response = [
+ 'status' => 'success',
+ 'files' => array_values($available_files),
+ 'pending' => array_values($pending_files),
+ 'folder' => $folder,
+ 'metadata' => $metadata,
+ 'thumbs' => $thumbs
+ ];
+
+ return true;
+ }
+
+ protected function filterAcceptedFiles($file, $settings)
+ {
+ $valid = false;
+
+ foreach ((array)$settings['accept'] as $type) {
+ $find = str_replace('*', '.*', $type);
+ $valid |= preg_match('#' . $find . '$#', $file);
+ }
+
+ return $valid;
+ }
+
+ /**
+ * Handle deleting a file from a blueprint
+ *
+ * @return bool True if the action was performed.
+ */
+ protected function taskRemoveFileFromBlueprint()
+ {
+ $uri = $this->grav['uri'];
+ $blueprint = base64_decode($uri->param('blueprint'));
+ $path = base64_decode($uri->param('path'));
+ $proute = base64_decode($uri->param('proute'));
+ $type = $uri->param('type');
+ $field = $uri->param('field');
+
+ $this->taskRemoveMedia();
+
+ if ($type === 'pages') {
+ $page = $this->admin->page(true, $proute);
+ $keys = explode('.', preg_replace('/^header./', '', $field));
+ $header = (array)$page->header();
+ $data_path = implode('.', $keys);
+ $data = Utils::getDotNotation($header, $data_path);
+
+ if (isset($data[$path])) {
+ unset($data[$path]);
+ Utils::setDotNotation($header, $data_path, $data);
+ $page->header($header);
+ }
+
+ $page->save();
+ } else {
+ $blueprint_prefix = $type === 'config' ? '' : $type . '.';
+ $blueprint_name = str_replace(['config/', '/blueprints'], '', $blueprint);
+ $blueprint_field = $blueprint_prefix . $blueprint_name . '.' . $field;
+ $files = $this->grav['config']->get($blueprint_field);
+
+ if ($files) {
+ foreach ($files as $key => $value) {
+ if ($key == $path) {
+ unset($files[$key]);
+ }
+ }
+ }
+
+ $this->grav['config']->set($blueprint_field, $files);
+
+ switch ($type) {
+ case 'config':
+ $data = $this->grav['config']->get($blueprint_name);
+ $config = $this->admin->data($blueprint, $data);
+ $config->save();
+ break;
+ case 'themes':
+ Theme::saveConfig($blueprint_name);
+ break;
+ case 'plugins':
+ Plugin::saveConfig($blueprint_name);
+ break;
+ }
+ }
+
+ $this->admin->json_response = [
+ 'status' => 'success',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.REMOVE_SUCCESSFUL')
+ ];
+
+ return true;
+ }
+
+ /**
+ * Handles removing a media file
+ *
+ * @return bool True if the action was performed
+ */
+ public function taskRemoveMedia()
+ {
+ if (!$this->canEditMedia()) {
+ return false;
+ }
+
+ $filename = base64_decode($this->grav['uri']->param('route'));
+ if (!$filename) {
+ $filename = base64_decode($this->route);
+ }
+
+ $file = File::instance($filename);
+ $resultRemoveMedia = false;
+
+ if ($file->exists()) {
+ $resultRemoveMedia = $file->delete();
+
+ $fileParts = pathinfo($filename);
+
+ foreach (scandir($fileParts['dirname']) as $file) {
+ $regex_pattern = '/' . preg_quote($fileParts['filename'], '/') . "@\d+x\." . $fileParts['extension'] . "(?:\.meta\.yaml)?$|" . preg_quote($fileParts['basename'], '/') . "\.meta\.yaml$/";
+ if (preg_match($regex_pattern, $file)) {
+ $path = $fileParts['dirname'] . '/' . $file;
+ @unlink($path);
+ }
+ }
+
+ }
+
+ if ($resultRemoveMedia) {
+ if ($this->grav['uri']->extension() === 'json') {
+ $this->admin->json_response = [
+ 'status' => 'success',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.REMOVE_SUCCESSFUL')
+ ];
+ } else {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.REMOVE_SUCCESSFUL'), 'info');
+ $this->clearMediaCache();
+ $this->setRedirect('/media-manager');
+ }
+
+ return true;
+ }
+
+ if ($this->grav['uri']->extension() === 'json') {
+ $this->admin->json_response = [
+ 'status' => 'success',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.REMOVE_FAILED')
+ ];
+ } else {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.REMOVE_FAILED'), 'error');
+ }
+
+ return false;
+ }
+
+ /**
+ * Handles clearing the media cache
+ *
+ * @return bool True if the action was performed
+ */
+ protected function clearMediaCache()
+ {
+ $key = 'media-manager-files';
+ $cache = $this->grav['cache'];
+ $cache->delete(md5($key));
+
+ return true;
+ }
+
+ /**
+ * Determine if the user can edit media
+ *
+ * @param string $type
+ *
+ * @return bool True if the media action is allowed
+ */
+ protected function canEditMedia($type = 'media')
+ {
+ if (!$this->authorizeTask('edit media', ['admin.' . $type, 'admin.super'])) {
+ return false;
+ }
+
+ return true;
+ }
+}
diff --git a/user/plugins/admin/classes/admincontroller.php b/user/plugins/admin/classes/admincontroller.php
new file mode 100644
index 0000000..e3b1be8
--- /dev/null
+++ b/user/plugins/admin/classes/admincontroller.php
@@ -0,0 +1,2297 @@
+ "There is no error, the file uploaded with success",
+ 1 => "The uploaded file exceeds the max upload size",
+ 2 => "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML",
+ 3 => "The uploaded file was only partially uploaded",
+ 4 => "No file was uploaded",
+ 6 => "Missing a temporary folder",
+ 7 => "Failed to write file to disk",
+ 8 => "A PHP extension stopped the file upload"
+ ];
+
+ /**
+ * @param Grav $grav
+ * @param string $view
+ * @param string $task
+ * @param string $route
+ * @param array $post
+ */
+ public function initialize(Grav $grav = null, $view = null, $task = null, $route = null, $post = null)
+ {
+ $this->grav = $grav;
+ $this->view = $view;
+ $this->task = $task ? $task : 'display';
+ if (isset($post['data'])) {
+ $this->data = $this->getPost($post['data']);
+ unset($post['data']);
+ } else {
+ // Backwards compatibility for Form plugin <= 1.2
+ $this->data = $this->getPost($post);
+ }
+ $this->post = $this->getPost($post);
+ $this->route = $route;
+ $this->admin = $this->grav['admin'];
+
+ $this->grav->fireEvent('onAdminControllerInit', new Event(['controller' => &$this]));
+ }
+
+ /**
+ * Handle login.
+ *
+ * @return bool True if the action was performed.
+ */
+ protected function taskLogin()
+ {
+ $this->admin->authenticate($this->data, $this->post);
+
+ return true;
+ }
+
+ /**
+ * @return bool True if the action was performed.
+ */
+ protected function taskTwofa()
+ {
+ $this->admin->twoFa($this->data, $this->post);
+
+ return true;
+ }
+
+ /**
+ * Handle logout.
+ *
+ * @return bool True if the action was performed.
+ */
+ protected function taskLogout()
+ {
+ $this->admin->logout($this->data, $this->post);
+
+ return true;
+ }
+
+ /**
+ * @param null $secret
+ * @return bool
+ */
+ public function taskRegenerate2FASecret()
+ {
+ if (!$this->authorizeTask('regenerate 2FA Secret', ['admin.login'])) {
+ return false;
+ }
+
+ try {
+ /** @var User $user */
+ $user = $this->grav['user'];
+
+ /** @var TwoFactorAuth $twoFa */
+ $twoFa = $this->grav['login']->twoFactorAuth();
+ $secret = $twoFa->createSecret();
+ $image = $twoFa->getQrImageData($user->username, $secret);
+
+ // Save secret into the user file.
+ $file = $user->file();
+ if ($file->exists()) {
+ $content = $file->content();
+ $content['twofa_secret'] = $secret;
+ $file->save($content);
+ $file->free();
+ }
+
+ // Change secret in the session.
+ $user->twofa_secret = $secret;
+
+ $this->admin->json_response = ['status' => 'success', 'image' => $image, 'secret' => preg_replace('|(\w{4})|', '\\1 ', $secret)];
+ } catch (\Exception $e) {
+ $this->admin->json_response = ['status' => 'error', 'message' => $e->getMessage()];
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Handle the reset password action.
+ *
+ * @return bool True if the action was performed.
+ */
+ public function taskReset()
+ {
+ $data = $this->data;
+
+ if (isset($data['password'])) {
+ $username = isset($data['username']) ? strip_tags(strtolower($data['username'])) : null;
+ $user = $username ? User::load($username) : null;
+ $password = isset($data['password']) ? $data['password'] : null;
+ $token = isset($data['token']) ? $data['token'] : null;
+
+ if ($user && $user->exists() && !empty($user->reset)) {
+ list($good_token, $expire) = explode('::', $user->reset);
+
+ if ($good_token === $token) {
+ if (time() > $expire) {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.RESET_LINK_EXPIRED'), 'error');
+ $this->setRedirect('/forgot');
+
+ return true;
+ }
+
+ unset($user->hashed_password, $user->reset);
+ $user->password = $password;
+
+ $user->validate();
+ $user->filter();
+ $user->save();
+
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.RESET_PASSWORD_RESET'), 'info');
+ $this->setRedirect('/');
+
+ return true;
+ }
+ }
+
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.RESET_INVALID_LINK'), 'error');
+ $this->setRedirect('/forgot');
+
+ return true;
+
+ }
+
+ $user = $this->grav['uri']->param('user');
+ $token = $this->grav['uri']->param('token');
+
+ if (empty($user) || empty($token)) {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.RESET_INVALID_LINK'), 'error');
+ $this->setRedirect('/forgot');
+
+ return true;
+ }
+
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.RESET_NEW_PASSWORD'), 'info');
+
+ $this->admin->forgot = ['username' => $user, 'token' => $token];
+
+ return true;
+ }
+
+ /**
+ * Handle the email password recovery procedure.
+ *
+ * @return bool True if the action was performed.
+ * @todo LOGIN
+ */
+ protected function taskForgot()
+ {
+ $param_sep = $this->grav['config']->get('system.param_sep', ':');
+ $post = $this->post;
+ $data = $this->data;
+ $login = $this->grav['login'];
+
+ $username = isset($data['username']) ? strip_tags(strtolower($data['username'])) : '';
+ $user = !empty($username) ? User::load($username) : null;
+
+ if (!isset($this->grav['Email'])) {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.FORGOT_EMAIL_NOT_CONFIGURED'), 'error');
+ $this->setRedirect($post['redirect']);
+
+ return true;
+ }
+
+ if (!$user || !$user->exists()) {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL'),
+ 'info');
+ $this->setRedirect($post['redirect']);
+
+ return true;
+ }
+
+ if (empty($user->email)) {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL'),
+ 'info');
+ $this->setRedirect($post['redirect']);
+
+ return true;
+ }
+
+ $count = $this->grav['config']->get('plugins.login.max_pw_resets_count', 0);
+ $interval =$this->grav['config']->get('plugins.login.max_pw_resets_interval', 2);
+
+ if ($login->isUserRateLimited($user, 'pw_resets', $count, $interval)) {
+ $this->admin->setMessage($this->admin->translate(['PLUGIN_LOGIN.FORGOT_CANNOT_RESET_IT_IS_BLOCKED', $user->email, $interval]), 'error');
+ $this->setRedirect($post['redirect']);
+
+ return true;
+ }
+
+ $token = md5(uniqid(mt_rand(), true));
+ $expire = time() + 604800; // next week
+
+ $user->reset = $token . '::' . $expire;
+ $user->save();
+
+ $author = $this->grav['config']->get('site.author.name', '');
+ $fullname = $user->fullname ?: $username;
+ $reset_link = rtrim($this->grav['uri']->rootUrl(true), '/') . '/' . trim($this->admin->base,
+ '/') . '/reset/task' . $param_sep . 'reset/user' . $param_sep . $username . '/token' . $param_sep . $token . '/admin-nonce' . $param_sep . Utils::getNonce('admin-form');
+
+ $sitename = $this->grav['config']->get('site.title', 'Website');
+ $from = $this->grav['config']->get('plugins.email.from');
+
+ if (empty($from)) {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.FORGOT_EMAIL_NOT_CONFIGURED'), 'error');
+ $this->setRedirect($post['redirect']);
+
+ return true;
+ }
+
+ $to = $user->email;
+
+ $subject = $this->admin->translate(['PLUGIN_ADMIN.FORGOT_EMAIL_SUBJECT', $sitename]);
+ $content = $this->admin->translate([
+ 'PLUGIN_ADMIN.FORGOT_EMAIL_BODY',
+ $fullname,
+ $reset_link,
+ $author,
+ $sitename
+ ]);
+
+ $body = $this->grav['twig']->processTemplate('email/base.html.twig', ['content' => $content]);
+
+ $message = $this->grav['Email']->message($subject, $body, 'text/html')->setFrom($from)->setTo($to);
+
+ $sent = $this->grav['Email']->send($message);
+
+ if ($sent < 1) {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.FORGOT_FAILED_TO_EMAIL'), 'error');
+ } else {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL'),
+ 'info');
+ }
+
+ $this->setRedirect('/');
+
+ return true;
+ }
+
+ /**
+ * Enable a plugin.
+ *
+ * @return bool True if the action was performed.
+ */
+ public function taskEnable()
+ {
+ if (!$this->authorizeTask('enable plugin', ['admin.plugins', 'admin.super'])) {
+ return false;
+ }
+
+ if ($this->view !== 'plugins') {
+ return false;
+ }
+
+ // Filter value and save it.
+ $this->post = ['enabled' => true];
+ $obj = $this->prepareData($this->post);
+ $obj->save();
+
+ $this->post = ['_redirect' => 'plugins'];
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_ENABLED_PLUGIN'), 'info');
+
+ return true;
+ }
+
+ /**
+ * Gets the configuration data for a given view & post
+ *
+ * @param array $data
+ *
+ * @return object
+ */
+ protected function prepareData(array $data)
+ {
+ $type = trim("{$this->view}/{$this->admin->route}", '/');
+ $data = $this->admin->data($type, $data);
+
+ return $data;
+ }
+
+ /**
+ * Disable a plugin.
+ *
+ * @return bool True if the action was performed.
+ */
+ public function taskDisable()
+ {
+ if (!$this->authorizeTask('disable plugin', ['admin.plugins', 'admin.super'])) {
+ return false;
+ }
+
+ if ($this->view !== 'plugins') {
+ return false;
+ }
+
+ // Filter value and save it.
+ $this->post = ['enabled' => false];
+ $obj = $this->prepareData($this->post);
+ $obj->save();
+
+ $this->post = ['_redirect' => 'plugins'];
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_DISABLED_PLUGIN'), 'info');
+
+ return true;
+ }
+
+ /**
+ * Set the default theme.
+ *
+ * @return bool True if the action was performed.
+ */
+ public function taskActivate()
+ {
+ if (!$this->authorizeTask('activate theme', ['admin.themes', 'admin.super'])) {
+ return false;
+ }
+
+ if ($this->view !== 'themes') {
+ return false;
+ }
+
+ $this->post = ['_redirect' => 'themes'];
+
+ // Make sure theme exists (throws exception)
+ $name = $this->route;
+ $this->grav['themes']->get($name);
+
+ // Store system configuration.
+ $system = $this->admin->data('config/system');
+ $system->set('pages.theme', $name);
+ $system->save();
+
+ // Force configuration reload and save.
+ /** @var Config $config */
+ $config = $this->grav['config'];
+ $config->reload()->save();
+
+ $config->set('system.pages.theme', $name);
+
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_CHANGED_THEME'), 'info');
+
+ return true;
+ }
+
+ /**
+ * Handles updating Grav
+ *
+ * @return bool True if the action was performed
+ */
+ public function taskUpdategrav()
+ {
+ if (!$this->authorizeTask('install grav', ['admin.super'])) {
+ return false;
+ }
+
+ $gpm = Gpm::GPM();
+ $version = $gpm->grav->getVersion();
+ $result = Gpm::selfupgrade();
+
+ if ($result) {
+ $this->admin->json_response = [
+ 'status' => 'success',
+ 'type' => 'updategrav',
+ 'version' => $version,
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.GRAV_WAS_SUCCESSFULLY_UPDATED_TO') . ' ' . $version
+ ];
+ } else {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'type' => 'updategrav',
+ 'version' => GRAV_VERSION,
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.GRAV_UPDATE_FAILED') . '
' . Installer::lastErrorMsg()
+ ];
+ }
+
+ return true;
+ }
+
+ /**
+ * Handles uninstalling plugins and themes
+ *
+ * @deprecated
+ *
+ * @return bool True if the action was performed
+ */
+ public function taskUninstall()
+ {
+ $type = $this->view === 'plugins' ? 'plugins' : 'themes';
+ if (!$this->authorizeTask('uninstall ' . $type, ['admin.' . $type, 'admin.super'])) {
+ return false;
+ }
+
+ $package = $this->route;
+
+ $result = Gpm::uninstall($package, []);
+
+ if ($result) {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.UNINSTALL_SUCCESSFUL'), 'info');
+ } else {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.UNINSTALL_FAILED'), 'error');
+ }
+
+ $this->post = ['_redirect' => $this->view];
+
+ return true;
+ }
+
+ /**
+ * Handles creating an empty page folder (without markdown file)
+ *
+ * @return bool True if the action was performed.
+ */
+ public function taskSaveNewFolder()
+ {
+ if (!$this->authorizeTask('save', $this->dataPermissions())) {
+ return false;
+ }
+
+ $data = (array)$this->data;
+
+ if ($data['route'] === '/') {
+ $path = $this->grav['locator']->findResource('page://');
+ } else {
+ $path = $this->grav['page']->find($data['route'])->path();
+ }
+
+ $orderOfNewFolder = $this->getNextOrderInFolder($path);
+ $new_path = $path . '/' . $orderOfNewFolder . '.' . $data['folder'];
+
+ Folder::create($new_path);
+ Cache::clearCache('standard');
+
+ $this->grav->fireEvent('onAdminAfterSaveAs', new Event(['path' => $new_path]));
+
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_SAVED'), 'info');
+
+ $multilang = $this->isMultilang();
+ $admin_route = $this->admin->base;
+ $redirect_url = '/' . ($multilang ? ($this->grav['session']->admin_lang) : '') . $admin_route . '/' . $this->view;
+ $this->setRedirect($redirect_url);
+
+ return true;
+ }
+
+ /**
+ * Get the next available ordering number in a folder
+ *
+ * @param $path
+ *
+ * @return string the correct order string to prepend
+ */
+ public static function getNextOrderInFolder($path)
+ {
+ $files = Folder::all($path, ['recursive' => false]);
+
+ $highestOrder = 0;
+ foreach ($files as $file) {
+ preg_match(PAGE_ORDER_PREFIX_REGEX, $file, $order);
+
+ if (isset($order[0])) {
+ $theOrder = (int)trim($order[0], '.');
+ } else {
+ $theOrder = 0;
+ }
+
+ if ($theOrder >= $highestOrder) {
+ $highestOrder = $theOrder;
+ }
+ }
+
+ $orderOfNewFolder = $highestOrder + 1;
+
+ if ($orderOfNewFolder < 10) {
+ $orderOfNewFolder = '0' . $orderOfNewFolder;
+ }
+
+ return $orderOfNewFolder;
+ }
+
+ /**
+ * Handles form and saves the input data if its valid.
+ *
+ * @return bool True if the action was performed.
+ */
+ public function taskSave()
+ {
+ if (!$this->authorizeTask('save', $this->dataPermissions())) {
+ return false;
+ }
+
+ $reorder = true;
+ $data = (array)$this->data;
+
+ // Special handler for user data.
+ if ($this->view === 'user') {
+ if (!$this->admin->authorize(['admin.super', 'admin.users'])) {
+ //not admin.super or admin.users
+ if ($this->prepareData($data)->username !== $this->grav['user']->username) {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.INSUFFICIENT_PERMISSIONS_FOR_TASK') . ' save.',
+ 'error');
+
+ return false;
+ }
+ }
+ }
+
+ // Special handler for pages data.
+ if ($this->view === 'pages') {
+ /** @var Pages $pages */
+ $pages = $this->grav['pages'];
+
+ // Find new parent page in order to build the path.
+ $route = !isset($data['route']) ? dirname($this->admin->route) : $data['route'];
+
+ /** @var Page $obj */
+ $obj = $this->admin->page(true);
+
+ if (!isset($data['folder']) || !$data['folder']) {
+ $data['folder'] = $obj->slug();
+ $this->data['folder'] = $obj->slug();
+ }
+
+ // Ensure route is prefixed with a forward slash.
+ $route = '/' . ltrim($route, '/');
+
+ if (isset($data['frontmatter']) && !$this->checkValidFrontmatter($data['frontmatter'])) {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.INVALID_FRONTMATTER_COULD_NOT_SAVE'),
+ 'error');
+
+ return false;
+ }
+
+
+ $parent = $route && $route !== '/' && $route !== '.' && $route !== '/.' ? $pages->dispatch($route, true) : $pages->root();
+ $original_order = (int)trim($obj->order(), '.');
+
+ try {
+ // Change parent if needed and initialize move (might be needed also on ordering/folder change).
+ $obj = $obj->move($parent);
+ $this->preparePage($obj, false, $obj->language());
+ $obj->validate();
+
+ } catch (\Exception $e) {
+ $this->admin->setMessage($e->getMessage(), 'error');
+
+ return false;
+ }
+ $obj->filter();
+
+ // rename folder based on visible
+ if ($original_order === 1000) {
+ // increment order to force reshuffle
+ $obj->order($original_order + 1);
+ }
+
+ if (isset($data['order']) && !empty($data['order'])) {
+ $reorder = explode(',', $data['order']);
+ }
+
+ // add or remove numeric prefix based on ordering value
+ if (isset($data['ordering'])) {
+ if ($data['ordering'] && !$obj->order()) {
+ $obj->order($this->getNextOrderInFolder($obj->parent()->path()));
+ $reorder = false;
+ } elseif (!$data['ordering'] && $obj->order()) {
+ $obj->folder($obj->slug());
+ }
+ }
+
+ } else {
+ // Handle standard data types.
+ $obj = $this->prepareData($data);
+
+ try {
+ $obj->validate();
+ } catch (\Exception $e) {
+ $this->admin->setMessage($e->getMessage(), 'error');
+
+ return false;
+ }
+
+ $obj->filter();
+ }
+
+ $obj = $this->storeFiles($obj);
+
+ if ($obj) {
+ // Event to manipulate data before saving the object
+ $this->grav->fireEvent('onAdminSave', new Event(['object' => &$obj]));
+ $obj->save($reorder);
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_SAVED'), 'info');
+ $this->grav->fireEvent('onAdminAfterSave', new Event(['object' => $obj]));
+ }
+
+ if ($this->view !== 'pages') {
+ // Force configuration reload.
+ /** @var Config $config */
+ $config = $this->grav['config'];
+ $config->reload();
+
+ if ($this->view === 'user') {
+ if ($obj->username === $this->grav['user']->username) {
+ //Editing current user. Reload user object
+ unset($this->grav['user']->avatar);
+ $this->grav['user']->merge(User::load($this->admin->route)->toArray());
+ }
+ }
+ }
+
+ // Always redirect if a page route was changed, to refresh it
+ if ($obj instanceof Page) {
+ if (method_exists($obj, 'unsetRouteSlug')) {
+ $obj->unsetRouteSlug();
+ }
+
+ $multilang = $this->isMultilang();
+
+ if ($multilang) {
+ if (!$obj->language()) {
+ $obj->language($this->grav['session']->admin_lang);
+ }
+ }
+ $admin_route = $this->admin->base;
+
+ $route = $obj->rawRoute();
+ $redirect_url = ($multilang ? '/' . $obj->language() : '') . $admin_route . '/' . $this->view . $route;
+ $this->setRedirect($redirect_url);
+ }
+
+ return true;
+ }
+
+ /**
+ * @param string $frontmatter
+ *
+ * @return bool
+ */
+ public function checkValidFrontmatter($frontmatter)
+ {
+ try {
+ // Try native PECL YAML PHP extension first if available.
+ if (function_exists('yaml_parse')) {
+ $saved = @ini_get('yaml.decode_php');
+ @ini_set('yaml.decode_php', 0);
+ @yaml_parse("---\n" . $frontmatter . "\n...");
+ @ini_set('yaml.decode_php', $saved);
+ } else {
+ Yaml::parse($frontmatter);
+ }
+ } catch (ParseException $e) {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Continue to the new page.
+ *
+ * @return bool True if the action was performed.
+ */
+ public function taskContinue()
+ {
+ $data = (array)$this->data;
+
+ if ($this->view === 'users') {
+ $username = strip_tags(strtolower($data['username']));
+ $this->setRedirect("{$this->view}/{$username}");
+
+ return true;
+ }
+
+ if ($this->view === 'groups') {
+ $this->setRedirect("{$this->view}/{$data['groupname']}");
+
+ return true;
+ }
+
+ if ($this->view !== 'pages') {
+ return false;
+ }
+
+ $route = $data['route'] !== '/' ? $data['route'] : '';
+ $folder = $data['folder'];
+ // Handle @slugify-{field} value, automatically slugifies the specified field
+ if (0 === strpos($folder, '@slugify-')) {
+ $folder = \Grav\Plugin\Admin\Utils::slug($data[substr($folder, 9)]);
+ }
+ $folder = ltrim($folder, '_');
+ if (!empty($data['modular'])) {
+ $folder = '_' . $folder;
+ }
+ $path = $route . '/' . $folder;
+
+ $this->admin->session()->{$path} = $data;
+
+ // Store the name and route of a page, to be used pre-filled defaults of the form in the future
+ $this->admin->session()->lastPageName = $data['name'];
+ $this->admin->session()->lastPageRoute = $data['route'];
+
+ $this->setRedirect("{$this->view}/" . ltrim($path, '/'));
+
+ return true;
+ }
+
+ /**
+ * Toggle the gpm.releases setting
+ */
+ protected function taskGpmRelease()
+ {
+ if (!$this->authorizeTask('configuration', ['admin.configuration', 'admin.super'])) {
+ return false;
+ }
+
+ // Default release state
+ $release = 'stable';
+ $reload = false;
+
+ // Get the testing release value if set
+ if ($this->post['release'] === 'testing') {
+ $release = 'testing';
+ }
+
+ $config = $this->grav['config'];
+ $current_release = $config->get('system.gpm.releases');
+
+ // If the releases setting is different, save it in the system config
+ if ($current_release !== $release) {
+ $data = new Data\Data($config->get('system'));
+ $data->set('gpm.releases', $release);
+
+ // Get the file location
+ $file = CompiledYamlFile::instance($this->grav['locator']->findResource('config://system.yaml'));
+ $data->file($file);
+
+ // Save the configuration
+ $data->save();
+ $config->reload();
+ $reload = true;
+ }
+
+ $this->admin->json_response = ['status' => 'success', 'reload' => $reload];
+
+ return true;
+ }
+
+ /**
+ * Keep alive
+ */
+ protected function taskKeepAlive()
+ {
+ exit();
+ }
+
+ protected function taskGetNewsFeed()
+ {
+ $cache = $this->grav['cache'];
+
+ if ($this->post['refresh'] === 'true') {
+ $cache->delete('news-feed');
+ }
+
+ $feed_data = $cache->fetch('news-feed');
+
+ if (!$feed_data) {
+ try {
+ $feed = $this->admin->getFeed();
+ if (is_object($feed)) {
+
+ require_once __DIR__ . '/../classes/Twig/AdminTwigExtension.php';
+ $adminTwigExtension = new AdminTwigExtension;
+
+ $feed_items = $feed->getItems();
+
+ // Feed should only every contain 10, but just in case!
+ if (count($feed_items) > 10) {
+ $feed_items = array_slice($feed_items, 0, 10);
+ }
+
+ foreach ($feed_items as $item) {
+ $datetime = $adminTwigExtension->adminNicetimeFilter($item->getDate()->getTimestamp());
+ $feed_data[] = '
' . $this->admin->translate('PLUGIN_ADMIN.METHOD') . ': ' . $clear . ''
+ ];
+ } else {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.ERROR_CLEARING_CACHE')
+ ];
+ }
+
+ return true;
+ }
+
+ /**
+ * Clear the cache.
+ *
+ * @return bool True if the action was performed.
+ */
+ protected function taskHideNotification()
+ {
+ if (!$this->authorizeTask('hide notification', ['admin.login'])) {
+ return false;
+ }
+
+ $notification_id = $this->grav['uri']->param('notification_id');
+
+ if (!$notification_id) {
+ $this->admin->json_response = [
+ 'status' => 'error'
+ ];
+
+ return false;
+ }
+
+ $filename = $this->grav['locator']->findResource('user://data/notifications/' . $this->grav['user']->username . YAML_EXT,
+ true, true);
+ $file = CompiledYamlFile::instance($filename);
+ $data = $file->content();
+ $data[] = $notification_id;
+ $file->save($data);
+
+ $this->admin->json_response = [
+ 'status' => 'success'
+ ];
+
+ return true;
+ }
+
+ /**
+ * Handle the backup action
+ *
+ * @return bool True if the action was performed.
+ */
+ protected function taskBackup()
+ {
+ $param_sep = $this->grav['config']->get('system.param_sep', ':');
+ if (!$this->authorizeTask('backup', ['admin.maintenance', 'admin.super'])) {
+ return false;
+ }
+
+ $download = $this->grav['uri']->param('download');
+
+ if ($download) {
+ $file = base64_decode(urldecode($download));
+ $backups_root_dir = $this->grav['locator']->findResource('backup://', true);
+
+ if (0 !== strpos($file, $backups_root_dir)) {
+ header('HTTP/1.1 401 Unauthorized');
+ exit();
+ }
+
+ Utils::download($file, true);
+ }
+
+ $log = JsonFile::instance($this->grav['locator']->findResource("log://backup.log", true, true));
+
+ try {
+ $backup = ZipBackup::backup();
+ } catch (\Exception $e) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.AN_ERROR_OCCURRED') . '. ' . $e->getMessage()
+ ];
+
+ return true;
+ }
+
+ $download = urlencode(base64_encode($backup));
+ $url = rtrim($this->grav['uri']->rootUrl(true), '/') . '/' . trim($this->admin->base,
+ '/') . '/task' . $param_sep . 'backup/download' . $param_sep . $download . '/admin-nonce' . $param_sep . Utils::getNonce('admin-form');
+
+ $log->content([
+ 'time' => time(),
+ 'location' => $backup
+ ]);
+ $log->save();
+
+ $this->admin->json_response = [
+ 'status' => 'success',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.YOUR_BACKUP_IS_READY_FOR_DOWNLOAD') . '. ' . $this->admin->translate('PLUGIN_ADMIN.DOWNLOAD_BACKUP') . '',
+ 'toastr' => [
+ 'timeOut' => 0,
+ 'extendedTimeOut' => 0,
+ 'closeButton' => true
+ ]
+ ];
+
+ return true;
+ }
+
+ protected function taskGetChildTypes()
+ {
+ if (!$this->authorizeTask('get childtypes', ['admin.pages', 'admin.super'])) {
+ return false;
+ }
+
+ $data = $this->post;
+
+ $rawroute = !empty($data['rawroute']) ? $data['rawroute'] : null;
+
+ if ($rawroute) {
+ /** @var Page $page */
+ $page = $this->grav['pages']->dispatch($rawroute);
+
+ if ($page) {
+ $child_type = $page->childType();
+
+ if (isset($child_type)) {
+ $this->admin->json_response = [
+ 'status' => 'success',
+ 'child_type' => $child_type
+ ];
+ return true;
+ }
+ }
+ }
+
+ $this->admin->json_response = [
+ 'status' => 'success',
+ 'child_type' => '',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.NO_CHILD_TYPE')
+ ];
+
+ return true;
+ }
+
+ /**
+ * Handles filtering the page by modular/visible/routable in the pages list.
+ */
+ protected function taskFilterPages()
+ {
+ if (!$this->authorizeTask('filter pages', ['admin.pages', 'admin.super'])) {
+ return;
+ }
+
+ $data = $this->post;
+
+ $flags = !empty($data['flags']) ? array_map('strtolower', explode(',', $data['flags'])) : [];
+ $queries = !empty($data['query']) ? explode(',', $data['query']) : [];
+
+ /** @var Collection $collection */
+ $collection = $this->grav['pages']->all();
+
+ if (count($flags)) {
+ // Filter by state
+ $pageStates = [
+ 'modular',
+ 'nonmodular',
+ 'visible',
+ 'nonvisible',
+ 'routable',
+ 'nonroutable',
+ 'published',
+ 'nonpublished'
+ ];
+
+ if (count(array_intersect($pageStates, $flags)) > 0) {
+ if (in_array('modular', $flags, true)) {
+ $collection = $collection->modular();
+ }
+
+ if (in_array('nonmodular', $flags, true)) {
+ $collection = $collection->nonModular();
+ }
+
+ if (in_array('visible', $flags, true)) {
+ $collection = $collection->visible();
+ }
+
+ if (in_array('nonvisible', $flags, true)) {
+ $collection = $collection->nonVisible();
+ }
+
+ if (in_array('routable', $flags, true)) {
+ $collection = $collection->routable();
+ }
+
+ if (in_array('nonroutable', $flags, true)) {
+ $collection = $collection->nonRoutable();
+ }
+
+ if (in_array('published', $flags, true)) {
+ $collection = $collection->published();
+ }
+
+ if (in_array('nonpublished', $flags, true)) {
+ $collection = $collection->nonPublished();
+ }
+ }
+ foreach ($pageStates as $pageState) {
+ if (($pageState = array_search($pageState, $flags, true)) !== false) {
+ unset($flags[$pageState]);
+ }
+ }
+
+ // Filter by page type
+ if ($flags) {
+ $types = [];
+
+ $pageTypes = array_keys(Pages::pageTypes());
+ foreach ($pageTypes as $pageType) {
+ if (($pageKey = array_search($pageType, $flags)) !== false) {
+ $types[] = $pageType;
+ unset($flags[$pageKey]);
+ }
+ }
+
+ if (count($types)) {
+ $collection = $collection->ofOneOfTheseTypes($types);
+ }
+ }
+
+ // Filter by page type
+ if ($flags) {
+ $accessLevels = $flags;
+ $collection = $collection->ofOneOfTheseAccessLevels($accessLevels);
+ }
+ }
+
+ if (!empty($queries)) {
+ foreach ($collection as $page) {
+ foreach ($queries as $query) {
+ $query = trim($query);
+ if (stripos($page->getRawContent(), $query) === false && stripos($page->title(),
+ $query) === false && stripos($page->slug(), \Grav\Plugin\Admin\Utils::slug($query)) === false && stripos($page->folder(),
+ $query) === false
+ ) {
+ $collection->remove($page);
+ }
+ }
+ }
+ }
+
+ $results = [];
+ foreach ($collection as $path => $page) {
+ $results[] = $page->route();
+ }
+
+ $this->admin->json_response = [
+ 'status' => 'success',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.PAGES_FILTERED'),
+ 'results' => $results
+ ];
+ $this->admin->collection = $collection;
+ }
+
+ /**
+ * Determines the file types allowed to be uploaded
+ *
+ * @return bool True if the action was performed.
+ */
+ protected function taskListmedia()
+ {
+ if (!$this->authorizeTask('list media', ['admin.pages', 'admin.super'])) {
+ return false;
+ }
+
+ $media = $this->getMedia();
+ if (!$media) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.NO_PAGE_FOUND')
+ ];
+
+ return false;
+ }
+
+ $media_list = [];
+ /**
+ * @var string $name
+ * @var Medium $medium
+ */
+ foreach ($media->all() as $name => $medium) {
+
+ $metadata = [];
+ $img_metadata = $medium->metadata();
+ if ($img_metadata) {
+ $metadata = $img_metadata;
+ }
+
+ // Get original name
+ $source = $medium->higherQualityAlternative();
+
+ $media_list[$name] = ['url' => $medium->display($medium->get('extension') === 'svg' ? 'source' : 'thumbnail')->cropZoom(400, 300)->url(), 'size' => $medium->get('size'), 'metadata' => $metadata, 'original' => $source->get('filename')];
+ }
+
+ $this->admin->json_response = ['status' => 'success', 'results' => $media_list];
+
+ return true;
+ }
+
+ /**
+ * @return Media
+ */
+ protected function getMedia()
+ {
+ $this->uri = $this->uri ?: $this->grav['uri'];
+ $uri = $this->uri->post('uri');
+ if ($uri) {
+ /** @var UniformResourceLocator $locator */
+ $locator = $this->grav['locator'];
+
+ $media_path = $locator->isStream($uri) ? $uri : null;
+ } else {
+ $page = $this->admin->page(true);
+
+ $media_path = $page ? $page->path() : null;
+ }
+
+ return $media_path ? new Media($media_path) : null;
+ }
+
+ /**
+ * Handles adding a media file to a page
+ *
+ * @return bool True if the action was performed.
+ */
+ protected function taskAddmedia()
+ {
+ if (!$this->authorizeTask('add media', ['admin.pages', 'admin.super'])) {
+ return false;
+ }
+
+ /** @var Config $config */
+ $config = $this->grav['config'];
+
+ if (!isset($_FILES['file']['error']) || is_array($_FILES['file']['error'])) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.INVALID_PARAMETERS')
+ ];
+
+ return false;
+ }
+
+ // Check $_FILES['file']['error'] value.
+ switch ($_FILES['file']['error']) {
+ case UPLOAD_ERR_OK:
+ break;
+ case UPLOAD_ERR_NO_FILE:
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.NO_FILES_SENT')
+ ];
+
+ return false;
+ case UPLOAD_ERR_INI_SIZE:
+ case UPLOAD_ERR_FORM_SIZE:
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.EXCEEDED_FILESIZE_LIMIT')
+ ];
+
+ return false;
+ case UPLOAD_ERR_NO_TMP_DIR:
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.UPLOAD_ERR_NO_TMP_DIR')
+ ];
+
+ return false;
+ default:
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.UNKNOWN_ERRORS')
+ ];
+
+ return false;
+ }
+
+ $grav_limit = $config->get('system.media.upload_limit', 0);
+ // You should also check filesize here.
+ if ($grav_limit > 0 && $_FILES['file']['size'] > $grav_limit) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.EXCEEDED_GRAV_FILESIZE_LIMIT')
+ ];
+
+ return false;
+ }
+
+
+ // Check extension
+ $fileParts = pathinfo($_FILES['file']['name']);
+
+ $fileExt = '';
+ if (isset($fileParts['extension'])) {
+ $fileExt = strtolower($fileParts['extension']);
+ }
+
+ // If not a supported type, return
+ if (!$fileExt || !$config->get("media.types.{$fileExt}")) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.UNSUPPORTED_FILE_TYPE') . ': ' . $fileExt
+ ];
+
+ return false;
+ }
+
+
+ $media = $this->getMedia();
+ if (!$media) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.NO_PAGE_FOUND')
+ ];
+
+ return false;
+ }
+
+ // Upload it
+ if (!move_uploaded_file($_FILES['file']['tmp_name'],
+ sprintf('%s/%s', $media->path(), $_FILES['file']['name']))
+ ) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.FAILED_TO_MOVE_UPLOADED_FILE')
+ ];
+
+ return false;
+ }
+
+ // Add metadata if needed
+ $include_metadata = Grav::instance()['config']->get('system.media.auto_metadata_exif', false);
+ $filename = $fileParts['basename'];
+ $filename = str_replace(['@3x', '@2x'], '', $filename);
+
+ $metadata = [];
+
+ if ($include_metadata && isset($media[$filename])) {
+ $img_metadata = $media[$filename]->metadata();
+ if ($img_metadata) {
+ $metadata = $img_metadata;
+ }
+ }
+
+ $page = $this->admin->page(true);
+ if ($page) {
+ $this->grav->fireEvent('onAdminAfterAddMedia', new Event(['page' => $page]));
+ }
+
+ $this->admin->json_response = [
+ 'status' => 'success',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.FILE_UPLOADED_SUCCESSFULLY'),
+ 'metadata' => $metadata,
+ ];
+
+ return true;
+ }
+
+ /**
+ * Handles deleting a media file from a page
+ *
+ * @return bool True if the action was performed.
+ */
+ protected function taskDelmedia()
+ {
+ if (!$this->authorizeTask('delete media', ['admin.pages', 'admin.super'])) {
+ return false;
+ }
+
+ $media = $this->getMedia();
+ if (!$media) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.NO_PAGE_FOUND')
+ ];
+
+ return false;
+ }
+
+ $filename = !empty($this->post['filename']) ? $this->post['filename'] : null;
+
+ if (!$filename) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.NO_FILE_FOUND')
+ ];
+
+ return false;
+ }
+
+ $targetPath = $media->path() . '/' . $filename;
+ $fileParts = pathinfo($filename);
+
+ $found = false;
+
+ if (file_exists($targetPath)) {
+ $found = true;
+ $result = unlink($targetPath);
+
+ if (!$result) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.FILE_COULD_NOT_BE_DELETED') . ': ' . $filename
+ ];
+
+ return false;
+ }
+ }
+
+ // Remove Extra Files
+ foreach (scandir($media->path(), SCANDIR_SORT_NONE) as $file) {
+ if (preg_match("/{$fileParts['filename']}@\d+x\.{$fileParts['extension']}(?:\.meta\.yaml)?$|{$filename}\.meta\.yaml$/", $file)) {
+ $result = unlink($media->path() . '/' . $file);
+
+ if (!$result) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.FILE_COULD_NOT_BE_DELETED') . ': ' . $filename
+ ];
+
+ return false;
+ }
+
+ $found = true;
+ }
+ }
+
+ if (!$found) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.FILE_NOT_FOUND') . ': ' . $filename
+ ];
+
+ return false;
+ }
+
+ $page = $this->admin->page(true);
+ if ($page) {
+ $this->grav->fireEvent('onAdminAfterDelMedia', new Event(['page' => $page]));
+ }
+
+ $this->admin->json_response = [
+ 'status' => 'success',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.FILE_DELETED') . ': ' . $filename
+ ];
+
+ return true;
+ }
+
+ /**
+ * Process the page Markdown
+ *
+ * @return bool True if the action was performed.
+ */
+ protected function taskProcessMarkdown()
+ {
+ /*if (!$this->authorizeTask('process markdown', ['admin.pages', 'admin.super'])) {
+ return;
+ }*/
+
+ try {
+ $page = $this->admin->page(true);
+
+ if (!$page) {
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $this->admin->translate('PLUGIN_ADMIN.NO_PAGE_FOUND')
+ ];
+
+ return false;
+ }
+
+ $this->preparePage($page, true);
+ $page->header();
+
+ // Add theme template paths to Twig loader
+ $template_paths = $this->grav['locator']->findResources('theme://templates');
+ $this->grav['twig']->twig->getLoader()->addLoader(new \Twig_Loader_Filesystem($template_paths));
+
+ $html = $page->content();
+
+ $this->admin->json_response = ['status' => 'success', 'preview' => $html];
+ } catch (\Exception $e) {
+ $this->admin->json_response = ['status' => 'error', 'message' => $e->getMessage()];
+
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Prepare a page to be stored: update its folder, name, template, header and content
+ *
+ * @param \Grav\Common\Page\Page $page
+ * @param bool $clean_header
+ * @param string $language
+ */
+ protected function preparePage(Page $page, $clean_header = false, $language = '')
+ {
+ $input = (array)$this->data;
+
+ if (isset($input['folder']) && $input['folder'] !== $page->value('folder')) {
+ $order = $page->value('order');
+ $ordering = $order ? sprintf('%02d.', $order) : '';
+ $page->folder($ordering . $input['folder']);
+ }
+
+ if (isset($input['name']) && !empty($input['name'])) {
+ $type = strtolower($input['name']);
+ $name = preg_replace('|.*/|', '', $type);
+ if ($language) {
+ $name .= '.' . $language;
+ } else {
+ $language = $this->grav['language'];
+ if ($language->enabled()) {
+ $name .= '.' . $language->getLanguage();
+ }
+ }
+ $name .= '.md';
+ $page->name($name);
+ $page->template($type);
+ }
+
+ // Special case for Expert mode: build the raw, unset content
+ if (isset($input['frontmatter'], $input['content'])) {
+ $page->raw("---\n" . (string)$input['frontmatter'] . "\n---\n" . (string)$input['content']);
+ unset($input['content']);
+ // Handle header normally
+ } elseif (isset($input['header'])) {
+ $header = $input['header'];
+
+ foreach ($header as $key => $value) {
+ if ($key === 'metadata' && is_array($header[$key])) {
+ foreach ($header['metadata'] as $key2 => $value2) {
+ if (isset($input['toggleable_header']['metadata'][$key2]) && !$input['toggleable_header']['metadata'][$key2]) {
+ $header['metadata'][$key2] = '';
+ }
+ }
+ } elseif ($key === 'taxonomy' && is_array($header[$key])) {
+ foreach ($header[$key] as $taxkey => $taxonomy) {
+ if (is_array($taxonomy) && count($taxonomy) == 1 && trim($taxonomy[0]) == '') {
+ unset($header[$key][$taxkey]);
+ }
+ }
+ } else {
+ if (isset($input['toggleable_header'][$key]) && !$input['toggleable_header'][$key]) {
+ $header[$key] = null;
+ }
+ }
+ }
+ if ($clean_header) {
+ $header = Utils::arrayFilterRecursive($header, function ($k, $v) {
+ return !(null === $v || $v === '');
+ });
+ }
+ $page->header((object)$header);
+ $page->frontmatter(Yaml::dump((array)$page->header()), 20);
+ }
+ // Fill content last because it also renders the output.
+ if (isset($input['content'])) {
+ $page->rawMarkdown((string)$input['content']);
+ }
+ }
+
+ /**
+ * Save page as a new copy.
+ *
+ * @return bool True if the action was performed.
+ * @throws \RuntimeException
+ */
+ protected function taskCopy()
+ {
+ if (!$this->authorizeTask('copy page', ['admin.pages', 'admin.super'])) {
+ return false;
+ }
+
+ // Only applies to pages.
+ if ($this->view !== 'pages') {
+ return false;
+ }
+
+ try {
+ /** @var Pages $pages */
+ $pages = $this->grav['pages'];
+
+ // Get the current page.
+ $original_page = $this->admin->page(true);
+
+ // Find new parent page in order to build the path.
+ $parent = $original_page->parent() ?: $pages->root();
+ // Make a copy of the current page and fill the updated information into it.
+ $page = $original_page->copy($parent);
+
+ $order = 0;
+ if ($page->order()) {
+ $order = $this->getNextOrderInFolder($page->parent()->path());
+ }
+
+ // Make sure the header is loaded in case content was set through raw() (expert mode)
+ $page->header();
+
+ if ($page->order()) {
+ $page->order($order);
+ }
+
+ $folder = $this->findFirstAvailable('folder', $page);
+ $slug = $this->findFirstAvailable('slug', $page);
+
+ $page->path($page->parent()->path() . DS . $page->order() . $folder);
+ $page->route($page->parent()->route() . '/' . $slug);
+ $page->rawRoute($page->parent()->rawRoute() . '/' . $slug);
+
+ // Append progressive number to the copied page title
+ $match = preg_split('/(\d+)(?!.*\d)/', $original_page->title(), 2, PREG_SPLIT_DELIM_CAPTURE);
+ $header = $page->header();
+ if (!isset($match[1])) {
+ $header->title = $match[0] . ' 2';
+ } else {
+ $header->title = $match[0] . ((int)$match[1] + 1);
+ }
+
+ $page->header($header);
+ $page->save(false);
+
+ $redirect = $this->view . $page->rawRoute();
+ $header = $page->header();
+
+ if (isset($header->slug)) {
+ $match = preg_split('/-(\d+)$/', $header->slug, 2, PREG_SPLIT_DELIM_CAPTURE);
+ $header->slug = $match[0] . '-' . (isset($match[1]) ? (int)$match[1] + 1 : 2);
+ }
+
+ $page->header($header);
+
+ $page->save();
+
+ $this->grav->fireEvent('onAdminAfterSave', new Event(['page' => $page]));
+
+ // Enqueue message and redirect to new location.
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_COPIED'), 'info');
+ $this->setRedirect($redirect);
+
+ } catch (\Exception $e) {
+ throw new \RuntimeException('Copying page failed on error: ' . $e->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Find the first available $item ('slug' | 'folder') for a page
+ * Used when copying a page, to determine the first available slot
+ *
+ * @param string $item
+ * @param Page $page
+ *
+ * @return string The first available slot
+ */
+ protected function findFirstAvailable($item, $page)
+ {
+ if (!$page->parent()->children()) {
+ return $page->$item();
+ }
+
+ $withoutPrefix = function ($string) {
+ $match = preg_split('/^[0-9]+\./u', $string, 2, PREG_SPLIT_DELIM_CAPTURE);
+
+ return isset($match[1]) ? $match[1] : $match[0];
+ };
+
+ $withoutPostfix = function ($string) {
+ $match = preg_split('/-(\d+)$/', $string, 2, PREG_SPLIT_DELIM_CAPTURE);
+
+ return $match[0];
+ };
+
+ /* $appendedNumber = function ($string) {
+ $match = preg_split('/-(\d+)$/', $string, 2, PREG_SPLIT_DELIM_CAPTURE);
+ $append = (isset($match[1]) ? (int)$match[1] + 1 : 2);
+
+ return $append;
+ };*/
+
+ $highest = 1;
+ $siblings = $page->parent()->children();
+ $findCorrectAppendedNumber = function ($item, $page_item, $highest) use (
+ $siblings,
+ &$findCorrectAppendedNumber,
+ &$withoutPrefix
+ ) {
+ foreach ($siblings as $sibling) {
+ if ($withoutPrefix($sibling->$item()) == ($highest === 1 ? $page_item : $page_item . '-' . $highest)) {
+ $highest = $findCorrectAppendedNumber($item, $page_item, $highest + 1);
+
+ return $highest;
+ }
+ }
+
+ return $highest;
+ };
+
+ $base = $withoutPrefix($withoutPostfix($page->$item()));
+
+ $return = $base;
+ $highest = $findCorrectAppendedNumber($item, $base, $highest);
+
+ if ($highest > 1) {
+ $return .= '-' . $highest;
+ }
+
+ return $return;
+ }
+
+ /**
+ * Reorder pages.
+ *
+ * @return bool True if the action was performed.
+ */
+ protected function taskReorder()
+ {
+ if (!$this->authorizeTask('reorder pages', ['admin.pages', 'admin.super'])) {
+ return false;
+ }
+
+ // Only applies to pages.
+ if ($this->view !== 'pages') {
+ return false;
+ }
+
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.REORDERING_WAS_SUCCESSFUL'), 'info');
+
+ return true;
+ }
+
+ /**
+ * Delete page.
+ *
+ * @return bool True if the action was performed.
+ * @throws \RuntimeException
+ */
+ protected function taskDelete()
+ {
+ if (!$this->authorizeTask('delete page', ['admin.pages', 'admin.super'])) {
+ return false;
+ }
+
+ // Only applies to pages.
+ if ($this->view !== 'pages') {
+ return false;
+ }
+
+ try {
+ $page = $this->admin->page();
+
+ if (count($page->translatedLanguages()) > 1) {
+ $page->file()->delete();
+ } else {
+ Folder::delete($page->path());
+ }
+
+ $this->grav->fireEvent('onAdminAfterDelete', new Event(['page' => $page]));
+
+ Cache::clearCache('standard');
+
+ // Set redirect to either referrer or pages list.
+ $redirect = 'pages';
+
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_DELETED'), 'info');
+ $this->setRedirect($redirect);
+
+ } catch (\Exception $e) {
+ throw new \RuntimeException('Deleting page failed on error: ' . $e->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Switch the content language. Optionally redirect to a different page.
+ *
+ */
+ protected function taskSwitchlanguage()
+ {
+ $data = (array)$this->data;
+
+ if (isset($data['lang'])) {
+ $language = $data['lang'];
+ } else {
+ $language = $this->grav['uri']->param('lang');
+ }
+
+ if (isset($data['redirect'])) {
+ $redirect = 'pages/' . $data['redirect'];
+ } else {
+ $redirect = 'pages';
+ }
+
+
+ if ($language) {
+ $this->grav['session']->admin_lang = $language ?: 'en';
+ }
+
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_SWITCHED_LANGUAGE'), 'info');
+
+ $admin_route = $this->admin->base;
+ $this->setRedirect('/' . $language . $admin_route . '/' . $redirect);
+ }
+
+ /**
+ * Save the current page in a different language. Automatically switches to that language.
+ *
+ * @return bool True if the action was performed.
+ */
+ protected function taskSaveas()
+ {
+ if (!$this->authorizeTask('save', $this->dataPermissions())) {
+ return false;
+ }
+
+ $data = (array)$this->data;
+ $language = $data['lang'];
+
+ if ($language) {
+ $this->grav['session']->admin_lang = $language ?: 'en';
+ }
+
+ $uri = $this->grav['uri'];
+ $obj = $this->admin->page($uri->route());
+ $this->preparePage($obj, false, $language);
+
+ $file = $obj->file();
+ if ($file) {
+ $filename = $this->determineFilenameIncludingLanguage($obj->name(), $language);
+
+ $path = $obj->path() . DS . $filename;
+ $aFile = File::instance($path);
+ $aFile->save();
+
+ $aPage = new Page();
+ $aPage->init(new \SplFileInfo($path), $language . '.md');
+ $aPage->header($obj->header());
+ $aPage->rawMarkdown($obj->rawMarkdown());
+ $aPage->template($obj->template());
+ $aPage->validate();
+ $aPage->filter();
+ $aPage->save();
+
+ $this->grav->fireEvent('onAdminAfterSave', new Event(['page' => $obj]));
+ }
+
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_SWITCHED_LANGUAGE'), 'info');
+ $this->setRedirect('/' . $language . $uri->route());
+
+ return true;
+ }
+
+ /**
+ * The what should be the new filename when saving as a new language
+ *
+ * @param string $current_filename the current file name, including .md. Example: default.en.md
+ * @param string $language The new language it will be saved as. Example: 'it' or 'en-GB'.
+ *
+ * @return string The new filename. Example: 'default.it'
+ */
+ public function determineFilenameIncludingLanguage($current_filename, $language)
+ {
+ $filename = substr($current_filename, 0, -strlen('.md'));
+
+ if (substr($filename, -3, 1) === '.') {
+ $filename = str_replace(substr($filename, -2), $language, $filename);
+ } elseif (substr($filename, -6, 1) === '.') {
+ $filename = str_replace(substr($filename, -5), $language, $filename);
+ } else {
+ $filename .= '.' . $language;
+ }
+
+ return $filename . '.md';
+ }
+
+ /**
+ * Handle direct install.
+ */
+ protected function taskDirectInstall()
+ {
+ $file_path = isset($this->data['file_path']) ? $this->data['file_path'] : null ;
+
+ if (isset($_FILES['uploaded_file'])) {
+
+ // Check $_FILES['file']['error'] value.
+ switch ($_FILES['uploaded_file']['error']) {
+ case UPLOAD_ERR_OK:
+ break;
+ case UPLOAD_ERR_NO_FILE:
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.NO_FILES_SENT'), 'error');
+ return false;
+ case UPLOAD_ERR_INI_SIZE:
+ case UPLOAD_ERR_FORM_SIZE:
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.EXCEEDED_FILESIZE_LIMIT'), 'error');
+ return false;
+ case UPLOAD_ERR_NO_TMP_DIR:
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.UPLOAD_ERR_NO_TMP_DIR'), 'error');
+ return false;
+ default:
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.UNKNOWN_ERRORS'), 'error');
+ return false;
+ }
+
+ $file_path = $_FILES['uploaded_file']['tmp_name'];
+ }
+
+
+ $result = Gpm::directInstall($file_path);
+
+ if ($result === true) {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.INSTALLATION_SUCCESSFUL'), 'info');
+ } else {
+ $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.INSTALLATION_FAILED') . ': ' . $result,
+ 'error');
+ }
+
+ $this->setRedirect('/tools');
+
+ return true;
+ }
+}
diff --git a/user/plugins/admin/classes/gpm.php b/user/plugins/admin/classes/gpm.php
new file mode 100644
index 0000000..acddb08
--- /dev/null
+++ b/user/plugins/admin/classes/gpm.php
@@ -0,0 +1,383 @@
+loadRemoteGrav();
+ }
+ }
+
+ return static::$GPM;
+ }
+
+ /**
+ * Default options for the install
+ *
+ * @var array
+ */
+ protected static $options = [
+ 'destination' => GRAV_ROOT,
+ 'overwrite' => true,
+ 'ignore_symlinks' => true,
+ 'skip_invalid' => true,
+ 'install_deps' => true,
+ 'theme' => false
+ ];
+
+ /**
+ * @param Package[]|string[]|string $packages
+ * @param array $options
+ *
+ * @return bool
+ */
+ public static function install($packages, array $options)
+ {
+ $options = array_merge(self::$options, $options);
+
+ if (!Installer::isGravInstance($options['destination']) || !Installer::isValidDestination($options['destination'],
+ [Installer::EXISTS, Installer::IS_LINK])
+ ) {
+ return false;
+ }
+
+ $packages = is_array($packages) ? $packages : [$packages];
+ $count = count($packages);
+
+ $packages = array_filter(array_map(function ($p) {
+ return !is_string($p) ? $p instanceof Package ? $p : false : self::GPM()->findPackage($p);
+ }, $packages));
+
+ if (!$options['skip_invalid'] && $count !== count($packages)) {
+ return false;
+ }
+
+ $messages = '';
+
+ foreach ($packages as $package) {
+ if (isset($package->dependencies) && $options['install_deps']) {
+ $result = static::install($package->dependencies, $options);
+
+ if (!$result) {
+ return false;
+ }
+ }
+
+ // Check destination
+ Installer::isValidDestination($options['destination'] . DS . $package->install_path);
+
+ if (Installer::lastErrorCode() === Installer::EXISTS && !$options['overwrite']) {
+ return false;
+ }
+
+ if (Installer::lastErrorCode() === Installer::IS_LINK && !$options['ignore_symlinks']) {
+ return false;
+ }
+
+ $license = Licenses::get($package->slug);
+ $local = static::download($package, $license);
+
+ Installer::install($local, $options['destination'],
+ ['install_path' => $package->install_path, 'theme' => $options['theme']]);
+ Folder::delete(dirname($local));
+
+ $errorCode = Installer::lastErrorCode();
+ if ($errorCode) {
+ $msg = Installer::lastErrorMsg();
+ throw new \RuntimeException($msg);
+ }
+
+ if (count($packages) === 1) {
+ $message = Installer::getMessage();
+ if ($message) {
+ return $message;
+ }
+
+ $messages .= $message;
+ }
+ }
+
+ return $messages ?: true;
+ }
+
+ /**
+ * @param Package[]|string[]|string $packages
+ * @param array $options
+ *
+ * @return bool
+ */
+ public static function update($packages, array $options)
+ {
+ $options['overwrite'] = true;
+
+ return static::install($packages, $options);
+ }
+
+ /**
+ * @param Package[]|string[]|string $packages
+ * @param array $options
+ *
+ * @return bool
+ */
+ public static function uninstall($packages, array $options)
+ {
+ $options = array_merge(self::$options, $options);
+
+ $packages = is_array($packages) ? $packages : [$packages];
+ $count = count($packages);
+
+ $packages = array_filter(array_map(function ($p) {
+
+ if (is_string($p)) {
+ $p = strtolower($p);
+ $plugin = static::GPM()->getInstalledPlugin($p);
+ $p = $plugin ?: static::GPM()->getInstalledTheme($p);
+ }
+
+ return $p instanceof Package ? $p : false;
+
+ }, $packages));
+
+ if (!$options['skip_invalid'] && $count !== count($packages)) {
+ return false;
+ }
+
+ foreach ($packages as $package) {
+
+ $location = Grav::instance()['locator']->findResource($package->package_type . '://' . $package->slug);
+
+ // Check destination
+ Installer::isValidDestination($location);
+
+ if (!$options['ignore_symlinks'] && Installer::lastErrorCode() === Installer::IS_LINK) {
+ return false;
+ }
+
+ Installer::uninstall($location);
+
+ $errorCode = Installer::lastErrorCode();
+ if ($errorCode && $errorCode !== Installer::IS_LINK && $errorCode !== Installer::EXISTS) {
+ $msg = Installer::lastErrorMsg();
+ throw new \RuntimeException($msg);
+ }
+
+ if (count($packages) === 1) {
+ $message = Installer::getMessage();
+ if ($message) {
+ return $message;
+ }
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Direct install a file
+ *
+ * @param $package_file
+ *
+ * @return bool
+ */
+ public static function directInstall($package_file)
+ {
+ if (!$package_file) {
+ return Admin::translate('PLUGIN_ADMIN.NO_PACKAGE_NAME');
+ }
+
+ $tmp_dir = Grav::instance()['locator']->findResource('tmp://', true, true);
+ $tmp_zip = $tmp_dir . '/Grav-' . uniqid();
+
+ if (Response::isRemote($package_file)) {
+ $zip = GravGPM::downloadPackage($package_file, $tmp_zip);
+ } else {
+ $zip = GravGPM::copyPackage($package_file, $tmp_zip);
+ }
+
+ if (file_exists($zip)) {
+ $tmp_source = $tmp_dir . '/Grav-' . uniqid();
+ $extracted = Installer::unZip($zip, $tmp_source);
+
+ if (!$extracted) {
+ Folder::delete($tmp_source);
+ Folder::delete($tmp_zip);
+ return Admin::translate('PLUGIN_ADMIN.PACKAGE_EXTRACTION_FAILED');
+ }
+
+ $type = GravGPM::getPackageType($extracted);
+
+ if (!$type) {
+ Folder::delete($tmp_source);
+ Folder::delete($tmp_zip);
+ return Admin::translate('PLUGIN_ADMIN.NOT_VALID_GRAV_PACKAGE');
+ }
+
+ if ($type === 'grav') {
+ Installer::isValidDestination(GRAV_ROOT . '/system');
+ if (Installer::IS_LINK === Installer::lastErrorCode()) {
+ Folder::delete($tmp_source);
+ Folder::delete($tmp_zip);
+ return Admin::translate('PLUGIN_ADMIN.CANNOT_OVERWRITE_SYMLINKS');
+ }
+ Installer::install($zip, GRAV_ROOT,
+ ['sophisticated' => true, 'overwrite' => true, 'ignore_symlinks' => true, 'ignores' => ['tmp','user','vendor']], $extracted);
+ } else {
+ $name = GravGPM::getPackageName($extracted);
+
+ if (!$name) {
+ Folder::delete($tmp_source);
+ Folder::delete($tmp_zip);
+ return Admin::translate('PLUGIN_ADMIN.NAME_COULD_NOT_BE_DETERMINED');
+ }
+
+ $install_path = GravGPM::getInstallPath($type, $name);
+ $is_update = file_exists($install_path);
+
+ Installer::isValidDestination(GRAV_ROOT . DS . $install_path);
+ if (Installer::lastErrorCode() === Installer::IS_LINK) {
+ Folder::delete($tmp_source);
+ Folder::delete($tmp_zip);
+ return Admin::translate('PLUGIN_ADMIN.CANNOT_OVERWRITE_SYMLINKS');
+ }
+
+ Installer::install($zip, GRAV_ROOT,
+ ['install_path' => $install_path, 'theme' => $type === 'theme', 'is_update' => $is_update],
+ $extracted);
+ }
+
+ Folder::delete($tmp_source);
+
+ if (Installer::lastErrorCode()) {
+ return Installer::lastErrorMsg();
+ }
+
+ } else {
+ return Admin::translate('PLUGIN_ADMIN.ZIP_PACKAGE_NOT_FOUND');
+ }
+
+ Folder::delete($tmp_zip);
+
+ return true;
+ }
+
+ /**
+ * @param Package $package
+ *
+ * @return string
+ */
+ private static function download(Package $package, $license = null)
+ {
+ $query = '';
+
+ if ($package->premium) {
+ $query = \json_encode(array_merge($package->premium, [
+ 'slug' => $package->slug,
+ 'filename' => $package->premium['filename'],
+ 'license_key' => $license
+ ]));
+
+ $query = '?d=' . base64_encode($query);
+ }
+
+ try {
+ $contents = Response::get($package->zipball_url . $query, []);
+ } catch (\Exception $e) {
+ throw new \RuntimeException($e->getMessage());
+ }
+
+ $tmp_dir = Admin::getTempDir() . '/Grav-' . uniqid();
+ Folder::mkdir($tmp_dir);
+
+ $bad_chars = array_merge(array_map('chr', range(0, 31)), ["<", ">", ":", '"', "/", "\\", "|", "?", "*"]);
+
+ $filename = $package->slug . str_replace($bad_chars, "", basename($package->zipball_url));
+ $filename = preg_replace('/[\\\\\/:"*?&<>|]+/mi', '-', $filename);
+
+ file_put_contents($tmp_dir . DS . $filename . '.zip', $contents);
+
+ return $tmp_dir . DS . $filename . '.zip';
+ }
+
+ /**
+ * @param array $package
+ * @param string $tmp
+ *
+ * @return string
+ */
+ private static function _downloadSelfupgrade(array $package, $tmp)
+ {
+ $output = Response::get($package['download'], []);
+ Folder::mkdir($tmp);
+ file_put_contents($tmp . DS . $package['name'], $output);
+
+ return $tmp . DS . $package['name'];
+ }
+
+ /**
+ * @return bool
+ */
+ public static function selfupgrade()
+ {
+ $upgrader = new Upgrader();
+
+ if (!Installer::isGravInstance(GRAV_ROOT)) {
+ return false;
+ }
+
+ if (is_link(GRAV_ROOT . DS . 'index.php')) {
+ Installer::setError(Installer::IS_LINK);
+
+ return false;
+ }
+
+ if (method_exists($upgrader, 'meetsRequirements') &&
+ method_exists($upgrader, 'minPHPVersion') &&
+ !$upgrader->meetsRequirements()) {
+ $error = [];
+ $error[] = '
';
+ $error[] = 'You are currently running PHP ' . phpversion() . '';
+ $error[] = ', but PHP ' . $upgrader->minPHPVersion() . ' is required.
' . date('M d', strtotime($date));
+ $data[] = $count;
+ }
+
+ return ['labels' => $labels, 'data' => $data];
+ }
+
+ /**
+ * @return int
+ */
+ public function getDailyTotal()
+ {
+ if (!$this->daily_data) {
+ $this->daily_data = $this->getData($this->daily_file);
+ }
+
+ if (isset($this->daily_data[date(self::DAILY_FORMAT)])) {
+ return $this->daily_data[date(self::DAILY_FORMAT)];
+ }
+
+ return 0;
+ }
+
+ /**
+ * @return int
+ */
+ public function getWeeklyTotal()
+ {
+ if (!$this->daily_data) {
+ $this->daily_data = $this->getData($this->daily_file);
+ }
+
+ $day = 0;
+ $total = 0;
+ foreach (array_reverse($this->daily_data) as $daily) {
+ $total += $daily;
+ $day++;
+ if ($day === 7) {
+ break;
+ }
+ }
+
+ return $total;
+ }
+
+ /**
+ * @return int
+ */
+ public function getMonthlyTotal()
+ {
+ if (!$this->monthly_data) {
+ $this->monthly_data = $this->getData($this->monthly_file);
+ }
+ if (isset($this->monthly_data[date(self::MONTHLY_FORMAT)])) {
+ return $this->monthly_data[date(self::MONTHLY_FORMAT)];
+ }
+
+ return 0;
+ }
+
+ protected function updateMonthly()
+ {
+
+ if (!$this->monthly_data) {
+ $this->monthly_data = $this->getData($this->monthly_file);
+ }
+
+ $month_year = date(self::MONTHLY_FORMAT);
+
+ // get the monthly access count
+ if (array_key_exists($month_year, $this->monthly_data)) {
+ $this->monthly_data[$month_year] = (int)$this->monthly_data[$month_year] + 1;
+ } else {
+ $this->monthly_data[$month_year] = 1;
+ }
+
+ // keep correct number as set by history
+ $count = (int)$this->config->get('plugins.admin.popularity.history.monthly', 12);
+ $total = count($this->monthly_data);
+ $this->monthly_data = array_slice($this->monthly_data, $total - $count, $count);
+
+
+ file_put_contents($this->monthly_file, json_encode($this->monthly_data));
+ }
+
+ /**
+ * @return array
+ */
+ protected function getMonthyChartData()
+ {
+ if (!$this->monthly_data) {
+ $this->monthly_data = $this->getData($this->monthly_file);
+ }
+
+ $labels = [];
+ $data = [];
+
+ foreach ($this->monthly_data as $date => $count) {
+ $labels[] = date('M', strtotime($date));
+ $data[] = $count;
+ }
+
+ return ['labels' => $labels, 'data' => $data];
+ }
+
+ /**
+ * @param string $url
+ */
+ protected function updateTotals($url)
+ {
+ if (!$this->totals_data) {
+ $this->totals_data = $this->getData($this->totals_file);
+ }
+
+ // get the totals for this url
+ if (array_key_exists($url, $this->totals_data)) {
+ $this->totals_data[$url] = (int)$this->totals_data[$url] + 1;
+ } else {
+ $this->totals_data[$url] = 1;
+ }
+
+ file_put_contents($this->totals_file, json_encode($this->totals_data));
+ }
+
+ /**
+ * @param string $ip
+ */
+ protected function updateVisitors($ip)
+ {
+ if (!$this->visitors_data) {
+ $this->visitors_data = $this->getData($this->visitors_file);
+ }
+
+ // update with current timestamp
+ $this->visitors_data[hash('sha1', $ip)] = time();
+ $visitors = $this->visitors_data;
+ arsort($visitors);
+
+ $count = (int)$this->config->get('plugins.admin.popularity.history.visitors', 20);
+ $this->visitors_data = array_slice($visitors, 0, $count, true);
+
+ file_put_contents($this->visitors_file, json_encode($this->visitors_data));
+ }
+
+ /**
+ * @param string $path
+ *
+ * @return array
+ */
+ protected function getData($path)
+ {
+ if (file_exists($path)) {
+ return (array)json_decode(file_get_contents($path), true);
+ }
+
+ return [];
+ }
+
+
+ public function flushPopularity()
+ {
+ file_put_contents($this->daily_file, []);
+ file_put_contents($this->monthly_file, []);
+ file_put_contents($this->totals_file, []);
+ file_put_contents($this->visitors_file, []);
+ }
+}
diff --git a/user/plugins/admin/classes/themes.php b/user/plugins/admin/classes/themes.php
new file mode 100644
index 0000000..519a0fa
--- /dev/null
+++ b/user/plugins/admin/classes/themes.php
@@ -0,0 +1,21 @@
+grav['themes'];
+ $themes->configure();
+ $themes->initTheme();
+
+ $this->grav->fireEvent('onAdminThemeInitialized');
+ }
+}
diff --git a/user/plugins/admin/classes/utils.php b/user/plugins/admin/classes/utils.php
new file mode 100644
index 0000000..957b2bc
--- /dev/null
+++ b/user/plugins/admin/classes/utils.php
@@ -0,0 +1,60 @@
+findResource('account://');
+ $files = array_diff(scandir($account_dir, SCANDIR_SORT_ASCENDING), ['.', '..']);
+
+ foreach ($files as $file) {
+ if (strpos($file, '.yaml') !== false) {
+ $user = User::load(trim(substr($file, 0, -5)));
+ if ($user['email'] === $email) {
+ return $user;
+ }
+ }
+ }
+
+ // If a User with the provided email cannot be found, then load user with that email as the username
+ return User::load($email);
+ }
+
+ /**
+ * Generates a slug of the given string
+ *
+ * @param string $str
+ * @return string
+ */
+ public static function slug($str)
+ {
+ if (function_exists('transliterator_transliterate')) {
+ $str = transliterator_transliterate('Any-Latin; NFD; [:Nonspacing Mark:] Remove; NFC; [:Punctuation:] Remove;', $str);
+ } else {
+ $str = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $str);
+ }
+
+ $str = strtolower($str);
+ $str = preg_replace('/[-\s]+/', '-', $str);
+ $str = preg_replace('/[^a-z0-9-]/i', '', $str);
+ $str = trim($str, '-');
+
+ return $str;
+ }
+}
diff --git a/user/plugins/admin/codeception.yml b/user/plugins/admin/codeception.yml
new file mode 100644
index 0000000..7d317a5
--- /dev/null
+++ b/user/plugins/admin/codeception.yml
@@ -0,0 +1,18 @@
+actor: Tester
+paths:
+ tests: tests
+ log: tests/_output
+ data: tests/_data
+ support: tests/_support
+ envs: tests/_envs
+settings:
+ bootstrap: _bootstrap.php
+ colors: true
+ memory_limit: 1024M
+extensions:
+ enabled:
+ - Codeception\Extension\RunFailed
+ # - Codeception\Extension\Recorder
+
+modules:
+ config:
diff --git a/user/plugins/admin/composer.json b/user/plugins/admin/composer.json
new file mode 100644
index 0000000..c8786b6
--- /dev/null
+++ b/user/plugins/admin/composer.json
@@ -0,0 +1,18 @@
+{
+ "require": {
+ "composer/semver": "^1.4",
+ "fguillot/picofeed": "@stable"
+ },
+ "require-dev": {
+ "codeception/codeception": "^2.1",
+ "fzaninotto/faker": "^1.5",
+ "symfony/yaml": "~2.8",
+ "symfony/console": "~2.8",
+ "symfony/finder": "~2.8",
+ "symfony/event-dispatcher": "~2.8"
+ },
+ "scripts": {
+ "test": "vendor/bin/codecept run unit",
+ "test-windows": "vendor\\bin\\codecept run unit"
+ }
+}
diff --git a/user/plugins/admin/composer.lock b/user/plugins/admin/composer.lock
new file mode 100644
index 0000000..6852cb1
--- /dev/null
+++ b/user/plugins/admin/composer.lock
@@ -0,0 +1,2796 @@
+{
+ "_readme": [
+ "This file locks the dependencies of your project to a known state",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+ "This file is @generated automatically"
+ ],
+ "content-hash": "9d176f21be9e6aa53b047ac12215bb45",
+ "packages": [
+ {
+ "name": "composer/semver",
+ "version": "1.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/semver.git",
+ "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573",
+ "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3.2 || ^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.5 || ^5.0.5",
+ "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Composer\\Semver\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nils Adermann",
+ "email": "naderman@naderman.de",
+ "homepage": "http://www.naderman.de"
+ },
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ },
+ {
+ "name": "Rob Bast",
+ "email": "rob.bast@gmail.com",
+ "homepage": "http://robbast.nl"
+ }
+ ],
+ "description": "Semver library that offers utilities, version constraint parsing and validation.",
+ "keywords": [
+ "semantic",
+ "semver",
+ "validation",
+ "versioning"
+ ],
+ "time": "2016-08-30T16:08:34+00:00"
+ },
+ {
+ "name": "fguillot/picofeed",
+ "version": "v0.1.37",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/miniflux/picoFeed.git",
+ "reference": "402b7f07629577e7929625e78bc88d3d5831a22d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/miniflux/picoFeed/zipball/402b7f07629577e7929625e78bc88d3d5831a22d",
+ "reference": "402b7f07629577e7929625e78bc88d3d5831a22d",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-iconv": "*",
+ "ext-libxml": "*",
+ "ext-simplexml": "*",
+ "ext-xml": "*",
+ "php": ">=5.3.0",
+ "zendframework/zendxml": "^1.0"
+ },
+ "require-dev": {
+ "phpdocumentor/reflection-docblock": "2.0.4",
+ "phpunit/phpunit": "4.8.26",
+ "symfony/yaml": "2.8.7"
+ },
+ "suggest": {
+ "ext-curl": "PicoFeed will use cURL if present"
+ },
+ "bin": [
+ "picofeed"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "PicoFeed": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Frédéric Guillot"
+ }
+ ],
+ "description": "Modern library to handle RSS/Atom feeds",
+ "homepage": "https://github.com/miniflux/picoFeed",
+ "abandoned": true,
+ "time": "2017-11-02T03:20:36+00:00"
+ },
+ {
+ "name": "zendframework/zendxml",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/zendframework/ZendXml.git",
+ "reference": "267db6a2c431a08a8f8ff0f1f4c302a5ba6f5b99"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/zendframework/ZendXml/zipball/267db6a2c431a08a8f8ff0f1f4c302a5ba6f5b99",
+ "reference": "267db6a2c431a08a8f8ff0f1f4c302a5ba6f5b99",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4",
+ "zendframework/zend-coding-standard": "~1.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1.x-dev",
+ "dev-develop": "1.2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "ZendXml\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Utility library for XML usage, best practices, and security in PHP",
+ "keywords": [
+ "ZendFramework",
+ "security",
+ "xml",
+ "zf"
+ ],
+ "time": "2018-04-30T15:11:04+00:00"
+ }
+ ],
+ "packages-dev": [
+ {
+ "name": "behat/gherkin",
+ "version": "v4.5.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Behat/Gherkin.git",
+ "reference": "74ac03d52c5e23ad8abd5c5cce4ab0e8dc1b530a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Behat/Gherkin/zipball/74ac03d52c5e23ad8abd5c5cce4ab0e8dc1b530a",
+ "reference": "74ac03d52c5e23ad8abd5c5cce4ab0e8dc1b530a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.5|~5",
+ "symfony/phpunit-bridge": "~2.7|~3",
+ "symfony/yaml": "~2.3|~3"
+ },
+ "suggest": {
+ "symfony/yaml": "If you want to parse features, represented in YAML files"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Behat\\Gherkin": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com",
+ "homepage": "http://everzet.com"
+ }
+ ],
+ "description": "Gherkin DSL parser for PHP 5.3",
+ "homepage": "http://behat.org/",
+ "keywords": [
+ "BDD",
+ "Behat",
+ "Cucumber",
+ "DSL",
+ "gherkin",
+ "parser"
+ ],
+ "time": "2017-08-30T11:04:43+00:00"
+ },
+ {
+ "name": "codeception/codeception",
+ "version": "2.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Codeception/Codeception.git",
+ "reference": "bca3547632556875f1cdd567d6057cc14fe472b8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Codeception/Codeception/zipball/bca3547632556875f1cdd567d6057cc14fe472b8",
+ "reference": "bca3547632556875f1cdd567d6057cc14fe472b8",
+ "shasum": ""
+ },
+ "require": {
+ "behat/gherkin": "^4.4.0",
+ "codeception/phpunit-wrapper": "^6.0.9|^7.0.6",
+ "codeception/stub": "^1.0",
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "facebook/webdriver": ">=1.1.3 <2.0",
+ "guzzlehttp/guzzle": ">=4.1.4 <7.0",
+ "guzzlehttp/psr7": "~1.0",
+ "php": ">=5.4.0 <8.0",
+ "symfony/browser-kit": ">=2.7 <5.0",
+ "symfony/console": ">=2.7 <5.0",
+ "symfony/css-selector": ">=2.7 <5.0",
+ "symfony/dom-crawler": ">=2.7 <5.0",
+ "symfony/event-dispatcher": ">=2.7 <5.0",
+ "symfony/finder": ">=2.7 <5.0",
+ "symfony/yaml": ">=2.7 <5.0"
+ },
+ "require-dev": {
+ "codeception/specify": "~0.3",
+ "facebook/graph-sdk": "~5.3",
+ "flow/jsonpath": "~0.2",
+ "monolog/monolog": "~1.8",
+ "pda/pheanstalk": "~3.0",
+ "php-amqplib/php-amqplib": "~2.4",
+ "predis/predis": "^1.0",
+ "squizlabs/php_codesniffer": "~2.0",
+ "symfony/process": ">=2.7 <5.0",
+ "vlucas/phpdotenv": "^2.4.0"
+ },
+ "suggest": {
+ "aws/aws-sdk-php": "For using AWS Auth in REST module and Queue module",
+ "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests",
+ "codeception/specify": "BDD-style code blocks",
+ "codeception/verify": "BDD-style assertions",
+ "flow/jsonpath": "For using JSONPath in REST module",
+ "league/factory-muffin": "For DataFactory module",
+ "league/factory-muffin-faker": "For Faker support in DataFactory module",
+ "phpseclib/phpseclib": "for SFTP option in FTP Module",
+ "stecman/symfony-console-completion": "For BASH autocompletion",
+ "symfony/phpunit-bridge": "For phpunit-bridge support"
+ },
+ "bin": [
+ "codecept"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": []
+ },
+ "autoload": {
+ "psr-4": {
+ "Codeception\\": "src\\Codeception",
+ "Codeception\\Extension\\": "ext"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Bodnarchuk",
+ "email": "davert@mail.ua",
+ "homepage": "http://codegyre.com"
+ }
+ ],
+ "description": "BDD-style testing framework",
+ "homepage": "http://codeception.com/",
+ "keywords": [
+ "BDD",
+ "TDD",
+ "acceptance testing",
+ "functional testing",
+ "unit testing"
+ ],
+ "time": "2018-03-31T22:30:43+00:00"
+ },
+ {
+ "name": "codeception/phpunit-wrapper",
+ "version": "7.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Codeception/phpunit-wrapper.git",
+ "reference": "33e8ccf2f7abf5c031eeae9802b821d30ec0f7fc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/33e8ccf2f7abf5c031eeae9802b821d30ec0f7fc",
+ "reference": "33e8ccf2f7abf5c031eeae9802b821d30ec0f7fc",
+ "shasum": ""
+ },
+ "require": {
+ "phpunit/php-code-coverage": "^6.0",
+ "phpunit/phpunit": "^7.1",
+ "sebastian/comparator": "^2.0",
+ "sebastian/diff": "^3.0"
+ },
+ "require-dev": {
+ "codeception/specify": "*",
+ "vlucas/phpdotenv": "^2.4"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Codeception\\PHPUnit\\": "src\\"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Davert",
+ "email": "davert.php@resend.cc"
+ }
+ ],
+ "description": "PHPUnit classes used by Codeception",
+ "time": "2018-04-20T10:17:13+00:00"
+ },
+ {
+ "name": "codeception/stub",
+ "version": "1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Codeception/Stub.git",
+ "reference": "95fb7a36b81890dd2e5163e7ab31310df6f1bb99"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Codeception/Stub/zipball/95fb7a36b81890dd2e5163e7ab31310df6f1bb99",
+ "reference": "95fb7a36b81890dd2e5163e7ab31310df6f1bb99",
+ "shasum": ""
+ },
+ "require": {
+ "phpunit/phpunit-mock-objects": ">2.3 <7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": ">=4.8 <8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Codeception\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Flexible Stub wrapper for PHPUnit's Mock Builder",
+ "time": "2018-02-18T13:56:56+00:00"
+ },
+ {
+ "name": "doctrine/instantiator",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/instantiator.git",
+ "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
+ "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1"
+ },
+ "require-dev": {
+ "athletic/athletic": "~0.1.8",
+ "ext-pdo": "*",
+ "ext-phar": "*",
+ "phpunit/phpunit": "^6.2.3",
+ "squizlabs/php_codesniffer": "^3.0.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "http://ocramius.github.com/"
+ }
+ ],
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "homepage": "https://github.com/doctrine/instantiator",
+ "keywords": [
+ "constructor",
+ "instantiate"
+ ],
+ "time": "2017-07-22T11:58:36+00:00"
+ },
+ {
+ "name": "facebook/webdriver",
+ "version": "1.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/facebook/php-webdriver.git",
+ "reference": "86b5ca2f67173c9d34340845dd690149c886a605"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/86b5ca2f67173c9d34340845dd690149c886a605",
+ "reference": "86b5ca2f67173c9d34340845dd690149c886a605",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "ext-zip": "*",
+ "php": "^5.6 || ~7.0",
+ "symfony/process": "^2.8 || ^3.1 || ^4.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^2.0",
+ "guzzle/guzzle": "^3.4.1",
+ "php-coveralls/php-coveralls": "^1.0.2",
+ "php-mock/php-mock-phpunit": "^1.1",
+ "phpunit/phpunit": "^5.7",
+ "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0",
+ "squizlabs/php_codesniffer": "^2.6",
+ "symfony/var-dumper": "^3.3 || ^4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-community": "1.5-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Facebook\\WebDriver\\": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache-2.0"
+ ],
+ "description": "A PHP client for Selenium WebDriver",
+ "homepage": "https://github.com/facebook/php-webdriver",
+ "keywords": [
+ "facebook",
+ "php",
+ "selenium",
+ "webdriver"
+ ],
+ "time": "2017-11-15T11:08:09+00:00"
+ },
+ {
+ "name": "fzaninotto/faker",
+ "version": "v1.7.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/fzaninotto/Faker.git",
+ "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
+ "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3.3 || ^7.0"
+ },
+ "require-dev": {
+ "ext-intl": "*",
+ "phpunit/phpunit": "^4.0 || ^5.0",
+ "squizlabs/php_codesniffer": "^1.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.8-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Faker\\": "src/Faker/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "François Zaninotto"
+ }
+ ],
+ "description": "Faker is a PHP library that generates fake data for you.",
+ "keywords": [
+ "data",
+ "faker",
+ "fixtures"
+ ],
+ "time": "2017-08-15T16:48:10+00:00"
+ },
+ {
+ "name": "guzzlehttp/guzzle",
+ "version": "6.3.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/guzzle.git",
+ "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba",
+ "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba",
+ "shasum": ""
+ },
+ "require": {
+ "guzzlehttp/promises": "^1.0",
+ "guzzlehttp/psr7": "^1.4",
+ "php": ">=5.5"
+ },
+ "require-dev": {
+ "ext-curl": "*",
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
+ "psr/log": "^1.0"
+ },
+ "suggest": {
+ "psr/log": "Required for using the Log middleware"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "6.3-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/functions_include.php"
+ ],
+ "psr-4": {
+ "GuzzleHttp\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ }
+ ],
+ "description": "Guzzle is a PHP HTTP client library",
+ "homepage": "http://guzzlephp.org/",
+ "keywords": [
+ "client",
+ "curl",
+ "framework",
+ "http",
+ "http client",
+ "rest",
+ "web service"
+ ],
+ "time": "2018-04-22T15:46:56+00:00"
+ },
+ {
+ "name": "guzzlehttp/promises",
+ "version": "v1.3.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/promises.git",
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "GuzzleHttp\\Promise\\": "src/"
+ },
+ "files": [
+ "src/functions_include.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ }
+ ],
+ "description": "Guzzle promises library",
+ "keywords": [
+ "promise"
+ ],
+ "time": "2016-12-20T10:07:11+00:00"
+ },
+ {
+ "name": "guzzlehttp/psr7",
+ "version": "1.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/psr7.git",
+ "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
+ "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4.0",
+ "psr/http-message": "~1.0"
+ },
+ "provide": {
+ "psr/http-message-implementation": "1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "GuzzleHttp\\Psr7\\": "src/"
+ },
+ "files": [
+ "src/functions_include.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Tobias Schultze",
+ "homepage": "https://github.com/Tobion"
+ }
+ ],
+ "description": "PSR-7 message implementation that also provides common utility methods",
+ "keywords": [
+ "http",
+ "message",
+ "request",
+ "response",
+ "stream",
+ "uri",
+ "url"
+ ],
+ "time": "2017-03-20T17:10:46+00:00"
+ },
+ {
+ "name": "myclabs/deep-copy",
+ "version": "1.7.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/myclabs/DeepCopy.git",
+ "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
+ "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "require-dev": {
+ "doctrine/collections": "^1.0",
+ "doctrine/common": "^2.6",
+ "phpunit/phpunit": "^4.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "DeepCopy\\": "src/DeepCopy/"
+ },
+ "files": [
+ "src/DeepCopy/deep_copy.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Create deep copies (clones) of your objects",
+ "keywords": [
+ "clone",
+ "copy",
+ "duplicate",
+ "object",
+ "object graph"
+ ],
+ "time": "2017-10-19T19:58:43+00:00"
+ },
+ {
+ "name": "phar-io/manifest",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0",
+ "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-phar": "*",
+ "phar-io/version": "^1.0.1",
+ "php": "^5.6 || ^7.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "time": "2017-03-05T18:14:27+00:00"
+ },
+ {
+ "name": "phar-io/version",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df",
+ "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Library for handling version information and constraints",
+ "time": "2017-03-05T17:38:23+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-common",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+ "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
+ "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.6"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": [
+ "src"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "opensource@ijaap.nl"
+ }
+ ],
+ "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
+ "homepage": "http://www.phpdoc.org",
+ "keywords": [
+ "FQSEN",
+ "phpDocumentor",
+ "phpdoc",
+ "reflection",
+ "static analysis"
+ ],
+ "time": "2017-09-11T18:02:19+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-docblock",
+ "version": "4.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+ "reference": "94fd0001232e47129dd3504189fa1c7225010d08"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08",
+ "reference": "94fd0001232e47129dd3504189fa1c7225010d08",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0",
+ "phpdocumentor/reflection-common": "^1.0.0",
+ "phpdocumentor/type-resolver": "^0.4.0",
+ "webmozart/assert": "^1.0"
+ },
+ "require-dev": {
+ "doctrine/instantiator": "~1.0.5",
+ "mockery/mockery": "^1.0",
+ "phpunit/phpunit": "^6.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": [
+ "src/"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ }
+ ],
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "time": "2017-11-30T07:14:17+00:00"
+ },
+ {
+ "name": "phpdocumentor/type-resolver",
+ "version": "0.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
+ "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
+ "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5 || ^7.0",
+ "phpdocumentor/reflection-common": "^1.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^0.9.4",
+ "phpunit/phpunit": "^5.2||^4.8.24"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": [
+ "src/"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ }
+ ],
+ "time": "2017-07-14T14:27:02+00:00"
+ },
+ {
+ "name": "phpspec/prophecy",
+ "version": "1.7.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpspec/prophecy.git",
+ "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712",
+ "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.0.2",
+ "php": "^5.3|^7.0",
+ "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
+ "sebastian/comparator": "^1.1|^2.0|^3.0",
+ "sebastian/recursion-context": "^1.0|^2.0|^3.0"
+ },
+ "require-dev": {
+ "phpspec/phpspec": "^2.5|^3.2",
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.7.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Prophecy\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com",
+ "homepage": "http://everzet.com"
+ },
+ {
+ "name": "Marcello Duarte",
+ "email": "marcello.duarte@gmail.com"
+ }
+ ],
+ "description": "Highly opinionated mocking framework for PHP 5.3+",
+ "homepage": "https://github.com/phpspec/prophecy",
+ "keywords": [
+ "Double",
+ "Dummy",
+ "fake",
+ "mock",
+ "spy",
+ "stub"
+ ],
+ "time": "2018-04-18T13:57:24+00:00"
+ },
+ {
+ "name": "phpunit/php-code-coverage",
+ "version": "6.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "52187754b0eed0b8159f62a6fa30073327e8c2ca"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/52187754b0eed0b8159f62a6fa30073327e8c2ca",
+ "reference": "52187754b0eed0b8159f62a6fa30073327e8c2ca",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.1",
+ "phpunit/php-file-iterator": "^1.4.2",
+ "phpunit/php-text-template": "^1.2.1",
+ "phpunit/php-token-stream": "^3.0",
+ "sebastian/code-unit-reverse-lookup": "^1.0.1",
+ "sebastian/environment": "^3.1",
+ "sebastian/version": "^2.0.1",
+ "theseer/tokenizer": "^1.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0"
+ },
+ "suggest": {
+ "ext-xdebug": "^2.6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "6.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+ "keywords": [
+ "coverage",
+ "testing",
+ "xunit"
+ ],
+ "time": "2018-04-29T14:59:09+00:00"
+ },
+ {
+ "name": "phpunit/php-file-iterator",
+ "version": "1.4.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
+ "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sb@sebastian-bergmann.de",
+ "role": "lead"
+ }
+ ],
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+ "keywords": [
+ "filesystem",
+ "iterator"
+ ],
+ "time": "2017-11-27T13:52:08+00:00"
+ },
+ {
+ "name": "phpunit/php-text-template",
+ "version": "1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+ "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Simple template engine.",
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+ "keywords": [
+ "template"
+ ],
+ "time": "2015-06-21T13:50:34+00:00"
+ },
+ {
+ "name": "phpunit/php-timer",
+ "version": "2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f",
+ "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "keywords": [
+ "timer"
+ ],
+ "time": "2018-02-01T13:07:23+00:00"
+ },
+ {
+ "name": "phpunit/php-token-stream",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-token-stream.git",
+ "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/21ad88bbba7c3d93530d93994e0a33cd45f02ace",
+ "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": "^7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Wrapper around PHP's tokenizer extension.",
+ "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
+ "keywords": [
+ "tokenizer"
+ ],
+ "time": "2018-02-01T13:16:43+00:00"
+ },
+ {
+ "name": "phpunit/phpunit",
+ "version": "7.1.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "6d51299e307dc510149e0b7cd1931dd11770e1cb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/6d51299e307dc510149e0b7cd1931dd11770e1cb",
+ "reference": "6d51299e307dc510149e0b7cd1931dd11770e1cb",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-xml": "*",
+ "myclabs/deep-copy": "^1.6.1",
+ "phar-io/manifest": "^1.0.1",
+ "phar-io/version": "^1.0",
+ "php": "^7.1",
+ "phpspec/prophecy": "^1.7",
+ "phpunit/php-code-coverage": "^6.0.1",
+ "phpunit/php-file-iterator": "^1.4.3",
+ "phpunit/php-text-template": "^1.2.1",
+ "phpunit/php-timer": "^2.0",
+ "phpunit/phpunit-mock-objects": "^6.1.1",
+ "sebastian/comparator": "^2.1 || ^3.0",
+ "sebastian/diff": "^3.0",
+ "sebastian/environment": "^3.1",
+ "sebastian/exporter": "^3.1",
+ "sebastian/global-state": "^2.0",
+ "sebastian/object-enumerator": "^3.0.3",
+ "sebastian/resource-operations": "^1.0",
+ "sebastian/version": "^2.0.1"
+ },
+ "require-dev": {
+ "ext-pdo": "*"
+ },
+ "suggest": {
+ "ext-xdebug": "*",
+ "phpunit/php-invoker": "^2.0"
+ },
+ "bin": [
+ "phpunit"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "7.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "The PHP Unit Testing framework.",
+ "homepage": "https://phpunit.de/",
+ "keywords": [
+ "phpunit",
+ "testing",
+ "xunit"
+ ],
+ "time": "2018-04-18T13:41:53+00:00"
+ },
+ {
+ "name": "phpunit/phpunit-mock-objects",
+ "version": "6.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
+ "reference": "70c740bde8fd9ea9ea295be1cd875dd7b267e157"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/70c740bde8fd9ea9ea295be1cd875dd7b267e157",
+ "reference": "70c740bde8fd9ea9ea295be1cd875dd7b267e157",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.0.5",
+ "php": "^7.1",
+ "phpunit/php-text-template": "^1.2.1",
+ "sebastian/exporter": "^3.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0"
+ },
+ "suggest": {
+ "ext-soap": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "6.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Mock Object library for PHPUnit",
+ "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
+ "keywords": [
+ "mock",
+ "xunit"
+ ],
+ "time": "2018-04-11T04:50:36+00:00"
+ },
+ {
+ "name": "psr/http-message",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/http-message.git",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for HTTP messages",
+ "homepage": "https://github.com/php-fig/http-message",
+ "keywords": [
+ "http",
+ "http-message",
+ "psr",
+ "psr-7",
+ "request",
+ "response"
+ ],
+ "time": "2016-08-06T14:39:51+00:00"
+ },
+ {
+ "name": "psr/log",
+ "version": "1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "Psr/Log/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "time": "2016-10-10T12:19:37+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
+ "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^5.7 || ^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Looks up which function or method a line of code belongs to",
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "time": "2017-03-04T06:30:41+00:00"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "2.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9",
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0",
+ "sebastian/diff": "^2.0 || ^3.0",
+ "sebastian/exporter": "^3.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.1.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
+ "keywords": [
+ "comparator",
+ "compare",
+ "equality"
+ ],
+ "time": "2018-02-01T13:46:46+00:00"
+ },
+ {
+ "name": "sebastian/diff",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "e09160918c66281713f1c324c1f4c4c3037ba1e8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/e09160918c66281713f1c324c1f4c4c3037ba1e8",
+ "reference": "e09160918c66281713f1c324c1f4c4c3037ba1e8",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0",
+ "symfony/process": "^2 || ^3.3 || ^4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Diff implementation",
+ "homepage": "https://github.com/sebastianbergmann/diff",
+ "keywords": [
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
+ ],
+ "time": "2018-02-01T13:45:15+00:00"
+ },
+ {
+ "name": "sebastian/environment",
+ "version": "3.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5",
+ "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides functionality to handle HHVM/PHP environments",
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "keywords": [
+ "Xdebug",
+ "environment",
+ "hhvm"
+ ],
+ "time": "2017-07-01T08:51:00+00:00"
+ },
+ {
+ "name": "sebastian/exporter",
+ "version": "3.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "234199f4528de6d12aaa58b612e98f7d36adb937"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937",
+ "reference": "234199f4528de6d12aaa58b612e98f7d36adb937",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0",
+ "sebastian/recursion-context": "^3.0"
+ },
+ "require-dev": {
+ "ext-mbstring": "*",
+ "phpunit/phpunit": "^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ }
+ ],
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "http://www.github.com/sebastianbergmann/exporter",
+ "keywords": [
+ "export",
+ "exporter"
+ ],
+ "time": "2017-04-03T13:19:02+00:00"
+ },
+ {
+ "name": "sebastian/global-state",
+ "version": "2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
+ "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.0"
+ },
+ "suggest": {
+ "ext-uopz": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Snapshotting of global state",
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "keywords": [
+ "global state"
+ ],
+ "time": "2017-04-27T15:39:26+00:00"
+ },
+ {
+ "name": "sebastian/object-enumerator",
+ "version": "3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5",
+ "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0",
+ "sebastian/object-reflector": "^1.1.1",
+ "sebastian/recursion-context": "^3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
+ "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
+ "time": "2017-08-03T12:35:26+00:00"
+ },
+ {
+ "name": "sebastian/object-reflector",
+ "version": "1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "773f97c67f28de00d397be301821b06708fca0be"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be",
+ "reference": "773f97c67f28de00d397be301821b06708fca0be",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+ "time": "2017-03-29T09:07:27+00:00"
+ },
+ {
+ "name": "sebastian/recursion-context",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
+ "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ }
+ ],
+ "description": "Provides functionality to recursively process PHP variables",
+ "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+ "time": "2017-03-03T06:23:57+00:00"
+ },
+ {
+ "name": "sebastian/resource-operations",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
+ "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
+ "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides a list of PHP built-in functions that operate on resources",
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
+ "time": "2015-07-28T20:34:47+00:00"
+ },
+ {
+ "name": "sebastian/version",
+ "version": "2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
+ "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.6"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
+ "time": "2016-10-03T07:35:21+00:00"
+ },
+ {
+ "name": "symfony/browser-kit",
+ "version": "v4.0.9",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/browser-kit.git",
+ "reference": "c43bfa0182363b3fd64331b5e64e467349ff4670"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c43bfa0182363b3fd64331b5e64e467349ff4670",
+ "reference": "c43bfa0182363b3fd64331b5e64e467349ff4670",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1.3",
+ "symfony/dom-crawler": "~3.4|~4.0"
+ },
+ "require-dev": {
+ "symfony/css-selector": "~3.4|~4.0",
+ "symfony/process": "~3.4|~4.0"
+ },
+ "suggest": {
+ "symfony/process": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\BrowserKit\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony BrowserKit Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-03-19T22:35:49+00:00"
+ },
+ {
+ "name": "symfony/console",
+ "version": "v2.8.39",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/console.git",
+ "reference": "932d1e4f7f33ee37d3534f5f452474daa66283c2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/console/zipball/932d1e4f7f33ee37d3534f5f452474daa66283c2",
+ "reference": "932d1e4f7f33ee37d3534f5f452474daa66283c2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.9",
+ "symfony/debug": "^2.7.2|~3.0.0",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "require-dev": {
+ "psr/log": "~1.0",
+ "symfony/event-dispatcher": "~2.1|~3.0.0",
+ "symfony/process": "~2.1|~3.0.0"
+ },
+ "suggest": {
+ "psr/log-implementation": "For using the console logger",
+ "symfony/event-dispatcher": "",
+ "symfony/process": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.8-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Console\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Console Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-30T01:21:07+00:00"
+ },
+ {
+ "name": "symfony/css-selector",
+ "version": "v4.0.9",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/css-selector.git",
+ "reference": "03f965583147957f1ecbad7ea1c9d6fd5e525ec2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/03f965583147957f1ecbad7ea1c9d6fd5e525ec2",
+ "reference": "03f965583147957f1ecbad7ea1c9d6fd5e525ec2",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\CssSelector\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jean-François Simon",
+ "email": "jeanfrancois.simon@sensiolabs.com"
+ },
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony CssSelector Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-03-19T22:35:49+00:00"
+ },
+ {
+ "name": "symfony/debug",
+ "version": "v3.0.9",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/debug.git",
+ "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a",
+ "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.9",
+ "psr/log": "~1.0"
+ },
+ "conflict": {
+ "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
+ },
+ "require-dev": {
+ "symfony/class-loader": "~2.8|~3.0",
+ "symfony/http-kernel": "~2.8|~3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Debug\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Debug Component",
+ "homepage": "https://symfony.com",
+ "time": "2016-07-30T07:22:48+00:00"
+ },
+ {
+ "name": "symfony/dom-crawler",
+ "version": "v4.0.9",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/dom-crawler.git",
+ "reference": "d6c04c7532535b5e0b63db45b543cd60818e0fbc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/d6c04c7532535b5e0b63db45b543cd60818e0fbc",
+ "reference": "d6c04c7532535b5e0b63db45b543cd60818e0fbc",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1.3",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "require-dev": {
+ "symfony/css-selector": "~3.4|~4.0"
+ },
+ "suggest": {
+ "symfony/css-selector": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\DomCrawler\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony DomCrawler Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-03-19T22:35:49+00:00"
+ },
+ {
+ "name": "symfony/event-dispatcher",
+ "version": "v2.8.39",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/event-dispatcher.git",
+ "reference": "9b69aad7d4c086dc94ebade2d5eb9145da5dac8c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9b69aad7d4c086dc94ebade2d5eb9145da5dac8c",
+ "reference": "9b69aad7d4c086dc94ebade2d5eb9145da5dac8c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.9"
+ },
+ "require-dev": {
+ "psr/log": "~1.0",
+ "symfony/config": "^2.0.5|~3.0.0",
+ "symfony/dependency-injection": "~2.6|~3.0.0",
+ "symfony/expression-language": "~2.6|~3.0.0",
+ "symfony/stopwatch": "~2.3|~3.0.0"
+ },
+ "suggest": {
+ "symfony/dependency-injection": "",
+ "symfony/http-kernel": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.8-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\EventDispatcher\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony EventDispatcher Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-06T07:35:03+00:00"
+ },
+ {
+ "name": "symfony/finder",
+ "version": "v2.8.39",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/finder.git",
+ "reference": "423746fc18ccf31f9abec43e4f078bb6e024b2d5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/423746fc18ccf31f9abec43e4f078bb6e024b2d5",
+ "reference": "423746fc18ccf31f9abec43e4f078bb6e024b2d5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.9"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.8-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Finder\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Finder Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-04T13:38:31+00:00"
+ },
+ {
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "3296adf6a6454a050679cde90f95350ad604b171"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171",
+ "reference": "3296adf6a6454a050679cde90f95350ad604b171",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "suggest": {
+ "ext-mbstring": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.8-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for the Mbstring extension",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "time": "2018-04-26T10:06:28+00:00"
+ },
+ {
+ "name": "symfony/process",
+ "version": "v4.0.9",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/process.git",
+ "reference": "d7dc1ee5dfe9f732cb1bba7310f5b99f2b7a6d25"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/process/zipball/d7dc1ee5dfe9f732cb1bba7310f5b99f2b7a6d25",
+ "reference": "d7dc1ee5dfe9f732cb1bba7310f5b99f2b7a6d25",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Process\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Process Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-03T05:24:00+00:00"
+ },
+ {
+ "name": "symfony/yaml",
+ "version": "v2.8.39",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/yaml.git",
+ "reference": "d20bd2bdee063863e426297af41eda45ccad6f7e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/d20bd2bdee063863e426297af41eda45ccad6f7e",
+ "reference": "d20bd2bdee063863e426297af41eda45ccad6f7e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.9"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.8-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Yaml\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Yaml Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-08T07:53:13+00:00"
+ },
+ {
+ "name": "theseer/tokenizer",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/theseer/tokenizer.git",
+ "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b",
+ "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+ "time": "2017-04-07T12:08:54+00:00"
+ },
+ {
+ "name": "webmozart/assert",
+ "version": "1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webmozart/assert.git",
+ "reference": "0df1908962e7a3071564e857d86874dad1ef204a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a",
+ "reference": "0df1908962e7a3071564e857d86874dad1ef204a",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3.3 || ^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.6",
+ "sebastian/version": "^1.0.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\Assert\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Assertions to validate method input/output with nice error messages.",
+ "keywords": [
+ "assert",
+ "check",
+ "validate"
+ ],
+ "time": "2018-01-29T19:49:41+00:00"
+ }
+ ],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": {
+ "fguillot/picofeed": 0
+ },
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": [],
+ "platform-dev": []
+}
diff --git a/user/plugins/admin/languages/ar.yaml b/user/plugins/admin/languages/ar.yaml
new file mode 100644
index 0000000..dbed7f4
--- /dev/null
+++ b/user/plugins/admin/languages/ar.yaml
@@ -0,0 +1,92 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "هذا إصدار بيتا! استخدم هذا في الإنتاج على مسؤوليتك الخاصة..."
+ ADMIN_REPORT_ISSUE: "وجدت مشكلة؟ الرجاء الإبلاغ عن GitHub."
+ EMAIL_FOOTER: "Powered by Grav - The Modern Flat File CMS"
+ LOGIN_BTN: "تسجل الدخول"
+ LOGIN_BTN_FORGOT: "نسيت"
+ LOGIN_BTN_RESET: "إعادة تعيين كلمة المرور"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "إرسال إرشادات إعادة تعيين"
+ LOGIN_BTN_CLEAR: "مسح النموذج"
+ LOGIN_BTN_CREATE_USER: "أنشاء مستخدم جديد"
+ LOGIN_LOGGED_IN: "لقد تم تسجيل بنجاح"
+ LOGIN_FAILED: "فشل تسجيل الخول"
+ LOGGED_OUT: "لقد قمت بتسجيل الخروج"
+ RESET_NEW_PASSWORD: "إدخال كلمة سر جديدة رجاءً …"
+ RESET_LINK_EXPIRED: "انتهت مدة صلاحية إعادة الارتباط، الرجاء المحاولة مرة أخرى"
+ RESET_PASSWORD_RESET: "لقد تم إعادة تعيين كلمة المرور"
+ RESET_INVALID_LINK: "اللينك خاطئ ، الرجاء المحاولة مرة أخرى"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "تم إرسال إرشادات إعادة تعيين كلمة المرور الخاصة بك عبر البريد الإلكتروني إلى %s"
+ FORGOT_FAILED_TO_EMAIL: "فشل في تعليمات البريد الإلكتروني، الرجاء المحاولة مرة أخرى لاحقاً"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "لا يمكن إعادة تعيين كلمة المرور ل %s، لم يتم تعيين عنوان البريد الإلكتروني"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "لا يوجد المستخدم مع اسم المستخدم %s"
+ FORGOT_EMAIL_NOT_CONFIGURED: "لا يمكن إعادة تعيين كلمة المرور. لم يتم تكوين هذا الموقع لإرسال رسائل البريد الإلكتروني"
+ FORGOT_EMAIL_SUBJECT: "طلب إعادة تعيين كلمة المرور %s"
+ MANAGE_PAGES: "إدارة الصفحات"
+ PAGES: "الصفحات"
+ PLUGINS: "البرامج الإضافية"
+ PLUGIN: "البرنامج الإضافي"
+ THEMES: "المواضيع"
+ LOGOUT: "تسجيل الخروج"
+ BACK: "الرجوع"
+ ADD_PAGE: "إضافة صفحة"
+ ADD_MODULAR: "إضافة وحدة"
+ MOVE: "انقل"
+ DELETE: "حذف"
+ SAVE: "حفظ"
+ NORMAL: "عادي"
+ EXPERT: "خبير"
+ EXPAND_ALL: "عرض الكل"
+ COLLAPSE_ALL: "طي الكل"
+ ERROR: "خطأ"
+ CLOSE: "أغلق"
+ CANCEL: "إلغاء"
+ CONTINUE: "المتابعة"
+ MODAL_DELETE_PAGE_CONFIRMATION_REQUIRED_TITLE: "التأكيد مطلوب"
+ MODAL_CHANGED_DETECTED_TITLE: "تم الكشف عن التغييرات"
+ MODAL_CHANGED_DETECTED_DESC: "وقد تغييرات غير محفوظة. هل أنت متأكد من أنك تريد ترك دون الحفظ؟"
+ MODAL_DELETE_FILE_CONFIRMATION_REQUIRED_TITLE: "التأكيد مطلوب"
+ MODAL_DELETE_FILE_CONFIRMATION_REQUIRED_DESC: "هل أنت متأكد من حذف هذا الملف؟ لا يمكن التراجع عن هذا الإجراء."
+ ADD_FILTERS: "إضافة عامل تصفية"
+ SEARCH_PAGES: "صفحات البحث"
+ VERSION: "النسخة"
+ WAS_MADE_WITH: "تم عمله مع"
+ BY: "بواسطة"
+ UPDATE_THEME: "تحديث الموضوع"
+ UPDATE_PLUGIN: "تحديث البرنامج الإضافي"
+ AUTHOR: "المؤلّف"
+ HOMEPAGE: "الصفحة الرئيسية"
+ DEMO: "عرض تجريبي"
+ BUG_TRACKER: "متتبع الأخطاء"
+ KEYWORDS: "الكلمات الرئيسية"
+ LICENSE: "الرخصة"
+ DESCRIPTION: "الوصف"
+ README: "الملف التمهيدي"
+ REMOVE_THEME: "إزالة الموضوع"
+ INSTALL_THEME: "تثبيت الموضوع"
+ THEME: "الموضوع"
+ BACK_TO_THEMES: "العودة إلى المواضيع"
+ BACK_TO_PLUGINS: "العودة إلى البرامج الإضافية"
+ CHECK_FOR_UPDATES: "التحقق من وجود تحديثات"
+ ADD: "أَضِف"
+ CLEAR_CACHE: "مسح ذاكرة التخزين المؤقتة"
+ CLEAR_CACHE_IMAGES_ONLY: "الصور فقط"
+ DASHBOARD: "لوحة المعلومات"
+ UPDATES_AVAILABLE: "تحديثات متوفّرة"
+ DAYS: "أيام"
+ UPDATE: "تحديث"
+ STATISTICS: "إحصائيات"
+ TODAY: "اليوم"
+ WEEK: "اسبوع"
+ MONTH: "شهر"
+ MAINTENANCE: "الصيانه"
+ MON: "الإثنين"
+ TUE: "الثلاثاء"
+ WED: "الإربعاء"
+ THU: "الخميس"
+ FRI: "الجمعة"
+ SAT: "السبت"
+ SUN: "الأحد"
+ COPY: "نسخ"
+ EDIT: "تحرير"
+ CREATE: "انشاء"
diff --git a/user/plugins/admin/languages/bg.yaml b/user/plugins/admin/languages/bg.yaml
new file mode 100644
index 0000000..a743085
--- /dev/null
+++ b/user/plugins/admin/languages/bg.yaml
@@ -0,0 +1,262 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Това е Бета версия! Използвате на ваша отговорност..."
+ ADMIN_REPORT_ISSUE: "Открили сте проблем? Моля, съобщете за него в GitHub."
+ EMAIL_FOOTER: "Задвижван от Grav - Модерният Флат Файл CMS"
+ LOGIN_BTN: "Вход"
+ LOGIN_BTN_FORGOT: "Забравена парола"
+ LOGIN_BTN_RESET: "Промяна на паролата"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Изпращане на инструкциите за възстановяването"
+ LOGIN_BTN_CLEAR: "Изтриване на формуляра"
+ LOGIN_BTN_CREATE_USER: "Създаване на потребител"
+ LOGIN_LOGGED_IN: "Влязохте успешно"
+ LOGIN_FAILED: "Влизането не е успешно"
+ LOGGED_OUT: "Излязохте от системата"
+ RESET_NEW_PASSWORD: "Въведете нова парола …"
+ RESET_LINK_EXPIRED: "Връзката за нулиране е изтекла, опитайте отново"
+ RESET_PASSWORD_RESET: "Паролата е променена"
+ RESET_INVALID_LINK: "Използвана невалидна връзка за нулиране, моля опитайте отново"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "На Вашия имейл, бяха изпратени инструкции за възстановяване на паролата"
+ FORGOT_FAILED_TO_EMAIL: "Неуспешно изпращане на имейл с инструкции, опитайте по-късно"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Паролата на %s не може да бъде обновена, няма въведен имейл адрес"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Потребител с име %s не съществува"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Не може да обнови паролата. Този сайт не е конфигуриран да изпраща имейли"
+ FORGOT_EMAIL_SUBJECT: "%s - искане за смяна на парола"
+ FORGOT_EMAIL_BODY: "Смяна на парола
Натиснете тук за да обновите паролата си
С уважение,
%3$sAdderaouekaat ar ger-tremen/h1>
Klikit amañ da adderaouekaat ho ker-tremen
A galon,
%3$s
hoc'h arventennoù PHP. Kreskit an arventenn PHP`post_max_size`"
+ INSTALLING: "O staliañ"
+ LOADING: "O kargañ.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "Ret eo deoc'h staliañ an amzalc'hoù da-heul a-raok:"
+ ERROR_INSTALLING_PACKAGES: "Fazi en ur staliañ ar pakad(où)"
+ INSTALLING_DEPENDENCIES: "O staliañ an amzalc'hoù..."
+ INSTALLING_PACKAGES: "O staliañ ar pakad(où).."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Pakad(où) staliet gant berzh."
+ READY_TO_INSTALL_PACKAGES: "Prest da staliañ ar pakad(où)"
+ PACKAGES_NOT_INSTALLED: "N'eo ket stalied ar pakadoù"
+ PACKAGES_NEED_UPDATE: "Staliet eo ar pakadoù endeo, met re gozh eo"
+ PACKAGES_SUGGESTED_UPDATE: "Staliet eo ar pakadoù endeo, dereat eo an handelv, met hizivaet e vint evit ma vefec'h en handelv diwezhañ"
+ REMOVE_THE: "Dilemel an %s"
+ CONFIRM_REMOVAL: "Sur oc'h e fell deoc'h dilemel %s?"
+ REMOVED_SUCCESSFULLY: "%s dilamet gant berzh"
+ ERROR_REMOVING_THE: "Fazi en ur zilemel %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "An amzalc'hoù da heul a zo azgoulennet gant %s, met n'eo ket azgoulennet gant ur pakad all. Ma ne arverit ket anezho e c'hallit o dilemel adalek amañ."
+ READY_TO_UPDATE_PACKAGES: "Prest da hizivaat ar pakad(où)"
+ ERROR_UPDATING_PACKAGES: "Fazi en ur hizivaat ar pakad(où)"
+ UPDATING_PACKAGES: "Oc'h hizivaat ar pakad(où).."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Pakad(où) hizivaet gant berzh."
+ UPDATING: "Hizivaet"
+ GPM_RELEASES: "Ermaeziadennoù GPM"
+ GPM_RELEASES_HELP: "Dibabit 'Amprouiñ' evit staliañ an handelv beta pe amprouiñ"
+ STABLE: "Stabil"
+ TESTING: "Amprouiñ"
+ FRONTMATTER_PROCESS_TWIG: "Keweriañ frontmatter Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "P'eo oberiant e c'hallit arverañ argemennoù kefluniañ Twig e frontmatter ar bajenn"
+ FRONTMATTER_IGNORE_FIELDS: "Leuskel maeziennoù Frontmatter a-gostez"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Maeziennoù Frontmatter a c'hall enderc'hel Twig met ne rankont ket bezañ keweriet, evel 'forms'"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Pakad %s staliet gant berzh"
+ NEEDS_GRAV_1_1: " Emaoc'h oc'h erounit Grav v%s. Ret eo deoc'h hizivaat d'an handelv diwezhañ: Grav v1.1.x evit bezañ sur e vo keverlec'h. Gallout a ra talvezout vo ret tremen da ermaeziadennoù amprouiñ GPM e kefluniadur ar reizhiad."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Urzh ar c'har, diweredekaet eo an urzhiañ"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Diwelus eo ar bajenn, diweredekaet eo an urzhiañ"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "N'eo ket skoret an urzhiañ dre an ardeiñ dre ma zo ouzhpenn 200 c'hoar"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'EVEZHIADENN: n''hallit ket ouzhpennañ restroù media evit enrollañ ar bajenn. Klikit war ''Enrollañ'' a-us'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'EVEZHIADENN: ret eo enrollañ ar bajenn a-raok pellgas restroù dezhi.'
+ DROP_FILES_HERE_TO_UPLOAD: "Lakait ho restroù amañ pe klikit amañ"
+ INSERT: "Enlakaat"
+ UNDO: "Dizober"
+ REDO: "Adober"
+ HEADERS: "Talbennoù"
+ BOLD: "Tev"
+ ITALIC: "Stouet"
+ STRIKETHROUGH: "Barrennet"
+ SUMMARY_DELIMITER: "Bevenner berradenn"
+ LINK: "Ere"
+ IMAGE: "Skeudenn"
+ BLOCKQUOTE: "Meneg"
+ UNORDERED_LIST: "Roll dizurzh"
+ ORDERED_LIST: "Roll urzhiet"
+ EDITOR: "Embanner"
+ PREVIEW: "Alberz"
+ FULLSCREEN: "Skramm a-bezh"
+ MODULAR: "Molladel"
+ NON_ROUTABLE: "Nann-hentus"
+ NON_MODULAR: "Nann-molladel"
+ NON_VISIBLE: "Diwelus"
+ NON_PUBLISHED: "Diembannet"
+ CHARACTERS: "arouezenn"
+ PUBLISHING: "Oc'h embann"
+ MEDIA_TYPES: "Doareoù media"
+ IMAGE_OPTIONS: "Dibarzhioù skeudenn"
+ MIME_TYPE: "Doare Mime"
+ THUMB: "Melvenn"
+ TYPE: "Doare"
+ FILE_EXTENSION: "Astenn restr"
+ LEGEND: "Alc'hwez ar bajenn"
+ MEMCACHE_SERVER: "Dafariad memcache"
+ MEMCACHE_SERVER_HELP: "Chomlec'h an dafariad memcache"
+ MEMCACHE_PORT: "Porzh memcache"
+ MEMCACHE_PORT_HELP: "Porzh an dafariad memcache"
+ MEMCACHED_SERVER: "Dafariad memcache"
+ MEMCACHED_SERVER_HELP: "Chomlec'h an dafariad memcache"
+ MEMCACHED_PORT: "Porzh memcache"
+ MEMCACHED_PORT_HELP: "Porzh an dafariad memcache"
+ REDIS_SERVER: "Dafariad redis"
+ REDIS_SERVER_HELP: "Chomlec'h an dafariad memcache"
+ REDIS_PORT: "Porzh redis"
+ REDIS_PORT_HELP: "Porzh an dafariad redis"
+ ALL: "Pep tra"
+ FROM: "eus"
+ TO: "da"
diff --git a/user/plugins/admin/languages/ca.yaml b/user/plugins/admin/languages/ca.yaml
new file mode 100644
index 0000000..5a42b31
--- /dev/null
+++ b/user/plugins/admin/languages/ca.yaml
@@ -0,0 +1,633 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Aquesta és una versió beta! Utilitza-la en producció sota el teu propi risc..."
+ ADMIN_REPORT_ISSUE: "Has trobat algun problema? Sisplau, reporta'l a GitHub."
+ EMAIL_FOOTER: "Funcionant amb Grav - El CMS de fitxers plans modern"
+ LOGIN_BTN: "Inicia sessió"
+ LOGIN_BTN_FORGOT: "Ho he oblidat"
+ LOGIN_BTN_RESET: "Restablir contrasenya"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Envia instruccions pel reset"
+ LOGIN_BTN_CLEAR: "Neteja el formulari"
+ LOGIN_BTN_CREATE_USER: "Crea usuari"
+ LOGIN_LOGGED_IN: "S'ha iniciat sessió correctament"
+ LOGIN_FAILED: "No s'ha pogut iniciar sessió"
+ LOGGED_OUT: "S'ha tancat la sessió"
+ RESET_NEW_PASSWORD: "Sisplau introdueix una nova contasenya …"
+ RESET_LINK_EXPIRED: "L'enllaç per a restablir contrasenya ha expirat, torna a provar"
+ RESET_PASSWORD_RESET: "S'ha restablert la contrasenya"
+ RESET_INVALID_LINK: "L'enllaç per a restablir contrasenya invàl·lid, torna a provar"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Les instruccions per a restablir la contrasenya s'han enviat per correu electrònic a %s"
+ FORGOT_FAILED_TO_EMAIL: "S'ha fallat al enviar les instruccions, sisplau torna-ho a provar"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "No es pot restablir la contrasenya per a %s, no té cap email assignat"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "L'usuari %s no existeix"
+ FORGOT_EMAIL_NOT_CONFIGURED: "No es pot restablir la contrasenya. Aquest lloc no està configurat per enviar missatges de correu electrònic"
+ FORGOT_EMAIL_SUBJECT: "%s Petició de restabliment de contrasenya"
+ FORGOT_EMAIL_BODY: "Restabliment de contrasenya
Fes clic aquí per a restablir la contrasenya
Atentament,
%3$s
la teva configuració PHP. Incrementa la opció PHP 'post_max_size'"
+ INSTALLING: "Instal·lant"
+ LOADING: "Carregant..."
+ DEPENDENCIES_NOT_MET_MESSAGE: "Les següents dependències han de ser cobertes primer:"
+ ERROR_INSTALLING_PACKAGES: "S'ha produït un error mentre s'instal·lava el(s) paquet(s)"
+ INSTALLING_DEPENDENCIES: "Instal·lant dependències..."
+ INSTALLING_PACKAGES: "Instal·lant paquet(s)..."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Paquet(s) instal·lat(s) correctament."
+ READY_TO_INSTALL_PACKAGES: "Preparat per instal·lar el(s) paquet(s)"
+ PACKAGES_NOT_INSTALLED: "No s'han instal·lat els paquets"
+ PACKAGES_NEED_UPDATE: "Els paquets ja estaven instal·lats, però eren massa antics"
+ PACKAGES_SUGGESTED_UPDATE: "Els paquets ja estaven instal·lats, i la versió està bé, però s'actualitzaran per tal d'estar al dia"
+ REMOVE_THE: "Elimina el %s"
+ CONFIRM_REMOVAL: "Estàs segur que vols eliminar aquest %s?"
+ REMOVED_SUCCESSFULLY: "S'ha eliminat %s correctament"
+ ERROR_REMOVING_THE: "S'ha produït un error eliminant el %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "El %s requeria les següents dependències, les quals no són requerides per cap altre paquet instal·lat. Si no les estàs utilitzant, les pots eliminar directament des d'aquí."
+ READY_TO_UPDATE_PACKAGES: "Preparat per actualizar el(s) paquet(s)"
+ ERROR_UPDATING_PACKAGES: "S'ha produït un error al actualitzar el(s) paquet(s)"
+ UPDATING_PACKAGES: "Actualitzant paquet(s)..."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Paquet(s) actualitzat(s) correctament."
+ UPDATING: "Actualitzant"
+ GPM_RELEASES: "Versions GPM"
+ GPM_RELEASES_HELP: "Escull 'Provant' per instal·lar versions beta o en proves"
+ GPM_METHOD: "Mètode de recuperació remota"
+ GPM_METHOD_HELP: "Quan es posa a Automàtic, Grav determinarà si fopen està disponible i l'utilitzarà, d'altra forma s'utilitzarà cURL. Per a forçar l'ús d'un o altre, canvia la configuració."
+ GPM_VERIFY_PEER: "Verificació a distància de peer (SSL)"
+ GPM_VERIFY_PEER_HELP: "Alguns proveïdors semblen fallar en la verificació del certificat SSL de getgrav.org, el qual causa que GPM no funcioni. Si aquest és el teu cas, desactivar aquesta configuració pot ajudar"
+ AUTO: "Automàtic"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Estable"
+ TESTING: "Provant"
+ FRONTMATTER_PROCESS_TWIG: "Processa frontmatter de Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Quan està habilitat, pots utilitzar les variables de configuració de Twig a la frontmatter de pàgina"
+ FRONTMATTER_IGNORE_FIELDS: "Ignora camps frontmatter"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Certs camps de frontmatter poden contenir Twig però no han de ser processats, com ara els formularis"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Paquet %s instal·lat correctament"
+ NEEDS_GRAV_1_1: " Estàs utilitzant Grav v%s. Has d'actualitzar a l'última versió Grav v1.1.x disponible per tal d'assegurar la compatibilitat. Això pot requerir canviar a Versions GPM de prova en la configuració del sistema."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "L'ordre està definit pel pare, l'ordenament està deshabilitat"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "La pàgina no és visible, l'ordenament està deshabilitat"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "L'ordre a través de l'administrador no està suportat degut a que hi ha més de 200 elements"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'NOTA: No es poden afegir fitxers multimèdia fins que no s''hagi desat la pàgina. Fes clic a ''Desa'' a la part superior'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'NOTA: Cal desar la pàgina haver de pujar-hi fitxers.'
+ DROP_FILES_HERE_TO_UPLOAD: "Deixa anar els teus arxius aquí o fes clic en aquesta àrea"
+ INSERT: "Inserta"
+ UNDO: "Desfés"
+ REDO: "Refés"
+ HEADERS: "Capçaleres"
+ BOLD: "Negreta"
+ ITALIC: "Cursiva"
+ STRIKETHROUGH: "Tatxat"
+ SUMMARY_DELIMITER: "Delimitador del resum"
+ LINK: "Enllaç"
+ IMAGE: "Imatge"
+ BLOCKQUOTE: "Citació"
+ UNORDERED_LIST: "Llista sense ordre"
+ ORDERED_LIST: "Llista ordenada"
+ EDITOR: "Editor"
+ PREVIEW: "Vista prèvia"
+ FULLSCREEN: "Pantalla completa"
+ MODULAR: "Modular"
+ NON_ROUTABLE: "No accessible"
+ NON_MODULAR: "No modular"
+ NON_VISIBLE: "No visible"
+ NON_PUBLISHED: "No publicat"
+ CHARACTERS: "caràcters"
+ PUBLISHING: "Publicació"
+ NOTIFICATIONS: "Notificacions"
+ MEDIA_TYPES: "Tipus de multimèdia"
+ IMAGE_OPTIONS: "Opcions d'imatge"
+ MIME_TYPE: "Tipus Mime"
+ THUMB: "Miniatura"
+ TYPE: "Tipus"
+ FILE_EXTENSION: "Extensió de fitxer"
+ LEGEND: "Llegenda de pàgina"
+ MEMCACHE_SERVER: "Servidor Memcache"
+ MEMCACHE_SERVER_HELP: "L'adreça del servidor Memcache"
+ MEMCACHE_PORT: "Port Memcache"
+ MEMCACHE_PORT_HELP: "El port del servidor Memcache"
+ MEMCACHED_SERVER: "Servidor Memcached"
+ MEMCACHED_SERVER_HELP: "L'adreça del servidor Memcached"
+ MEMCACHED_PORT: "Port Memcached"
+ MEMCACHED_PORT_HELP: "El port del servidor Memcached"
+ REDIS_SERVER: "Servidor de Redis"
+ REDIS_SERVER_HELP: "L'adreça del servidor de Redis"
+ REDIS_PORT: "Port Redis"
+ REDIS_PORT_HELP: "El port del servidor Redis"
+ ALL: "Tot"
+ FROM: "de"
+ TO: "a"
+ RELEASE_DATE: "Data de llançament"
+ SORT_BY: "Ordena per"
+ RESOURCE_FILTER: "Filtrar..."
+ FORCE_SSL: "Força SSL"
+ FORCE_SSL_HELP: "Força SSL globalment, si està habilitat, quan el lloc web és accedir per HTTP, Grav envia un redireccionament a la pàgina HTTPS"
+ NEWS_FEED: "Canal de notícies"
+ EXTERNAL_URL: "URL externa"
+ SESSION_PATH: "El camí de la sessió"
+ SESSION_PATH_HELP: "Utilitza només si has escollit una URL base personalitzada (has reescrit el domini del lloc web/subcarpeta)"
+ CUSTOM_BASE_URL: "URL base personalitzada"
+ CUSTOM_BASE_URL_HELP: 'Utilitza si vols reescriure el domini del lloc web o utilitzar una subcarpeta diferent que la que utilitza Grav. Per exemple: http://localhost'
+ FILEUPLOAD_PREVENT_SELF: 'No es pot utilitzar "%s" fora de les pàgines.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'No es pot pujar el fitxer %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'No es pot moure el fitxer %s to "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'Cancel·la càrrega'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Estàs segur que vols cancel·lar aquesta càrrega?'
+ DROPZONE_DEFAULT_MESSAGE: 'Deixa anar els teus fitxers aquí o fes clic en aquesta àrea'
+ DROPZONE_FALLBACK_MESSAGE: 'El teu navegador no suporta arrosegar i deixar anar per a carregar fitxers.'
+ DROPZONE_FALLBACK_TEXT: 'Si us plau, utilitza el formulari clàssic inferior per carregar els teus fitxers com es feia abans.'
+ DROPZONE_FILE_TOO_BIG: 'El fitxer és molt gran ({{filesize}}MiB). Mida màxima de fitxer: {{maxFilesize}}MiB.'
+ DROPZONE_INVALID_FILE_TYPE: "No pots carregar fitxers d'aquest tipus."
+ DROPZONE_MAX_FILES_EXCEEDED: "No pots carregar més fitxers."
+ DROPZONE_REMOVE_FILE: "Esborra fitxer"
+ DROPZONE_RESPONSE_ERROR: "El servidor ha respost amb el codi {{statusCode}}."
+ PREMIUM_PRODUCT: "Premium"
+ ADMIN_CACHING: "Habilita el cache de l'administració"
+ ADMIN_CACHING_HELP: "El cache a l'administració pot ser controlat independentment del de la pàgina front-end"
+ DESTINATION_NOT_SPECIFIED: "Destinació no especificat"
+ UPLOAD_ERR_NO_TMP_DIR: "No es troba una carpeta temporal"
+ SESSION_SPLIT: "Separació de sessió"
+ SESSION_SPLIT_HELP: "Separació de sessions independent entre el lloc web i altres plugins (com ara l'administració)"
+ ERROR_FULL_BACKTRACE: "Error Complert Backtrace"
+ ERROR_SIMPLE: "Error simple"
+ ERROR_SYSTEM: "Error del sistema"
+ IMAGES_AUTO_FIX_ORIENTATION: "Fixar l'orientació automàtica"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Corregir automàticament l'orientació de la imatge basada en les dades Exif"
+ REDIS_SOCKET: "Socket Redis"
+ REDIS_SOCKET_HELP: "El Socket Redis"
+ NOT_SET: "No establert"
+ PERMISSIONS: "Permisos"
+ ALLOW_WEBSERVER_GZIP: "Permetre WebServer Gzip"
+ OFFLINE_WARNING: "La connexió a la GPM no es pot establir"
diff --git a/user/plugins/admin/languages/cs.yaml b/user/plugins/admin/languages/cs.yaml
new file mode 100644
index 0000000..441a632
--- /dev/null
+++ b/user/plugins/admin/languages/cs.yaml
@@ -0,0 +1,693 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Jedná se o beta verzi! V ostrém provozu používejte pouze na vlastní nebezpečí..."
+ ADMIN_REPORT_ISSUE: "Objevili jste problém? Nahlaste ho, prosím, na GitHub."
+ EMAIL_FOOTER: "Beží na Grav CMS - Moderní správce obsahu pomocí souborů prostých textů"
+ LOGIN_BTN: "Přihlásit"
+ LOGIN_BTN_FORGOT: "Obnovit heslo"
+ LOGIN_BTN_RESET: "Obnovit heslo"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Odeslány pokyny pro obnovu hesla"
+ LOGIN_BTN_CLEAR: "Vymazat formulář"
+ LOGIN_BTN_CREATE_USER: "Vytvořit uživatele"
+ LOGIN_LOGGED_IN: "Byli jste úspěšně přihlášeni"
+ LOGIN_FAILED: "Přihlášení se nezdařilo"
+ LOGGED_OUT: "Byli jste odhlášeni"
+ RESET_NEW_PASSWORD: "Prosím, zadejte nové heslo …"
+ RESET_LINK_EXPIRED: "Odkaz pro obnovení hesla vypršel, zkuste to, prosím, znovu"
+ RESET_PASSWORD_RESET: "Heslo bylo změněno"
+ RESET_INVALID_LINK: "Použit neplatný odkaz pro obnovu hesla, zkuste to, prosím, znovu"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Pokyny pro obnovení hesla byly odeslány na vaši e-mailovou adresu"
+ FORGOT_FAILED_TO_EMAIL: "Nepodařilo se odeslat instrukce pro obnovu hesla, zkuste to, prosím, později"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Heslo pro %s nelze obnovit, není zadána e-mailová adresa"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Uživatel %s neexistuje"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Heslo nelze obnovit. Tento web nemá nastaveno odesílání e-mailů"
+ FORGOT_EMAIL_SUBJECT: "%s Požadavek na obnovení hesla"
+ FORGOT_EMAIL_BODY: "Obnovení hesla
Klikněte zde pro nastavení nového hesla
Děkujeme,
%3$s
Zvětšete prosím `post_max_size` v nastavení PHP"
+ INSTALLING: "Probíhá instalace"
+ LOADING: "Probíhá načítání.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "Nejprve je třeba nainstalovat následující komponenty:"
+ ERROR_INSTALLING_PACKAGES: "Nastala chyba při instalování bálíčků"
+ INSTALLING_DEPENDENCIES: "Instalování komponentů..."
+ INSTALLING_PACKAGES: "Probíhá instalace balíčků.."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Balíčky byly úspěšně nainstalovány."
+ READY_TO_INSTALL_PACKAGES: "Vše připraveno na instalaci balíčků"
+ PACKAGES_NOT_INSTALLED: "Balíčky nenainstalovány"
+ PACKAGES_NEED_UPDATE: "Již nainstalované balíčky, které jsou příliš staré"
+ PACKAGES_SUGGESTED_UPDATE: "Balíčky nainstalované ve verzi, která je v pořádku, budou aktualizovány na nejnovější verzi"
+ REMOVE_THE: "Odstraňte %s"
+ CONFIRM_REMOVAL: "Opravdu chcete smazat %s?"
+ REMOVED_SUCCESSFULLY: "%s úspěšně odstraněn"
+ ERROR_REMOVING_THE: "Nastala chyba při odstraňování %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "%s vyžadoval následující komponenty, které nejsou vyžadovány ostatními nainstalovanými balíčky. Pokud je nepoužíváte, můžete je přímo zde hned odstranit."
+ READY_TO_UPDATE_PACKAGES: "Vše připraveno na aktualizaci balíčků"
+ ERROR_UPDATING_PACKAGES: "Nastala chyba při aktualizaci bálíčků"
+ UPDATING_PACKAGES: "Probíhá aktualizování balíčků.."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Balíčky byly úspěšně aktualizovány."
+ UPDATING: "Probíhá aktualizace"
+ GPM_RELEASES: "Verze GPM"
+ GPM_RELEASES_HELP: "Zvolte 'Testovací' pro instalaci beta nebo testovací verze"
+ GPM_METHOD: "Metoda Remote Fetch"
+ GPM_METHOD_HELP: "Pokud nastaveno na Auto, Grav zjistí, jestli je fopen povoleno a použije jej, jinak se vrátí zpět k používání cURL. K vynucení použití jednoho či druhého přepněte nastavení."
+ GPM_VERIFY_PEER: "Vzdálené ověření Peer (SSL)"
+ GPM_VERIFY_PEER_HELP: "Někteří poskytovatelé nepřijímají getgrav.org SSL certifikát, což způsobuje nefunkčnost GPM. Pokud je toto váš případ, zkuste vypnout toto nastavení"
+ AUTO: "Auto"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Stabilní"
+ TESTING: "Testovací"
+ FRONTMATTER_PROCESS_TWIG: "Zpracovat Twig ve frontmatteru"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Pokud je aktivní, můžete použít nastavovací proměnné Twigu ve frontmatteru stránky"
+ FRONTMATTER_IGNORE_FIELDS: "Ignorovat pole ve frontmatteru"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Určitá pole ve frontmatteru můžou obsahovat Twig, ale neměla by být zpracována. Například formuláře"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Balíček %s byl úspěšně nainstalován"
+ NEEDS_GRAV_1_1: " Využíváte Grav v%s. Pro zajištění kompatibility je třeba aktualizovat na nejnovější verzi Grav v1.1.x. To může vyžadovat přechod na testovací GPM verzi v konfiguraci systému."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Pořadí nadřazeného nastavení, řazení zakázáno"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Stránka není viditelná, řazení zakázáno"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "Řazení přes admin není podporováno, protože existuje více než 200 sourozenců"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Řazení stránek je zakázané pro tuto stánku, jelikož je není poskytnuta číselná předpona u adresáře"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'Poznámka: Nelze přidat mediální soubory, dokud neuložíte na stránku. Stačí kliknout na ''Uložit'' na horní části stránky'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'POZNÁMKA: Musíte stránku uložit před nahráním souborů.'
+ DROP_FILES_HERE_TO_UPLOAD: "Přetáhněte sem své soubory nebo klikněte na tuto plochu"
+ INSERT: "Vložit"
+ UNDO: "Odvolat"
+ REDO: "Opakovat"
+ HEADERS: "Nadpisy"
+ BOLD: "Tučně"
+ ITALIC: "Kurzíva"
+ STRIKETHROUGH: "Přeškrtnout"
+ SUMMARY_DELIMITER: "Oddělovač shnutí"
+ LINK: "Odkaz"
+ IMAGE: "Obrázek"
+ BLOCKQUOTE: "Citace"
+ UNORDERED_LIST: "Nečíslovaný seznam"
+ ORDERED_LIST: "Číslovaný seznam"
+ EDITOR: "Editor"
+ PREVIEW: "Náhled"
+ FULLSCREEN: "Na celou obrazovku"
+ MODULAR: "Modulární"
+ NON_ROUTABLE: "Nenavštívitelné"
+ NON_MODULAR: "Nemodulární"
+ NON_VISIBLE: "Neviditelné"
+ NON_PUBLISHED: "Nepublikované"
+ CHARACTERS: "znaků"
+ PUBLISHING: "Publikování"
+ NOTIFICATIONS: "Notifikace"
+ MEDIA_TYPES: "Typy médií"
+ IMAGE_OPTIONS: "Možnosti obrázku"
+ MIME_TYPE: "MIME typ"
+ THUMB: "Náhled"
+ TYPE: "Typ"
+ FILE_EXTENSION: "Přípona souboru"
+ LEGEND: "Legenda stánky"
+ MEMCACHE_SERVER: "Server memcache"
+ MEMCACHE_SERVER_HELP: "Adresa Memcache serveru"
+ MEMCACHE_PORT: "Memcached port"
+ MEMCACHE_PORT_HELP: "Port serveru Memcached"
+ MEMCACHED_SERVER: "Memcached server"
+ MEMCACHED_SERVER_HELP: "Adresu serveru Memcached"
+ MEMCACHED_PORT: "Memcached port"
+ MEMCACHED_PORT_HELP: "Port serveru Memcached"
+ REDIS_SERVER: "Redis server"
+ REDIS_SERVER_HELP: "Adresa Redis serveru"
+ REDIS_PORT: "Redis port"
+ REDIS_PORT_HELP: "Port Redis serveru"
+ REDIS_PASSWORD: "Heslo a tajný kód pro Redis"
+ ALL: "Vše"
+ FROM: "od"
+ TO: "do"
+ RELEASE_DATE: "Datum zveřejnění"
+ SORT_BY: "Seřadit podle"
+ RESOURCE_FILTER: "Filtr..."
+ FORCE_SSL: "Vynutit SSL"
+ FORCE_SSL_HELP: "Globálně vynutit SSL, je-li povoleno, web dosažený prostřednictvím protokolu HTTP, Grav přesměruje na HTTPS stránku"
+ NEWS_FEED: "Novinky"
+ EXTERNAL_URL: "Externí adresa URL"
+ SESSION_PATH: "Adresa k session"
+ SESSION_PATH_HELP: "Užívejte, jen když zvolíte vlastní základní adresu URL (přepíšete doménu stránky / podsložky)"
+ CUSTOM_BASE_URL: "Vlastní základní adresa URL"
+ CUSTOM_BASE_URL_HELP: Užívejte, chcete-li přepsat doménu stránky nebo užít jinou podsložku, než která je v Grav užívaná. Například http://localhost
+ FILEUPLOAD_PREVENT_SELF: 'Nelze použít "%s" mimo stránky.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Nepodařilo se nahrát soubor %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'Nepodařilo přesunout soubor %s do "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'Zrušit nahrávání'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Opravdu si přejete toto nahrávání zrušit?'
+ DROPZONE_DEFAULT_MESSAGE: 'Přetáhněte sem své soubory nebo klikněte na tuto plochu'
+ DROPZONE_FALLBACK_MESSAGE: 'Váš prohlížeč nepodporuje "drag & drop" nahrávání souborů.'
+ DROPZONE_FALLBACK_TEXT: 'Použijte, prosím, záložní formulář níže pro nahrávání souborů.'
+ DROPZONE_FILE_TOO_BIG: 'Soubor je příliš velký ({{filesize}}MiB). Maximální velikost souboru: {{maxFilesize}}MiB.'
+ DROPZONE_INVALID_FILE_TYPE: "Nelze nahrát soubory tohoto typu."
+ DROPZONE_MAX_FILES_EXCEEDED: "Nelze nahrát žádné další soubory."
+ DROPZONE_REMOVE_FILE: "Odstranit soubor"
+ DROPZONE_RESPONSE_ERROR: "Server odpověděl kódem {{statusCode}}."
+ PREMIUM_PRODUCT: "Prémium"
+ ADMIN_CACHING: "Povolit Admin Caching"
+ ADMIN_CACHING_HELP: "Ukládání do mezipaměti v administraci lze ovládat nezávisle z front-end webu"
+ DESTINATION_NOT_SPECIFIED: "Cíl není zadán"
+ UPLOAD_ERR_NO_TMP_DIR: "Chybí dočasná složka"
+ SESSION_SPLIT: "Rozdělení session"
+ SESSION_SPLIT_HELP: "Nezávislé rozdělit relací mezi webem a dalšími pluginy (jako admin)"
+ ERROR_FULL_BACKTRACE: "Úplná chybová hlášení"
+ ERROR_SIMPLE: "Jednoduchá chyba"
+ ERROR_SYSTEM: "Systémová chyba"
+ IMAGES_AUTO_FIX_ORIENTATION: "Opravit orientaci automaticky"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Automaticky opravovat natočení obrázku podle EXIF data souboru"
+ REDIS_SOCKET: "Redis socket"
+ REDIS_SOCKET_HELP: "Redis socket"
+ NOT_SET: "Nenastaveno"
+ PERMISSIONS: "Přístupová práva"
+ NEVER_CACHE_TWIG: "Nikdy nacachovat Twig"
+ NEVER_CACHE_TWIG_HELP: "Do mezipaměti ukládat jen obsah a Zpracovat Twig při každém načtení. Bude ignorovat nastavení twig_first."
+ ALLOW_WEBSERVER_GZIP: "Povolit WebServer Gzip"
+ ALLOW_WEBSERVER_GZIP_HELP: "Ve výchozím nastavení vypnuto. Je-li povolena, komprese Gzip/Deflate bude fungovat, ale připojení http nebudou uzavřeny před událostí onShutDown(), a tím způsobuje pomalejší načítání stránek"
+ OFFLINE_WARNING: "Nelze navázat spojení s GPM"
+ CLEAR_IMAGES_BY_DEFAULT: "Vyčistit mezipaměť obrázků jako výchozí"
+ CLEAR_IMAGES_BY_DEFAULT_HELP: "Ve výchozím nastavení jsou obrázky z mezipaměti odstraněny při jakémkoli její čištění. To může být vypnuto"
+ CLI_COMPATIBILITY: "CLI kompatibilita"
+ CLI_COMPATIBILITY_HELP: "Zajišťuje, že budou použity jen stabilní mezipamětní ovladače (soubor, redis, memcache, atd.)"
+ REINSTALL_PLUGIN: "Přeinstalovat plugin"
+ REINSTALL_THEME: "Přeinstalovat šablonu"
+ REINSTALL_THE: "Reinstalovat %s"
+ CONFIRM_REINSTALL: "Jste si jistí, že chcete %s přeinstalovat?"
+ REINSTALLED_SUCCESSFULLY: "%s byl úspěšně přeinstalován"
+ ERROR_REINSTALLING_THE: "Chyba při reinstalaci %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Balíček %s byl úspěšně přeinstalován"
+ REINSTALLATION_FAILED: "Chyba při přeinstalaci"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "Není nainstalovaná nejnovější verze. Klepnutím na Pokračovat odeberete současnou verzi a nainstalujete nejnověšjí dostupnou verzi"
+ TOOLS: "Nástroje"
+ DIRECT_INSTALL: "Přímá instalace"
+ NO_PACKAGE_NAME: "Nespecifikovaný název balíčku"
+ PACKAGE_EXTRACTION_FAILED: "Extrakce baličku se nezdařila"
+ NOT_VALID_GRAV_PACKAGE: "Není platným balíčkem Grav"
+ NAME_COULD_NOT_BE_DETERMINED: "Jméno nemohlo být určeno"
+ CANNOT_OVERWRITE_SYMLINKS: "Nelze přepsat symbolické odkazy"
+ ZIP_PACKAGE_NOT_FOUND: "ZIP soubor nebyl nalezen"
+ GPM_OFFICIAL_ONLY: "Pouze oficiální GPM"
+ GPM_OFFICIAL_ONLY_HELP: "Povolit pouze přímé instalace z oficiálního repozitáře GPM."
+ NO_CHILD_TYPE: "Žádný odvozený typ pro zdrojové směrování"
+ SORTABLE_PAGES: "Tříditelné stánky:"
+ UNSORTABLE_PAGES: "Netříditelné stránky:"
+ ADMIN_SPECIFIC_OVERRIDES: "Specifická přepsání admina"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Pořadí zobrazení dětí"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "Pořadí v jakém bude odvozená stránka zobrazena v pohledu 'Strany' správcovského zásuvného modulu"
+ PWD_PLACEHOLDER: "komplexní řetězec nejméně 8 znaků dlouhý"
+ PWD_REGEX: "Regex hesla"
+ PWD_REGEX_HELP: 'Výchozí: Hesla musí obsahovat minimálně jedno číslo, jedno velké a malé písmeno a jejich délka musí být nejméně 8 znaků'
+ USERNAME_PLACEHOLDER: "jen malá písmena, např. 'admin'"
+ USERNAME_REGEX: "Regex uživatelského jména"
+ USERNAME_REGEX_HELP: 'Výchozí: jen malá písmena, znaky, číslice, pomlčky a podtržítka. 3 - 16 znaků'
+ CONTENT_PADDING: "Odsazení obsahu"
+ CONTENT_PADDING_HELP: "Povolit/zakázat obsah odsazení kolem oblasti obsahu pro poskytnutí více místa"
+ ENABLE_AUTO_METADATA: "Automatická metadata z Exif"
+ ENABLE_AUTO_METADATA_HELP: "Automaticky generovat soubory matadat pro obrázky s Exif informacemi"
+ 2FA_TITLE: "Dvoufaktorové ověření"
+ 2FA_INSTRUCTIONS: "##### Dvoufaktorové ověřování\nMáte na svém účtu aktivováno **dvoufaktorové ověřování**. Pro dokončení přihlášení použijte svou aplikaci pro **dvoufaktorové ověřování ** a zadejte **šestimístný kód**."
+ 2FA_REGEN_HINT: "znovuvytvoření tajného kódu bude vyžadovat přeinstalaci ověřovací aplikace"
+ 2FA_LABEL: "Přístup správce"
+ 2FA_FAILED: "Špatně zadaný kód dvoufaktorového ověření, zkuste to znovu."
+ 2FA_ENABLED: "Dvoufaktorové ověření povoleno"
+ 2FA_CODE_INPUT: "000000"
+ 2FA_SECRET: "Tajný kód dvoufaktorového ověření"
+ 2FA_SECRET_HELP: "Naskenujte tento QR kód do vaší [Ověřovací aplikace](https://learn.getgrav.org/admin-panel/2fa#apps). Dobrý nápad je také zazálohovat tajný kód na bezpečné místo, pokud bude zapotřebí aplikaci přeinstalovat. Pro více informací se podívejte do [Grav dokumentace](https://learn.getgrav.org/admin-panel/2fa) "
+ 2FA_REGENERATE: "Přegenerovat"
diff --git a/user/plugins/admin/languages/cy.yaml b/user/plugins/admin/languages/cy.yaml
new file mode 100644
index 0000000..9d5d965
--- /dev/null
+++ b/user/plugins/admin/languages/cy.yaml
@@ -0,0 +1,90 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Mae hwn yn fersiwn beta! Defnyddio hwn yn cynhyrchu ar risg eich hun..."
+ ADMIN_REPORT_ISSUE: "Canfod problem? Rhowch wybod ar GitHub."
+ EMAIL_FOOTER: " wedi'u pweru gan Grav-ffeil fflat Modern CMS"
+ LOGIN_BTN: "Mewngofnodi"
+ LOGIN_BTN_FORGOT: "Anghofio"
+ LOGIN_BTN_RESET: "Ailosod cyfrinair"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Anfon cyfarwyddiadau ailosod"
+ LOGIN_BTN_CLEAR: "Ffurflen clir"
+ LOGIN_BTN_CREATE_USER: "Creu defnyddiwr"
+ LOGIN_LOGGED_IN: "Wedi eich mewngofnodi llwyddiannus"
+ LOGIN_FAILED: "Wedi methu mewngofnodi"
+ LOGGED_OUT: "Chi allgofnodi"
+ RESET_LINK_EXPIRED: "Ailosod cysylltiad wedi dod i ben, rhowch gynnig arall arni"
+ RESET_PASSWORD_RESET: "Mae wedi'i ailosod cyfrinair"
+ RESET_INVALID_LINK: "Mae annilys yn ailosod cyswllt a ddefnyddir, rhowch gynnig arni eto"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Mae cyfarwyddiadau i ailosod eich cyfrinair wedi'u hanfon drwy e-bost at %s"
+ FORGOT_FAILED_TO_EMAIL: "Wedi methu anfon e-bost cyfarwyddiadau, rhowch gynnig arall arni rywbryd eto"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Does dim modd ailosod cyfrinair %s, pennir nad oes cyfeiriad e-bost"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Nid yw'r defnyddiwr gyda'r enw defnyddiwr %s yn bodoli"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Does dim modd ailosod cyfrinair. Nid yw'r safle hwn wedi'i ffurfweddu i anfon negeseuon e-bost"
+ FORGOT_EMAIL_SUBJECT: "Cais ailosod cyfrinair %s"
+ FORGOT_EMAIL_BODY: "Ailosod cyfrinair
Adgangskodenulstilling
Klik her for at gennemføre adgangskodenulstillingen
Venlig hilsen,
%3$s
dine PHP-indstillinger. Øge din 'post_max_size' PHP indstilling"
+ INSTALLING: "Installerer"
+ LOADING: "Indlæser.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "De følgende afhængigheder skal være opfyldt først:"
+ ERROR_INSTALLING_PACKAGES: "Fejl under installering af af pakke(r)"
+ INSTALLING_DEPENDENCIES: "Installerer afhængigheder..."
+ INSTALLING_PACKAGES: "Installerer pakke(r).."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Pakke(r) installeret korrekt."
+ READY_TO_INSTALL_PACKAGES: "Klar til at installere pakke(r)"
+ PACKAGES_NOT_INSTALLED: "Pakker ikke installeret"
+ PACKAGES_NEED_UPDATE: "Pakker allerede installeret, men forældede"
+ PACKAGES_SUGGESTED_UPDATE: "Pakker allerede installeret, og versionen er i orden, men vil blive opdateret for at holde dig up to date"
+ REMOVE_THE: "Fjern %s"
+ CONFIRM_REMOVAL: "Er du sikker på, at du ønsker at slette %s?"
+ REMOVED_SUCCESSFULLY: "%s fjernet korrekt"
+ ERROR_REMOVING_THE: "Fejl i forsøget på at fjerne %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "%s krævede følgende afhængigheder, som ikke er påkrævet af andre pakker. Hvis du ikke bruger dem, kan du fjerne dem her."
+ READY_TO_UPDATE_PACKAGES: "Klar til at opdatere pakke(r)"
+ ERROR_UPDATING_PACKAGES: "Fejl under opdatering af pakke(r)"
+ UPDATING_PACKAGES: "Opdaterer pakke(r).."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Pakke(r) opdateret korrekt."
+ UPDATING: "Updaterer"
+ GPM_RELEASES: "GPM udgivelser"
+ GPM_RELEASES_HELP: "Vælg 'Test' for at installere beta eller testversioner"
+ GPM_METHOD: "Fjernhentningsmetode"
+ GPM_METHOD_HELP: "Når indstillet til Auto afgør Grav, om fopen er tilgængelig og benytter den, ellers benyttes cURL. For at gennemtvinge brugen af den ene eller den, skift indstillingen."
+ GPM_VERIFY_PEER: "Fjerngodkend Peer (SSL)"
+ GPM_VERIFY_PEER_HELP: "Visse udbydere synes at svigte med at verificere getgrav.org SSL-certifikat, hvilket betyder, at GPM ikke vil fungere. Er dette tilfældet for dig, vil deaktivering af denne indstilling måske hjælpe"
+ AUTO: "Auto"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Stabil"
+ TESTING: "Tester"
+ FRONTMATTER_PROCESS_TWIG: "Processer frontmatter Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Når aktiveret kan du bruge Twig's konfigurationsvariabler i sidens frontmatter"
+ FRONTMATTER_IGNORE_FIELDS: "Ignorer frontmatter felter"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Visse frontmatter felter kan indeholde Twig, men skal ikke behandles. Så som \"formularer\""
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Pakke %s installeret"
+ NEEDS_GRAV_1_1: " du kører Grav v%s. Du skal opdatere til den nyeste Grav v1.1.x version for at sikre kompatibilitet. Dette kan kræve at du skifter til eksperimentelle GPM udgivelser i systemkonfigurationen."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Overordnet rækkefølge-indstilling, orden de-aktiveret"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Siden er ikke synlig, orden de-aktiveret"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "Sortering af rækkefølge via administrationen er ikke tilgængelig, fordi der er mere end 200 under-elementer"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Sidebestilling er deaktiveret for denne side, da Numerisk Mappenpræfiks ikke er aktiveret"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'OBS: Du kan ikke tilføje medie-filer før du har gemt siden. Klik på "Gem" øverst'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'OBS: Siden skal gemmes før du kan tilføje filer til den.'
+ DROP_FILES_HERE_TO_UPLOAD: "Smid dine filer her eller, Klik i dette område"
+ INSERT: "Indsæt"
+ UNDO: "Fortryd"
+ REDO: "Gendan"
+ HEADERS: "Overskrifter"
+ BOLD: "Fed"
+ ITALIC: "Kursiv"
+ STRIKETHROUGH: "Gennemstreget"
+ SUMMARY_DELIMITER: "Sammendragsafgrænser"
+ LINK: "Link"
+ IMAGE: "Billede"
+ BLOCKQUOTE: "Citatblok"
+ UNORDERED_LIST: "Usorteret liste"
+ ORDERED_LIST: "Sorteret liste"
+ EDITOR: "Editor"
+ PREVIEW: "Eksempelvisning"
+ FULLSCREEN: "Fuld skærm"
+ MODULAR: "Modulær"
+ NON_ROUTABLE: "Ikke tilgængelig"
+ NON_MODULAR: "Ikke modulær"
+ NON_VISIBLE: "Ikke-synlig"
+ NON_PUBLISHED: "Ikke udgivet"
+ CHARACTERS: "tegn"
+ PUBLISHING: "Udgivelse"
+ NOTIFICATIONS: "Notifikationer"
+ MEDIA_TYPES: "Medietyper"
+ IMAGE_OPTIONS: "Billedmuligheder"
+ MIME_TYPE: "MIME-type"
+ THUMB: "Miniature"
+ TYPE: "Type"
+ FILE_EXTENSION: "Filendelse"
+ LEGEND: "Sideoversigt"
+ MEMCACHE_SERVER: "Memcache-server"
+ MEMCACHE_SERVER_HELP: "Memcache-serveradressen"
+ MEMCACHE_PORT: "Memcache-port"
+ MEMCACHE_PORT_HELP: "Memcache-serverporten"
+ MEMCACHED_SERVER: "Memcachet-server"
+ MEMCACHED_SERVER_HELP: "Memcachet-serveradresse"
+ MEMCACHED_PORT: "Memcache-port"
+ MEMCACHED_PORT_HELP: "Memcachet-serverport"
+ REDIS_SERVER: "Redis-server"
+ REDIS_SERVER_HELP: "Redis-serveradressen"
+ REDIS_PORT: "Redis-port"
+ REDIS_PORT_HELP: "Redis-serverport"
+ REDIS_PASSWORD: "Redis-adgangskode/hemmelighed"
+ ALL: "Alle"
+ FROM: "fra"
+ TO: "til"
+ RELEASE_DATE: "Udgivelsesdato"
+ SORT_BY: "Sortér efter"
+ FORCE_SSL: "Gennemtving SSL"
+ FORCE_SSL_HELP: "Gennemtving SSL globalt, hvis aktiveret, når webstedet nås via HTTP, Grav sender en omdirigering til HTTPS-siden"
+ NEWS_FEED: "Nyhedsfeed"
+ EXTERNAL_URL: "Ekstern URL"
+ SESSION_PATH: "Sessionssti"
+ SESSION_PATH_HELP: "Benyt kun, hvis du vælger en tilpasset basis-URL (du omskrive webstedsdomæne/undermappe)"
+ CUSTOM_BASE_URL: "Tilpasset basis-URL"
+ CUSTOM_BASE_URL_HELP: 'Benyt, hvis du ønsker at omskrive webstedsdomæne eller benytte en anden undermappe end den, Grav benytter. Eksempel: http://localhost'
+ FILEUPLOAD_PREVENT_SELF: 'Kan ikke benytte "%s" uden for sider.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Kan ikke uploade fil %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'Kan ikke flytte fil %s til "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'Annullér upload'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Sikker på, at du vil annullere denne upload?'
+ DROPZONE_DEFAULT_MESSAGE: 'Slip dine filer hér eller, klik i dette område'
+ DROPZONE_FALLBACK_MESSAGE: 'Din browser understøtter ikke træk-og-slip fil-uploads.'
+ DROPZONE_FALLBACK_TEXT: 'Benyt venligst formularen nedenfor for alternativt at uploade filer ''som i gamle dage''.'
+ DROPZONE_FILE_TOO_BIG: 'Filen er for stor ({{filesize}}MiB). Maks. filstørrelse: {{maxFilesize}}MiB.'
+ DROPZONE_INVALID_FILE_TYPE: "Filer af denne type kan ikke uploades."
+ DROPZONE_MAX_FILES_EXCEEDED: "Der kan ikke uploades flere filer."
+ DROPZONE_REMOVE_FILE: "Fjern fil"
+ DROPZONE_RESPONSE_ERROR: "Serveren svarede med koden {{statusCode}}."
+ PREMIUM_PRODUCT: "Premium"
+ ADMIN_CACHING: "Aktivere Admin-cachelagring"
+ ADMIN_CACHING_HELP: "Cachelagring i admin kan styres uafhængigt af frontend-webstedet"
+ DESTINATION_NOT_SPECIFIED: "Destination er ikke angivet"
+ UPLOAD_ERR_NO_TMP_DIR: "Mangler en midlertidige mappe"
+ SESSION_SPLIT: "Sessionsopdeling"
+ SESSION_SPLIT_HELP: "Opdel sessioner uafhængigt mellem websted og andre plugins (f.eks. Admin)"
+ ERROR_FULL_BACKTRACE: "Vis detaljeret Backtrace fejlinfo"
+ ERROR_SIMPLE: "Vis simpel fejlinfo"
+ ERROR_SYSTEM: "Systemfejl"
+ IMAGES_AUTO_FIX_ORIENTATION: "Korrigér orientering automatisk"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Korrigér automatisk billedretningen baseret på Exif-dataene"
+ REDIS_SOCKET: "Redis socket"
+ REDIS_SOCKET_HELP: "Redis socket"
+ NOT_SET: "Ikke indstillet"
+ PERMISSIONS: "Rettigheder"
+ NEVER_CACHE_TWIG: "Mellemlagre aldrig Twig"
+ NEVER_CACHE_TWIG_HELP: "Cache kun indhold og behandle Twig for hver side. Ignorerer twig_first-indstilling."
+ ALLOW_WEBSERVER_GZIP: "Tillad WebServer Gzip"
+ ALLOW_WEBSERVER_GZIP_HELP: "Deaktiveret som standard. Når aktiveret, vil WebServer-konfigureret Gzip-/Deflate-kompression fungere, men HTTP-forbindelsen vil ikke blive lukket før onShutDown() begivenheden forårsager langsommere sideindlæsning"
+ OFFLINE_WARNING: "Kan ikke etablere forbindelse til GPM"
+ CLEAR_IMAGES_BY_DEFAULT: "Ryd som standard billede-cachen"
+ CLEAR_IMAGES_BY_DEFAULT_HELP: "Som standard ryddes behandlede billeder for alle caches. Dette kan deaktiveres"
+ CLI_COMPATIBILITY: "CLI-kompatibilitet"
+ CLI_COMPATIBILITY_HELP: "Sikrer, at kun ikke-flygtig Cache-drivere benyttes (fil, redis, memcache etc.)"
+ REINSTALL_PLUGIN: "Geninstallere plugin"
+ REINSTALL_THEME: "Geninstallere tema"
+ REINSTALL_THE: "Geninstallér %s"
+ CONFIRM_REINSTALL: "Sikker på, at du vil geninstallere dette %s?"
+ REINSTALLED_SUCCESSFULLY: "%s geninstalleret"
+ ERROR_REINSTALLING_THE: "Fejl under geninstallering af %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Pakke %s geninstalleret"
+ REINSTALLATION_FAILED: "Geninstallation mislykkedes"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "Den installerede version er ikke den seneste udgivelse. Ved at klikke på Fortsæt fjerner du fjerne den aktuelle version og installerer den senest tilgængelige version"
+ TOOLS: "Værktøjer"
+ NO_PACKAGE_NAME: "Pakkenavn ikke angivet"
+ PACKAGE_EXTRACTION_FAILED: "Pakkeudpakning mislykkedes"
+ NOT_VALID_GRAV_PACKAGE: "Ikke en gyldig Grav-pakke"
+ NAME_COULD_NOT_BE_DETERMINED: "Navn kunne ikke fastslås"
+ CANNOT_OVERWRITE_SYMLINKS: "Kan ikke overskrive symlinks"
+ ZIP_PACKAGE_NOT_FOUND: "ZIP-pakke blev ikke fundet"
+ GPM_OFFICIAL_ONLY: "Kun officiel GPM"
+ GPM_OFFICIAL_ONLY_HELP: "Tillade kun direkte installationer fra det officielle GPM-repositorie."
+ NO_CHILD_TYPE: "Ingen underordnet type for denne rawroute"
+ SORTABLE_PAGES: "Sorterbare sider:"
+ UNSORTABLE_PAGES: "Ikke-sorterbare sider:"
+ ADMIN_SPECIFIC_OVERRIDES: "Admin-specifikke tilsidesætter"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Underordnedes visningsrækkefølge"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "Rækkefølgen, hvori undersider til denne side skal vises i visningen 'Sider' i Admin-plugin"
+ PWD_PLACEHOLDER: "kompleks streng minimum 8 tegn lang"
+ PWD_REGEX: "Adgangskode Regex"
+ PWD_REGEX_HELP: Adgangskode skal som standard indeholde mindst ét ciffer, én versal og én minuskel samt udgøres af minimum otte tegn
+ USERNAME_PLACEHOLDER: "kun minuskler, f.eks. 'admin'"
+ USERNAME_REGEX: "Brugernavn Regex"
+ USERNAME_REGEX_HELP: Som standard kun minuskler, cifre, bindestreger og understregninger på 3-16 tegn
+ CONTENT_PADDING: "Indholdsrammer"
+ CONTENT_PADDING_HELP: "Aktivér/Deaktivér indholdsrammer omkring indholdsområde for at give mere plads"
+ ENABLE_AUTO_METADATA: "Auto-metadata fra Exif"
+ ENABLE_AUTO_METADATA_HELP: "Automatisk generere metadatafiler til billeder med exif-oplysninger"
+ 2FA_TITLE: "Totrinsautentificering"
+ 2FA_INSTRUCTIONS: "### 2-faktor Autentificering \nDu har **2FA** aktiveret for denne konto. Benyt venligst din **2FA**-app til at angive den aktuelle **6-cifrede kode** for at fuldføre loginprocessen."
+ 2FA_REGEN_HINT: "regenerering af hemmeligheden vil kræver opdatering af din autentificerings-app"
+ 2FA_LABEL: "Admin-adgang"
+ 2FA_FAILED: "Ugyldig 2-faktor autentificeringskode, forsøg venligst igen..."
+ 2FA_ENABLED: "2FA aktiveret"
+ 2FA_CODE_INPUT: "000000"
+ 2FA_SECRET: "2FA hemmelighed"
+ 2FA_SECRET_HELP: "Skan denne QR-kode ind i din [Autentificering-app] (https://learn.getgrav.org/admin-panel/2fa#apps). Det er også en god idé at sikkerhedskopiere hemmelighed til en sikkert placering, i tilfælde af at du skal geninstallere din app. Tjek [Grav docs] (https://learn.getgrav.org/admin-panel/2fa) for yderligere oplysninger "
+ 2FA_REGENERATE: "Regenerér"
diff --git a/user/plugins/admin/languages/de.yaml b/user/plugins/admin/languages/de.yaml
new file mode 100644
index 0000000..2301575
--- /dev/null
+++ b/user/plugins/admin/languages/de.yaml
@@ -0,0 +1,674 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Dies ist eine Beta-Version! Benutzung auf eigene Gefahr..."
+ ADMIN_REPORT_ISSUE: "Fehler gefunden? Bitte melden Sie ihn auf GitHub."
+ EMAIL_FOOTER: " Umgesetzt mit Grav - dem modernen Flat-File CMS"
+ LOGIN_BTN: "Anmelden"
+ LOGIN_BTN_FORGOT: "Passwort vergessen"
+ LOGIN_BTN_RESET: "Passwort zurücksetzen"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Neues Passwort anfordern"
+ LOGIN_BTN_CLEAR: "Formular leeren"
+ LOGIN_BTN_CREATE_USER: "Benutzer erstellen"
+ LOGIN_LOGGED_IN: "Anmeldung erfolgreich"
+ LOGIN_FAILED: "Anmeldung fehlgeschlagen"
+ LOGGED_OUT: "Sie wurden abgemeldet"
+ RESET_NEW_PASSWORD: "Bitte geben Sie ein neues Passwort ein …"
+ RESET_LINK_EXPIRED: "Der Link zum Zurücksetzen Ihres Passwortes ist abgelaufen, bitte probieren Sie es erneut"
+ RESET_PASSWORD_RESET: "Das Passwort wurde zurückgesetzt"
+ RESET_INVALID_LINK: "Der Link zum Zurücksetzen Ihres Passwortes ist ungültig, bitte probieren Sie es erneut"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Anweisungen zum Zurücksetzen des Passwortes wurden an %s gesendet"
+ FORGOT_FAILED_TO_EMAIL: "Anweisungen zum Zurücksetzen des Passwortes konnten nicht versendet werden, bitte probieren Sie es später erneut"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Das Passwort für %s kann nicht geändert werden, da keine E-Mail-Adresse hinterlegt ist"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Es existiert kein Benutzer mit dem Namen %s"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Passwort konnte nicht zurückgesetzt werden, da diese Seite nicht zum Versenden von E-Mails konfiguriert worden ist"
+ FORGOT_EMAIL_SUBJECT: "Zurücksetzen des Passwortes von %s"
+ FORGOT_EMAIL_BODY: "Passwort zurücksetzen
Klicken Sie hier um Ihr Passwort zurückzusetzen.
Viele Grüße,
%3$s
entsprechend Ihrer PHP-Einstellungen. Erhöhen Sie die Einstellung von 'post_max_size'"
+ INSTALLING: "Installiere"
+ LOADING: "Laden..."
+ DEPENDENCIES_NOT_MET_MESSAGE: "Die folgenden Abhängigkeiten müssen zuerst erfüllt sein:"
+ ERROR_INSTALLING_PACKAGES: "Fehler während der Paketinstallation"
+ INSTALLING_DEPENDENCIES: "Installiere Abhängigkeiten…"
+ INSTALLING_PACKAGES: "Installiere Paket(e)…"
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Paket(e) erfolgreich installiert."
+ READY_TO_INSTALL_PACKAGES: "Bereit das/die Paket(e) zu installieren"
+ PACKAGES_NOT_INSTALLED: "Pakete nicht installiert"
+ PACKAGES_NEED_UPDATE: "Pakete bereits installiert, aber zu alt"
+ PACKAGES_SUGGESTED_UPDATE: "Pakete bereits installiert und die Version ist ok, werden aber trotzdem installiert um sie aktuell zu halten"
+ REMOVE_THE: "Entferne %s"
+ CONFIRM_REMOVAL: "Sind sie sicher, dass sie %s löschen möchten?"
+ REMOVED_SUCCESSFULLY: "%s erfolgreich entfernt"
+ ERROR_REMOVING_THE: "Fehler beim Entfernen der %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "Das %s benötigt die folgenden Abhängigkeiten, die nicht von anderen installierten Pakete benötigt werden. Wenn Sie diese nicht verwenden, können Sie direkt hier entfernt werden."
+ READY_TO_UPDATE_PACKAGES: "Bereit das/die Paket(e) zu aktualisieren"
+ ERROR_UPDATING_PACKAGES: "Fehler beim Aktualisieren des/der Pakete(s)"
+ UPDATING_PACKAGES: "Aktualisiere Paket(e) ..."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Paket(e) erfolgreich aktualisiert."
+ UPDATING: "Aktualisiere"
+ GPM_RELEASES: "GPM-Releases"
+ GPM_RELEASES_HELP: "Wählen Sie 'Testbetrieb' um Beta- oder Test-Versionen zu installieren"
+ GPM_METHOD: "Methode um entfernte Inhalte zu laden"
+ GPM_METHOD_HELP: "Wenn auf Auto gestellt, wird Grav feststellen ob PHP fopen Funktion verfügbar ist und diese nutzen, ansonsten cURL. Um die Nutzung einer der beiden Optionen zu erzwingen bitten den Schalter umstellen."
+ GPM_VERIFY_PEER: "Zertifikatsüberprüfung externer Server (SSL)"
+ GPM_VERIFY_PEER_HELP: "Einige Provider scheinen an der Überprüfung des getgrav.org SSL Zertifikates zu scheitern. Dies führt dazu das GPM nicht funktioniert. Ist dies der Fall, hilft vielleicht das abstellen dieser Einstellung"
+ AUTO: "Automatisch"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Stabil"
+ TESTING: "Testbetrieb"
+ FRONTMATTER_PROCESS_TWIG: "Verarbeite Frontmatter Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Wenn aktiviert können Twig Konfigurationsvariablen im Seiten Frontmatter verwendet werden"
+ FRONTMATTER_IGNORE_FIELDS: "Ignoriere Frontmatter Felder"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Bestimmte Frontmatter Felder können Twig enthalten sollten aber möglicherweise nicht verarbeitet werden, z. B. \"Formulare\""
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Paket %s erfolgreich installiert"
+ NEEDS_GRAV_1_1: "\nSie nutzen Grav v%s. Bitte aktualisieren Sie auf die aktuellste Version Grav v1.1.x um die Kompatibilität zu gewährleisten. Eventuell müssen Sie in der System Konfiguration auf Test GPM Versionen umstellen."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Übergeordnete Sortiereinstellung, Sortierung deaktiviert"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Seite ist nicht sichtbar, Sortierung deaktiviert"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "Sortierung via Admin wird nicht unterstützt, weil es mehr als 200 Elemente auf gleicher Ebene gibt"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Die Sortierung ist für diese Seite deaktiviert, weil Numerisches Ordner Präfix nicht aktiviert ist"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'Hinweis: Sie können keine Medien-Dateien hochladen bis die Seite gespeichert ist. Klicken Sie dazu "Speichern" oben rechts.'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'Hinweis: Seite muss gespeichert werden, bevor Sie Dateien hochladen können.'
+ DROP_FILES_HERE_TO_UPLOAD: "Ziehen Sie Dateien hierauf oder klicken Sie in diesem Bereich"
+ INSERT: "Einfügen"
+ UNDO: "Rückgängigmachen"
+ REDO: "Wiederholen"
+ HEADERS: "Überschriften"
+ BOLD: "Fett gedruckt"
+ ITALIC: "Kursiv"
+ STRIKETHROUGH: "Durchgestrichen"
+ SUMMARY_DELIMITER: "Trennzeichen für Zusammenfassung"
+ LINK: "Link"
+ IMAGE: "Bild"
+ BLOCKQUOTE: "Zitat"
+ UNORDERED_LIST: "Ungeordnete Liste"
+ ORDERED_LIST: "Geordnete Liste"
+ EDITOR: "Editor"
+ PREVIEW: "Vorschau"
+ FULLSCREEN: "Vollbild"
+ MODULAR: "Modular"
+ NON_ROUTABLE: "Nicht aufrufbar"
+ NON_MODULAR: "Nicht modular"
+ NON_VISIBLE: "Nicht sichtbar"
+ NON_PUBLISHED: "Nicht veröffentlicht"
+ CHARACTERS: "Zeichen"
+ PUBLISHING: "Veröffentlichen"
+ NOTIFICATIONS: "Benachrichtigungen"
+ MEDIA_TYPES: "Medien-Typen"
+ IMAGE_OPTIONS: "Bildoptionen"
+ MIME_TYPE: "MIME-Typ"
+ THUMB: "Vorschaubild"
+ TYPE: "Typ"
+ FILE_EXTENSION: "Dateiendung"
+ LEGEND: "Seitenlegende"
+ MEMCACHE_SERVER: "Memcache Server"
+ MEMCACHE_SERVER_HELP: "Die Memcache-Server-Adresse"
+ MEMCACHE_PORT: "Memcache Port"
+ MEMCACHE_PORT_HELP: "Der Memcache-Server Port"
+ MEMCACHED_SERVER: "Memcached server"
+ MEMCACHED_SERVER_HELP: "Die Memcache-Server-Adresse"
+ MEMCACHED_PORT: "Memcache Port"
+ MEMCACHED_PORT_HELP: "Der Memcache-Server Port"
+ REDIS_SERVER: "Redis server"
+ REDIS_SERVER_HELP: "Die Redis-Server-Adresse"
+ REDIS_PORT: "Redis port"
+ REDIS_PORT_HELP: "Der Redis-Server Port"
+ ALL: "Alle"
+ FROM: "von"
+ TO: "an"
+ RELEASE_DATE: "Veröffentlichungsdatum"
+ SORT_BY: "Sortieren nach"
+ RESOURCE_FILTER: "Filtere..."
+ FORCE_SSL: "SSL erzwingen"
+ FORCE_SSL_HELP: "Globales SSL erzwingen, wenn aktiviert sendet Grav für eine HTTP Anfrage eine Weiterleitung zur HTTPS-Seite"
+ NEWS_FEED: "Neuigkeiten"
+ EXTERNAL_URL: "Externe URL"
+ SESSION_PATH: "Der Session-Pfad"
+ SESSION_PATH_HELP: "Nur verwenden, wenn Sie eine benutzerdefinierte Base-URL nutzen (rewrite der Site-Domain / Unterordner)"
+ CUSTOM_BASE_URL: "Benutzerdefinierte Base-URL"
+ CUSTOM_BASE_URL_HELP: 'Verwenden Sie diese Einstellung, wenn ein Rewrite der Site-Domain durchgeführt oder ein anderer Unterordner als der von Grav verwendete genutzt werden soll. Beispiel: http://localhost'
+ FILEUPLOAD_PREVENT_SELF: 'Kann "%s" nicht außerhalb von Seiten verwenden.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Kann Datei nicht hochladen %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'Kann Datei %s nicht nach "%s" verschieben'
+ DROPZONE_CANCEL_UPLOAD: 'Upload abbrechen'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Sind Sie sicher, dass Sie den Upload abbrechen wollen?'
+ DROPZONE_DEFAULT_MESSAGE: 'Ziehen Sie Dateien hierher oder klicken Sie in diesem Bereich'
+ DROPZONE_FALLBACK_MESSAGE: 'Ihr Browser unterstützt Drag und Drop Datei-Uploads nicht.'
+ DROPZONE_FALLBACK_TEXT: 'Bitte nutzen Sie das untenstehende Formular um Dateien wie in alten Zeiten hochzuladen.'
+ DROPZONE_FILE_TOO_BIG: 'Die Datei ist zu groß ({{filesize}}MiB). Maximale Dateigröße: {{maxFilesize}}MiB.'
+ DROPZONE_INVALID_FILE_TYPE: "Sie können Dateien dieses Typs nicht hochladen."
+ DROPZONE_MAX_FILES_EXCEEDED: "Sie können keine weiteren Dateien hochladen."
+ DROPZONE_REMOVE_FILE: "Datei entfernen"
+ DROPZONE_RESPONSE_ERROR: "Server antwortete mit Statuscode {{statusCode}}."
+ PREMIUM_PRODUCT: "Premium"
+ ADMIN_CACHING: "Aktivere Admin Caching"
+ ADMIN_CACHING_HELP: "Caching für den Admin-Bereich kann unabhängig vom Front-End kontrolliert werden"
+ DESTINATION_NOT_SPECIFIED: "Ziel nicht angegeben"
+ UPLOAD_ERR_NO_TMP_DIR: "Ordner für temporäre Dateien fehlt"
+ SESSION_SPLIT: "Geteilte Session"
+ SESSION_SPLIT_HELP: "Unabhängig geteilte Sessions zwischen der Site und anderen Plugins (wie zum Beispiel Admin)"
+ ERROR_FULL_BACKTRACE: "Voller Backtrace Fehler"
+ ERROR_SIMPLE: "Einfacher Fehler"
+ ERROR_SYSTEM: "Systemfehler"
+ IMAGES_AUTO_FIX_ORIENTATION: "Bildausrichtung automatisch beheben"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Bildausrichtung anhand der Exif-Daten automatisch beheben"
+ REDIS_SOCKET: "Redis Socket"
+ REDIS_SOCKET_HELP: "Der Redis Socket"
+ NOT_SET: "Nicht eingestellt"
+ PERMISSIONS: "Zugriffsrechte"
+ NEVER_CACHE_TWIG: "Twig niemals chachen"
+ NEVER_CACHE_TWIG_HELP: "Nur Inhalte zwischenspeichern und Twig für Seiten jedes Mal verarbeiten. Ignoriert die Einstellung twig_first."
+ ALLOW_WEBSERVER_GZIP: "Webserver Gzip erlauben"
+ ALLOW_WEBSERVER_GZIP_HELP: "Ist standardmäßig deaktiviert. Wenn diese Option aktiviert ist, wird die WebServer konfigurierte Gzip/Deflate-Komprimierung verwendet, aber die HTTP-Verbindung wird nicht vor dem onShutDown() Ereignis geschlossen, was ein langsameres laden der Seite bedeutet"
+ OFFLINE_WARNING: "Es kann keine Verbindung zu GPM hergestellt werden"
+ CLI_COMPATIBILITY: "CLI Kompatibilität"
+ CLI_COMPATIBILITY_HELP: "Sorgt dafür, dass nur nicht-flüchtige Cache Treiber verwendet werden (Datei, Redis, Memcache, etc.)"
+ REINSTALL_PLUGIN: "Plugin erneut installieren"
+ REINSTALL_THEME: "Theme erneut installieren"
+ REINSTALL_THE: "%s erneut installieren"
+ CONFIRM_REINSTALL: "Sind sie sicher, dass sie %s erneut installieren möchten?"
+ REINSTALLED_SUCCESSFULLY: "%s erfolgreich erneut installiert"
+ ERROR_REINSTALLING_THE: "Fehler bei der erneuten Installation von %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Paket %s erfolgreich erneut installiert"
+ REINSTALLATION_FAILED: "Erneute Installation fehlgeschlagen"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "Die installierte Version ist nicht die neueste verfügbare Version. Durch Klicken auf Weiter, entfernen Sie die aktuelle Version und installieren Sie die neueste verfügbare Version"
+ TOOLS: "Werkzeuge"
+ DIRECT_INSTALL: "Direkte Installation"
+ NO_PACKAGE_NAME: "Name des Pakets nicht angegeben"
+ PACKAGE_EXTRACTION_FAILED: "Paket konnte nicht ausgepackt werden"
+ NOT_VALID_GRAV_PACKAGE: "Kein gültiges Grav-Paket"
+ NAME_COULD_NOT_BE_DETERMINED: "Name konnte nicht ermittelt werden"
+ CANNOT_OVERWRITE_SYMLINKS: "Symbolische Links können nicht überschrieben werden"
+ ZIP_PACKAGE_NOT_FOUND: "ZIP Archiv wurde nicht gefunden"
+ GPM_OFFICIAL_ONLY: "Nur offizielle GPM Server"
+ GPM_OFFICIAL_ONLY_HELP: "Erlauben Sie direkte Installationen nur aus dem offiziellen GPM-Repository."
+ NO_CHILD_TYPE: "Kein Unterseitentyp für diese Rawroute"
+ SORTABLE_PAGES: "Sortierbare Seiten:"
+ UNSORTABLE_PAGES: "Nicht sortierbare Seiten:"
+ ADMIN_SPECIFIC_OVERRIDES: "Administrative Anpassugen"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Sortierung der Unterseiten"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "Die Reihenfolge, die vom Admin Plugin verwendet werden soll um Unterseiten in der \"Seiten\" Ansicht anzuzeigen"
+ PWD_PLACEHOLDER: "komplexe Zeichenfolge mindestens 8 Zeichen lang"
+ PWD_REGEX: "Regulärer Ausdruck für Passwörter"
+ PWD_REGEX_HELP: 'Standard: Das Passwort muss mindestens eine Zahl, einen Groß- und einen Kleinbuchstaben enthalten sowie mindestens 8 Zeichen lang sein'
+ USERNAME_PLACEHOLDER: "nur Kleinbuchstaben, z.B. 'admin'"
+ USERNAME_REGEX: "Regulärer Ausdruck für Benutzernamen"
+ USERNAME_REGEX_HELP: 'Standard: nur Kleinbuchstaben, Ziffern, Bindestriche und Unterstriche. 3 - 16 Zeichen'
+ CONTENT_PADDING: "Abstand um Inhalte"
+ CONTENT_PADDING_HELP: "Abstand um Inhalte aktivieren/deaktivieren um mehr Platz anzubieten"
diff --git a/user/plugins/admin/languages/el.yaml b/user/plugins/admin/languages/el.yaml
new file mode 100644
index 0000000..36e4f7a
--- /dev/null
+++ b/user/plugins/admin/languages/el.yaml
@@ -0,0 +1,693 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Αυτή είναι μία έκδοση Beta! Χρησιμοποιήστε την στην Παραγωγή με δικό σας ρίσκο..."
+ ADMIN_REPORT_ISSUE: "Βρήκατε κάποιο πρόβλημα; Παρακαλείστε να το αναφέρετε στο GitHub."
+ EMAIL_FOOTER: " με την ισχύ του Grav - Το μοντέρνο CMS χωρίς τη χρήση Βάσης Δεδομένων"
+ LOGIN_BTN: "Σύνδεση"
+ LOGIN_BTN_FORGOT: "Το ξέχασα"
+ LOGIN_BTN_RESET: "Επαναφορά Κωδικού Πρόσβασης"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Αποστολή Οδηγιών Επαναφοράς"
+ LOGIN_BTN_CLEAR: "Καθαρισμός Φόρμας"
+ LOGIN_BTN_CREATE_USER: "Δημιουργία Χρήστη"
+ LOGIN_LOGGED_IN: "Έχετε συνδεθεί με επιτυχία"
+ LOGIN_FAILED: "Αποτυχία Σύνδεσης"
+ LOGGED_OUT: "Έχετε αποσυνδεθεί"
+ RESET_NEW_PASSWORD: "Παρακαλούμε εισάγετε έναν νέο κωδικό πρόσβασης …"
+ RESET_LINK_EXPIRED: "Ο σύνδεσμος επαναφοράς έχει λήξει, παρακαλώ προσπαθήστε ξανά"
+ RESET_PASSWORD_RESET: "Έχει γίνει επαναφορά κωδικού πρόσβασης"
+ RESET_INVALID_LINK: "Ο σύνδεσμος γιά την επαναφορά δεν είναι έγκυρος, παρακαλώ προσπαθήστε πάλι"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Οδηγίες για να επαναφέρετε τον κωδικό πρόσβασής σας έχουν σταλεί μέσω ηλεκτρονικού ταχυδρομείου σε %s"
+ FORGOT_FAILED_TO_EMAIL: "Απέτυχε η αποστολή οδηγιών με email, παρακαλώ προσπαθήστε ξανά αργότερα"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Δεν είναι δυνατό να επαναφέρετε τον κωδικό πρόσβασης για το %s, δεν έχει οριστεί η διεύθυνση ηλεκτρονικού ταχυδρομείου"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Χρήστης με όνομα χρήστη %s δεν υπάρχει"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Δεν είναι δυνατό να επαναφέρετε τον κωδικό πρόσβασης. Αυτό το site δεν έχει ρυθμιστεί για να στέλνετε μηνύματα ηλεκτρονικού ταχυδρομείου"
+ FORGOT_EMAIL_SUBJECT: "%s Αίτηση Επαναφοράς Κωδικού Πρόσβασης"
+ FORGOT_EMAIL_BODY: "Επαναφορά Κωδικού Πρόσβασης
τις ρυθμίσεις της PHP. Αυξήστε τη ρύθμιση PHP σας `post_max_size`"
+ INSTALLING: "Γίνεται εγκατάσταση"
+ LOADING: "Φόρτωση…"
+ DEPENDENCIES_NOT_MET_MESSAGE: "Οι ακόλουθες εξαρτήσεις πρέπει να εκπληρωθούν πρώτα:"
+ ERROR_INSTALLING_PACKAGES: "Σφάλμα κατά την εγκατάσταση πακέτων"
+ INSTALLING_DEPENDENCIES: "Εγκατάσταση εξαρτήσεων..."
+ INSTALLING_PACKAGES: "Εγκατάσταση πακέτων..."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Τα πακέτα εγκαταστάθηκαν με επιτυχία."
+ READY_TO_INSTALL_PACKAGES: "Είστε έτοιμοι να εγκαταστήσετε τα πακέτα"
+ PACKAGES_NOT_INSTALLED: "Τα πακέτα δεν εγκαταστάθηκαν"
+ PACKAGES_NEED_UPDATE: "Πακέτα που έχουν ήδη εγκατασταθεί, αλλά πολύ παλιά"
+ PACKAGES_SUGGESTED_UPDATE: "Πακέτα που είναι ήδη εγκατεστημένα, καθώς και η έκδοση είναι εντάξει, αλλά θα ενημερώνονται"
+ REMOVE_THE: "Αφαιρέστε το %s"
+ CONFIRM_REMOVAL: "Είστε βέβαιοι ότι θέλετε να διαγράψετε το %s; ?"
+ REMOVED_SUCCESSFULLY: "Το %s καταργήθηκε με επιτυχία"
+ ERROR_REMOVING_THE: "Σφάλμα κατά την αφαίρεση του %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "Το %s απαιτεί τις ακόλουθες εξαρτήσεις, που δεν απαιτούνται από άλλα εγκατεστημένα πακέτα. Εάν δεν τις χρησιμοποιείτε, μπορείτε να τις καταργήσετε απευθείας από εδώ."
+ READY_TO_UPDATE_PACKAGES: "Είστε έτοιμοι να ενημερώσετε τα πακέτα"
+ ERROR_UPDATING_PACKAGES: "Σφάλμα κατά την ενημέρωση πακέτων."
+ UPDATING_PACKAGES: "Ενημέρωση πακέτων..."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Τα πακέτα ενημερώθηκαν με επιτυχία."
+ UPDATING: "Ενημέρωση"
+ GPM_RELEASES: "GPM κυκλοφορίες"
+ GPM_RELEASES_HELP: "Επιλέξτε «Testing» για να εγκαταστήσετε beta ή testing εκδόσεις"
+ GPM_METHOD: "Μέθοδος Remote Fetch"
+ GPM_METHOD_HELP: "Όταν οριστεί σε αυτόματο, το Grav θα καθορίσει αν το fopen είναι διαθέσιμο και θα το χρησιμοποιήσει, αλλιώς θα επιστρέψει στο cURL. Για να επιβάλετε τη χρήση του ενός ή του άλλου αλλάξτε τη ρύθμιση."
+ GPM_VERIFY_PEER: "Εξ αποστάσεως επαλήθευση Peer (SSL)"
+ GPM_VERIFY_PEER_HELP: "Ορισμένες υπηρεσίες παροχής φαίνεται να αποτυγχάνουν στην επαλήθευση πιστοποιητικύ SSL του getgrav.org, κάνοντας το GPM να μην λειτουργεί. Αν αυτή είναι η περίπτωση για εσάς, η απενεργοποίηση αυτής της ρύθμισης μπορεί να βοηθήσει"
+ AUTO: "Αυτόματο"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Stable"
+ TESTING: "Testing"
+ FRONTMATTER_PROCESS_TWIG: "Επεξεργασία frontmatter Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Όταν ενεργοποιηθεί μπορείτε να χρησιμοποιήσετε μεταβλητές Twig config στο frontmatter"
+ FRONTMATTER_IGNORE_FIELDS: "Παράβλεψη frontmatter πεδίων"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Ορισμένα πεδία frontmatter μπορεί να περιέχουν Twig, αλλά δεν πρέπει να υποστούν επεξεργασία, όπως οι «φόρμες»"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Το πακέτο %s εγκαταστάθηκε με επιτυχία"
+ NEEDS_GRAV_1_1: " Τρέχετε Grav v%s. Πρέπει να ενημερώσετε στην πιο πρόσφατη έκδοση Grav v1.1.x προκειμένου να εξασφαλιστεί η συμβατότητα. Αυτό μπορεί να απαιτεί εναλλαγή σε Testing GPM εκδόσεις στη ρύθμιση παραμέτρων του συστήματος."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Γονική ρύθμιση ταξινόμησης, η ταξινόμηση απενεργοποιήθηκε"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Η σελίδα δεν είναι ορατή, η ταξινόμηση απενεργοποιήθηκε"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "Η ταξινόμηση μέσω διαχειριστή δεν υποστηρίζεται γιατί υπάρχουν περισσότερα από 200 παράγωγα"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Η ταξινόμηση σελίδων είναι απενεργοποιημένη για αυτήν τη σελίδα, επειδή το Αριθμητικό Πρόθεμα Φακέλου δεν είναι ενεργοποιημένο"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'ΣΗΜΕΙΩΣΗ: Δεν μπορείτε να προσθέσετε αρχεία πολυμέσων, μέχρι να αποθηκεύσετε τη σελίδα. Απλά κάντε κλικ «Αποθήκευση» στην κορυφή'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'ΣΗΜΕΙΩΣΗ: Η σελίδα πρέπει να αποθηκευτεί πριν να μπορείτε να ανεβάσετε αρχεία σε αυτή.'
+ DROP_FILES_HERE_TO_UPLOAD: "Ρίξτε τα αρχεία σας εδώ ή κάντε κλικ σε αυτόν τον τομέα"
+ INSERT: "Εισαγωγή"
+ UNDO: "Αναίρεση"
+ REDO: "Ακύρωση Αναίρεσης"
+ HEADERS: "Επικεφαλίδες"
+ BOLD: "Έντονα"
+ ITALIC: "Πλάγια"
+ STRIKETHROUGH: "Διακριτή διαγραφή"
+ SUMMARY_DELIMITER: "Περίληψη οριοθέτη"
+ LINK: "Σύνδεσμος"
+ IMAGE: "Εικόνα"
+ BLOCKQUOTE: "Μπλοκ κειμένου παράθεσης"
+ UNORDERED_LIST: "Μη ταξινομημένη λίστα"
+ ORDERED_LIST: "Ταξινομημένη λίστα"
+ EDITOR: "Επεξεργαστής"
+ PREVIEW: "Προεπισκόπιση"
+ FULLSCREEN: "Πλήρης οθόνη"
+ MODULAR: "Αρθρωτό"
+ NON_ROUTABLE: "Δεν υποστηρίζει δρομολόγηση"
+ NON_MODULAR: "Μη-Αρθρωτό"
+ NON_VISIBLE: "Μη ορατό"
+ NON_PUBLISHED: "Μη δημοσιευμένες"
+ CHARACTERS: "χαρακτήρες"
+ PUBLISHING: "Δημοσίευση"
+ NOTIFICATIONS: "Ειδοποιήσεις"
+ MEDIA_TYPES: "Τύποι μέσων"
+ IMAGE_OPTIONS: "Επιλογές εικόνας"
+ MIME_TYPE: "Τύπος MIME"
+ THUMB: "Μικρογραφία"
+ TYPE: "Τύπος"
+ FILE_EXTENSION: "Επέκταση αρχείου"
+ LEGEND: "Επεξήγηση σελίδας"
+ MEMCACHE_SERVER: "Διακομιστής Memcache"
+ MEMCACHE_SERVER_HELP: "Η διεύθυνση του διακομιστή Memcache"
+ MEMCACHE_PORT: "Θύρα Memcache"
+ MEMCACHE_PORT_HELP: "Η θύρα του διακομιστή Memcache"
+ MEMCACHED_SERVER: "Διακομιστής Memcached"
+ MEMCACHED_SERVER_HELP: "Η διεύθυνση του διακομιστή Memcached"
+ MEMCACHED_PORT: "Θύρα Memcached"
+ MEMCACHED_PORT_HELP: "Η θύρα του διακομιστή Memcached"
+ REDIS_SERVER: "Διακομιστής Redis"
+ REDIS_SERVER_HELP: "Η διεύθυνση του διακομιστή Redis"
+ REDIS_PORT: "Θύρα Redis"
+ REDIS_PORT_HELP: "Η θύρα του διακομιστή Redis"
+ REDIS_PASSWORD: "Κωδικός πρόσβασης Redis"
+ ALL: "Όλα"
+ FROM: "από"
+ TO: "έως"
+ RELEASE_DATE: "Ημερομηνία κυκλοφορίας"
+ SORT_BY: "Ταξινόμηση κατά"
+ RESOURCE_FILTER: "Φίλτρο..."
+ FORCE_SSL: "Εξαναγκασμός SSL"
+ FORCE_SSL_HELP: "Γενικός εξαναγκασμός SSL, αν ενεργοποιηθεί όταν η σελίδα είναι προσβάσιμη μέσω HTTP, το Grav αποστέλλει ανακατεύθυνση στη σελίδα HTTPS"
+ NEWS_FEED: "Ροή Ειδήσεων"
+ EXTERNAL_URL: "Εξωτερική διεύθυνση URL"
+ SESSION_PATH: "Η διαδρομή συνεδρίας"
+ SESSION_PATH_HELP: "Χρησιμοποιήστε το μόνο εάν επιλέξετε μια προσαρμοσμένη διεύθυνση URL βάσης (ξαναγράφετε το site domain / υποφάκελο)"
+ CUSTOM_BASE_URL: "Προσαρμοσμένο URL βάσης"
+ CUSTOM_BASE_URL_HELP: 'Χρησιμοποιήστε το αν θέλετε να ξαναγράψετε τον τομέα του ιστότοπου ή να χρησιμοποιήσετε κάποιον υποφάκελο, διαφορετικό από εκείνο που χρησιμοποιείται από το Grav. Παράδειγμα: http://localhost'
+ FILEUPLOAD_PREVENT_SELF: 'Δεν είναι δυνατό να χρησιμοποιήσετε «%s» εκτός σελίδων.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Δεν μπορείτε να ανεβάσετε το αρχείο %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'Δεν μπορείτε να μετακινήσετε το αρχείο %s σε «%s»'
+ DROPZONE_CANCEL_UPLOAD: 'Ακύρωση ανεβάσματος'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Είστε βέβαιοι ότι θέλετε να ακυρώσετε αυτό το ανέβασμα;'
+ DROPZONE_DEFAULT_MESSAGE: 'Ρίξτε τα αρχεία σας εδώ ή κάντε κλικ σε αυτόν τον τομέα'
+ DROPZONE_FALLBACK_MESSAGE: 'Το πρόγραμμα περιήγησής σας δεν υποστηρίζει drag and drop ανέβασμα αρχείων.'
+ DROPZONE_FALLBACK_TEXT: 'Παρακαλούμε χρησιμοποιήστε την παρακάτω φόρμα για να φορτώσετε τα αρχεία σας όπως γινόταν παλαιότερα.'
+ DROPZONE_FILE_TOO_BIG: 'Το αρχείο είναι πολύ μεγάλο ({{filesize}}MiB). Μέγιστο μέγεθος αρχείου: {{maxFilesize}}MiB.'
+ DROPZONE_INVALID_FILE_TYPE: "Δεν μπορείτε να ανεβάσετε αρχεία αυτού του τύπου."
+ DROPZONE_MAX_FILES_EXCEEDED: "Δεν μπορείτε να ανεβάσετε άλλα αρχεία."
+ DROPZONE_REMOVE_FILE: "Αφαίρεση αρχείου"
+ DROPZONE_RESPONSE_ERROR: "Ο διακομιστής ανταποκρίθηκε με κωδικό {{statusCode}}."
+ PREMIUM_PRODUCT: "Premium"
+ ADMIN_CACHING: "Ενεργοποιήσετε την προσωρινή αποθήκευση Admin"
+ ADMIN_CACHING_HELP: "Η προσωρινή αποθήκευση στο admin μπορεί να ελέγχεται αυτόνομα από τη front-end ιστοσελίδα"
+ DESTINATION_NOT_SPECIFIED: "Δεν ορίστηκε προορισμός"
+ UPLOAD_ERR_NO_TMP_DIR: "Λείπει ένας προσωρινός φάκελος"
+ SESSION_SPLIT: "Συνεδρία Σπλιτ"
+ SESSION_SPLIT_HELP: "Ανεξάρτητες split συνεδρίες μεταξύ σελίδας και άλλων plugins (όπως admin)"
+ ERROR_FULL_BACKTRACE: "Πλήρες Backtrace σφάλμα"
+ ERROR_SIMPLE: "Απλό Σφάλμα"
+ ERROR_SYSTEM: "Σφάλμα Συστήματος"
+ IMAGES_AUTO_FIX_ORIENTATION: "Αυτόματη επιδιόρθωση του προσανατολισμού"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Διορθώσετε αυτόματα τον προσανατολισμό της εικόνας που βασίζεται στα δεδομένα Exif"
+ REDIS_SOCKET: "Υποδοχή Redis"
+ REDIS_SOCKET_HELP: "Η υποδοχή Redis"
+ NOT_SET: "Μη ορισμένο"
+ PERMISSIONS: "Δικαιώματα"
+ NEVER_CACHE_TWIG: "Ποτέ Twig Cache"
+ NEVER_CACHE_TWIG_HELP: "Μόνο cache περιεχόμενου και επεξεργασια του Twig κάθε φορά για τις σελίδες. Παραβλέπει τη ρύθμιση twig_first."
+ ALLOW_WEBSERVER_GZIP: "Επίτρεψε WebServer Gzip"
+ ALLOW_WEBSERVER_GZIP_HELP: "Απενεργοποιημένη από προεπιλογή. Όταν είναι ενεργοποιημένη, η WebServer-configured Gzip/Deflate συμπίεση θα λειτουργήσει, αλλά δεν θα κλείσει πριν από το onShutDown() προκαλώντας αργή φόρτωση της σελίδας"
+ OFFLINE_WARNING: "Αδύνατη η σύνδεση με το GPM"
+ CLEAR_IMAGES_BY_DEFAULT: "Καθαρισμός cache εικόνων από προεπιλογή"
+ CLEAR_IMAGES_BY_DEFAULT_HELP: "Από προεπιλογή, οι επεξεργασμένες εικόνες καθαρίζονται για κάθε καθαρισμό cache, αυτό μπορεί να απενεργοποιηθεί"
+ CLI_COMPATIBILITY: "CLI Συμβατότητα"
+ CLI_COMPATIBILITY_HELP: "Εξασφαλίζει ότι χρησιμοποιούνται μόνο non-volatile Cache οδηγοί (αρχείο, redis, memcache, κλπ.)"
+ REINSTALL_PLUGIN: "Επανεγκατάσταση Πρόσθετου"
+ REINSTALL_THEME: "Εγκατάσταση Θέματος"
+ REINSTALL_THE: "Εγκαταστήστε ξανά το %s"
+ CONFIRM_REINSTALL: "Είστε βέβαιοι ότι θέλετε να επανεγκαταστήσετε το %s;"
+ REINSTALLED_SUCCESSFULLY: "Το %s επανεγκαταστάθηκε με επιτυχία"
+ ERROR_REINSTALLING_THE: "Σφάλμα κατά την επανεγκατάσταση του %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Το πακέτο %s επανεγκαταστάθηκε με επιτυχία"
+ REINSTALLATION_FAILED: "Η επανεγκατάσταση απέτυχε"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "Η εγκατεστημένη έκδοση δεν είναι η τελευταία έκδοση. Κάνοντας κλικ στο κουμπί Συνέχεια, θα αφαιρέσετε την τρέχουσα έκδοση και θα εγκαταστήσετε την πιο πρόσφατη διαθέσιμη έκδοση"
+ TOOLS: "Εργαλεία"
+ DIRECT_INSTALL: "Άμεση Εγκατάσταση"
+ NO_PACKAGE_NAME: "Δεν επιλέχθηκε όνομα πακέτου"
+ PACKAGE_EXTRACTION_FAILED: "Η εξαγωγή πακέτου απέτυχε"
+ NOT_VALID_GRAV_PACKAGE: "Δεν είναι ένα έγκυρο πακέτο Grav"
+ NAME_COULD_NOT_BE_DETERMINED: "Δεν μπορούσε να προσδιοριστεί το όνομα"
+ CANNOT_OVERWRITE_SYMLINKS: "Δεν μπορεί να αντικαταστήσει symlinks"
+ ZIP_PACKAGE_NOT_FOUND: "Δεν βρέθηκε ZIP"
+ GPM_OFFICIAL_ONLY: "Επίσημo GPM μόνο"
+ GPM_OFFICIAL_ONLY_HELP: "Επιτρέπει μόνο άμεση εγκατάσταση από το επίσημο αποθετήριο GPM."
+ NO_CHILD_TYPE: "Κανένα θυγατρικό τύπο για αυτό το rawroute"
+ SORTABLE_PAGES: "Ταξινομήσιμες σελίδες:"
+ UNSORTABLE_PAGES: "Μη ταξινομήσιμες σελίδες:"
+ ADMIN_SPECIFIC_OVERRIDES: "Συγκεκριμένες Παρακάμψεις Διαχειριστή"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Σειρά Εμφάνισης Θυγατρικών"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "Η σειρά με την οποία οι θυγατρικές αυτής της σελίδας θα πρέπει να εμφανίζονται στην προβολή 'Σελίδες' του Admin plugin"
+ PWD_PLACEHOLDER: "πολύπλοκη συμβολοσειρά μήκους τουλάχιστον 8 χαρακτήρων"
+ PWD_REGEX: "Κωδικός πρόσβασης Regex"
+ PWD_REGEX_HELP: 'Από προεπιλογή: Ο κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον έναν αριθμό και ένα κεφαλαίο και ένα πεζό γράμμα, και τουλάχιστον 8 ή περισσότερους χαρακτήρες'
+ USERNAME_PLACEHOLDER: "πεζούς χαρακτήρες μόνο, π.χ. «admin»"
+ USERNAME_REGEX: "Όνομα χρήστη Regex"
+ USERNAME_REGEX_HELP: 'Από προεπιλογή: πεζούς μόνο χαρακτήρες, αριθμούς, παύλες και κάτω παύλες. 3 - 16 χαρακτήρες'
+ CONTENT_PADDING: "Περιθώριο περιεχομένου"
+ CONTENT_PADDING_HELP: "Ενεργοποίηση/απενεργοποίηση του περιθωρίου περιεχομένου γύρω από την περιοχή περιεχομένου για να παρέχει περισσότερο χώρο"
+ ENABLE_AUTO_METADATA: "Αυτόματα μεταδεδομένα από Exif"
+ ENABLE_AUTO_METADATA_HELP: "Δημιουργεί αυτόματα αρχεία μεταδεδομένων για εικόνες με exif πληροφορίες"
+ 2FA_TITLE: "Έλεγχος Ταυτότητας Δύο Παραγόντων"
+ 2FA_INSTRUCTIONS: "##### Έλεγχος Ταυτότητας Δύο Παραγόντων\nΈχετε ενεργοποιημένο τον **ΕΤΔΠ** σε αυτόν το λογαριασμό. Παρακαλώ χρησιμοποιήστε την **ΕΤΔΠ** εφαρμογή σας για να εισαγάγετε τον τρέχοντα **6-ψήφιο κωδικό** ώστε να ολοκληρώσετε τη διαδικασία σύνδεσης."
+ 2FA_REGEN_HINT: "η επαναδημιουργία του κωδικού θα απαιτήσει να ενημερώσετε την εφαρμογή επαλήθευσής σας"
+ 2FA_LABEL: "Πρόσβαση Διαχειριστή"
+ 2FA_FAILED: "Μη έγκυρος κωδικός Ελέγχου Ταυτότητας Δύο Παραγόντων, παρακαλώ προσπαθήστε ξανά..."
+ 2FA_ENABLED: "ΕΤΔΠ Ενεργοποιημένος"
+ 2FA_CODE_INPUT: "000000"
+ 2FA_SECRET: "Μυστικό ΕΤΔΠ"
+ 2FA_SECRET_HELP: "Σαρώστε αυτόν τον QR κωδικό σε [Authenticator App] (https://learn.getgrav.org/admin-panel/2fa#apps). Επίσης είναι μια καλή ιδέα να κάνετε backup το μυστικό σε μια ασφαλή θέση, σε περίπτωση που χρειαστεί να εγκαταστήσετε ξανά την εφαρμογή σας. Ελέγξτε το [Grav docs] (https://learn.getgrav.org/admin-panel/2fa) για περισσότερες πληροφορίες "
+ 2FA_REGENERATE: "Επαναδημιουργία"
diff --git a/user/plugins/admin/languages/en.yaml b/user/plugins/admin/languages/en.yaml
new file mode 100644
index 0000000..9071a17
--- /dev/null
+++ b/user/plugins/admin/languages/en.yaml
@@ -0,0 +1,715 @@
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "This is a Beta release! Use this in production at your own risk..."
+ ADMIN_REPORT_ISSUE: "Found an issue? Please report it on GitHub."
+ EMAIL_FOOTER: "Powered by Grav - The Modern Flat File CMS"
+ LOGIN_BTN: "Login"
+ LOGIN_BTN_FORGOT: "Forgot"
+ LOGIN_BTN_RESET: "Reset Password"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Send Reset Instructions"
+ LOGIN_BTN_CLEAR: "Clear Form"
+ LOGIN_BTN_CREATE_USER: "Create User"
+ LOGIN_LOGGED_IN: "You have been successfully logged in"
+ LOGIN_FAILED: "Login failed"
+ LOGGED_OUT: "You have been logged out"
+ RESET_NEW_PASSWORD: "Please enter a new password …"
+ RESET_LINK_EXPIRED: "Reset link has expired, please try again"
+ RESET_PASSWORD_RESET: "Password has been reset"
+ RESET_INVALID_LINK: "Invalid reset link used, please try again"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Instructions to reset your password have been sent to your email address"
+ FORGOT_FAILED_TO_EMAIL: "Failed to email instructions, please try again later"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Cannot reset password for %s, no email address is set"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "User with username %s does not exist"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Cannot reset password. This site is not configured to send emails"
+ FORGOT_EMAIL_SUBJECT: "%s Password Reset Request"
+ FORGOT_EMAIL_BODY: "Password Reset
Click this to reset your password
Kind regards,
%3$s
to your PHP settings. Increase your `post_max_size` PHP setting"
+ INSTALLING: "Installing"
+ LOADING: "Loading.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "The following dependencies need to be fulfilled first:"
+ ERROR_INSTALLING_PACKAGES: "Error while installing the package(s)"
+ INSTALLING_DEPENDENCIES: "Installing dependencies..."
+ INSTALLING_PACKAGES: "Installing package(s).."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Package(s) successfully installed."
+ READY_TO_INSTALL_PACKAGES: "Ready to install the package(s)"
+ PACKAGES_NOT_INSTALLED: "Packages not installed"
+ PACKAGES_NEED_UPDATE: "Packages already installed, but too old"
+ PACKAGES_SUGGESTED_UPDATE: "Packages already installed, and version is ok, but will be updated to keep you up to date"
+ REMOVE_THE: "Remove the %s"
+ CONFIRM_REMOVAL: "Are you sure you want to delete this %s?"
+ REMOVED_SUCCESSFULLY: "%s removed successfully"
+ ERROR_REMOVING_THE: "Error removing the %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "The %s required the following dependencies, which are not required by other installed packages. If you are not using them, you can remove them directly from here."
+ READY_TO_UPDATE_PACKAGES: "Ready to update the package(s)"
+ ERROR_UPDATING_PACKAGES: "Error while updating the package(s)"
+ UPDATING_PACKAGES: "Updating package(s).."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Package(s) successfully updated."
+ UPDATING: "Updating"
+ GPM_RELEASES: "GPM Releases"
+ GPM_RELEASES_HELP: "Choose 'Testing' to install beta or testing versions"
+ GPM_METHOD: "Remote Fetch Method"
+ GPM_METHOD_HELP: "When set to Auto, Grav will determine if fopen is available and use it, otherwise fall back to cURL. To force the use of one or the other switch the setting."
+ GPM_VERIFY_PEER: "Remote Verify Peer (SSL)"
+ GPM_VERIFY_PEER_HELP: "Some providers seems to fail verifying getgrav.org SSL certificate, causing GPM to not work. If this is the case for you, turning off this setting might help"
+ AUTO: "Auto"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Stable"
+ TESTING: "Testing"
+ FRONTMATTER_PROCESS_TWIG: "Process frontmatter Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "When enabled you can use Twig config variables in page front matter"
+ FRONTMATTER_IGNORE_FIELDS: "Ignore frontmatter fields"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Certain frontmatter fields may contain Twig but should not be processed, such as 'forms'"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Package %s installed successfully"
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Parent setting order, ordering disabled"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Page is not visible, ordering disabled"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "Ordering via the admin is unsupported because there are more than 200 siblings"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Page ordering is disabled for this page because Folder Numeric Prefix is not enabled"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: "NOTE: You cannot add media files until you save the page. Just click 'Save' on top"
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: "NOTE: Page must be saved before you can upload files to it."
+ DROP_FILES_HERE_TO_UPLOAD: "Drop your files here or click in this area"
+ INSERT: "Insert"
+ METADATA: "Metadata"
+ UNDO: "Undo"
+ REDO: "Redo"
+ HEADERS: "Headers"
+ BOLD: "Bold"
+ ITALIC: "Italic"
+ STRIKETHROUGH: "Strikethrough"
+ SUMMARY_DELIMITER: "Summary Delimiter"
+ LINK: "Link"
+ IMAGE: "Image"
+ BLOCKQUOTE: "Blockquote"
+ UNORDERED_LIST: "Unordered List"
+ ORDERED_LIST: "Ordered List"
+ EDITOR: "Editor"
+ PREVIEW: "Preview"
+ FULLSCREEN: "Fullscreen"
+ MODULAR: "Modular"
+ MODULAR_SETUP: "Modular Setup"
+ NON_ROUTABLE: "Non-Routable"
+ NON_MODULAR: "Non-Modular"
+ NON_VISIBLE: "Non-Visible"
+ NON_PUBLISHED: "Non-Published"
+ CHARACTERS: "characters"
+ PUBLISHING: "Publishing"
+ NOTIFICATIONS: "Notifications"
+ MEDIA_TYPES: "Media Types"
+ IMAGE_OPTIONS: "Image options"
+ MIME_TYPE: "Mime Type"
+ THUMB: "Thumb"
+ TYPE: "Type"
+ FILE_EXTENSION: "File Extension"
+ LEGEND: "Page Legend"
+ MEMCACHE_SERVER: "Memcache server"
+ MEMCACHE_SERVER_HELP: "The Memcache server address"
+ MEMCACHE_PORT: "Memcache port"
+ MEMCACHE_PORT_HELP: "The Memcache server port"
+ MEMCACHED_SERVER: "Memcached server"
+ MEMCACHED_SERVER_HELP: "The Memcached server address"
+ MEMCACHED_PORT: "Memcached port"
+ MEMCACHED_PORT_HELP: "The Memcached server port"
+ REDIS_SERVER: "Redis server"
+ REDIS_SERVER_HELP: "The Redis server address"
+ REDIS_PORT: "Redis port"
+ REDIS_PORT_HELP: "The Redis server port"
+ REDIS_PASSWORD: "Redis password/secret"
+ ALL: "All"
+ FROM: "from"
+ TO: "to"
+ RELEASE_DATE: "Release Date"
+ SORT_BY: "Sort By"
+ RESOURCE_FILTER: "Filter..."
+ FORCE_SSL: "Force SSL"
+ FORCE_SSL_HELP: "Globally force SSL, if enabled when the site is reached through HTTP, Grav sends a redirect to the HTTPS page"
+ NEWS_FEED: "News Feed"
+ EXTERNAL_URL: "External URL"
+ SESSION_PATH: "The session path"
+ SESSION_PATH_HELP: "Use only if you choose a custom base URL (you rewrite the site domain / subfolder)"
+ CUSTOM_BASE_URL: "Custom base URL"
+ CUSTOM_BASE_URL_HELP: "Use if you want to rewrite the site domain or use a different subfolder than the one used by Grav. Example: http://localhost"
+ FILEUPLOAD_PREVENT_SELF: 'Cannot use "%s" outside of pages.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Unable to upload file %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'Unable to move file %s to "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'Cancel upload'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Are you sure you want to cancel this upload?'
+ DROPZONE_DEFAULT_MESSAGE: 'Drop your files here or click in this area'
+ DROPZONE_FALLBACK_MESSAGE: 'Your browser does not support drag and drop file uploads.'
+ DROPZONE_FALLBACK_TEXT: 'Please use the fallback form below to upload your files like in the older days.'
+ DROPZONE_FILE_TOO_BIG: 'File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.'
+ DROPZONE_INVALID_FILE_TYPE: "You can't upload files of this type."
+ DROPZONE_MAX_FILES_EXCEEDED: "You can not upload any more files."
+ DROPZONE_REMOVE_FILE: "Remove file"
+ DROPZONE_RESPONSE_ERROR: "Server responded with {{statusCode}} code."
+ PREMIUM_PRODUCT: "Premium"
+ ADMIN_CACHING: "Enable Admin Caching"
+ ADMIN_CACHING_HELP: "Caching in the admin can be controlled independently from the front-end site"
+ DESTINATION_NOT_SPECIFIED: "Destination not specified"
+ UPLOAD_ERR_NO_TMP_DIR: "Missing a temporary folder"
+ SESSION_SPLIT: "Session Split"
+ SESSION_SPLIT_HELP: "Independent split sessions between site and other plugins (such as admin)"
+ ERROR_FULL_BACKTRACE: "Full Backtrace Error"
+ ERROR_SIMPLE: "Simple Error"
+ ERROR_SYSTEM: "System Error"
+ IMAGES_AUTO_FIX_ORIENTATION: "Fix orientation automatically"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Automatically fix the image orientation based on the Exif data"
+ REDIS_SOCKET: "Redis socket"
+ REDIS_SOCKET_HELP: "The Redis socket"
+ NOT_SET: "Not set"
+ PERMISSIONS: "Permissions"
+ NEVER_CACHE_TWIG: "Never Cache Twig"
+ NEVER_CACHE_TWIG_HELP: "Only cache content and process Twig every time for pages. Ignores twig_first setting."
+ ALLOW_WEBSERVER_GZIP: "Allow WebServer Gzip"
+ ALLOW_WEBSERVER_GZIP_HELP: "Off by default. When enabled, WebServer-configured Gzip/Deflate compression will work, but http connection will not be closed before onShutDown() event causing slower page loading"
+ OFFLINE_WARNING: "The connection to the GPM cannot be established"
+ CLEAR_IMAGES_BY_DEFAULT: "Clear image cache by default"
+ CLEAR_IMAGES_BY_DEFAULT_HELP: "By default processed images are cleared for all cache clears, this can be disabled"
+ CLI_COMPATIBILITY: "CLI Compatibility"
+ CLI_COMPATIBILITY_HELP: "Ensures that only non-volatile Cache drivers are used (file, redis, memcache, etc.)"
+ REINSTALL_PLUGIN: "Reinstall Plugin"
+ REINSTALL_THEME: "Reinstall Theme"
+ REINSTALL_THE: "Reinstall the %s"
+ CONFIRM_REINSTALL: "Are you sure you want to reinstall this %s?"
+ REINSTALLED_SUCCESSFULLY: "%s reinstalled successfully"
+ ERROR_REINSTALLING_THE: "Error reinstalling the %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Package %s reinstalled successfully"
+ REINSTALLATION_FAILED: "Reinstallation failed"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "The installed version is not the latest release. By clicking Continue, you'll remove the current version and install the latest available release"
+ TOOLS: "Tools"
+ DIRECT_INSTALL: "Direct Install"
+ NO_PACKAGE_NAME: "Package name not specified"
+ PACKAGE_EXTRACTION_FAILED: "Package extraction failed"
+ NOT_VALID_GRAV_PACKAGE: "Not a valid Grav package"
+ NAME_COULD_NOT_BE_DETERMINED: "Name could not be determined"
+ CANNOT_OVERWRITE_SYMLINKS: "Cannot overwrite symlinks"
+ ZIP_PACKAGE_NOT_FOUND: "ZIP package could not be found"
+ GPM_OFFICIAL_ONLY: "Official GPM Only"
+ GPM_OFFICIAL_ONLY_HELP: "Only allow direct installs from the official GPM repository only."
+ NO_CHILD_TYPE: "No child type for this rawroute"
+ SORTABLE_PAGES: "Sortable Pages:"
+ UNSORTABLE_PAGES: "Unsortable Pages"
+ ADMIN_SPECIFIC_OVERRIDES: "Admin Specific Overrides"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Children Display Order"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "The order that children of this page should be displayed in the 'Pages' view of Admin plugin"
+ PWD_PLACEHOLDER: "complex string at least 8 chars long"
+ PWD_REGEX: "Password Regex"
+ PWD_REGEX_HELP: "By default: Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters"
+ USERNAME_PLACEHOLDER: "lowercase chars only, e.g. 'admin'"
+ USERNAME_REGEX: "Username Regex"
+ USERNAME_REGEX_HELP: "By default: Only lowercase chars, digits, dashes, and underscores. 3 - 16 chars"
+ CONTENT_PADDING: "Content padding"
+ CONTENT_PADDING_HELP: "Enable/Disable content padding around content area to provide more space"
+ ENABLE_AUTO_METADATA: "Auto metadata from Exif"
+ ENABLE_AUTO_METADATA_HELP: "Automatically generate metadata files for images with exif information"
+ 2FA_TITLE: "2-Factor Authentication"
+ 2FA_INSTRUCTIONS: "##### 2-Factor Authentication\nYou have **2FA** enabled on this account. Please use your **2FA** app to enter the current **6-digit code** to complete the login process."
+ 2FA_REGEN_HINT: "Regenerating the secret will require you to update your authenticator app"
+ 2FA_LABEL: "Admin Access"
+ 2FA_FAILED: "Invalid 2-Factor Authentication code, please try again..."
+ 2FA_ENABLED: "2FA Enabled"
+ 2FA_CODE_INPUT: "000000"
+ 2FA_SECRET: "2FA Secret"
+ 2FA_SECRET_HELP: "Scan this QR code into your [Authenticator App](https://learn.getgrav.org/admin-panel/2fa#apps). Also it's a good idea to backup the secret in a safe location, in case you need to reinstall your app. Check the [Grav docs](https://learn.getgrav.org/admin-panel/2fa) for more information "
+ 2FA_REGENERATE: "Regenerate"
+ FORCE_LOWERCASE_URLS: "Force lowercase URLs"
+ FORCE_LOWERCASE_URLS_HELP: "By default Grav will set all slugs and routes to be lowercase. With this set to false, Uppercase slugs and routes can be used"
+ INTL_ENABLED: "Intl module integration"
+ INTL_ENABLED_HELP: "Use Intl PHP module and collate to sort UTF8 based collections"
+ VIEW_SITE_TIP: "View site"
+ TOOLS_DIRECT_INSTALL_TITLE: "Direct Install of Grav Packages"
+ TOOLS_DIRECT_INSTALL_UPLOAD_TITLE: "Install Package via Direct ZIP Upload"
+ TOOLS_DIRECT_INSTALL_UPLOAD_DESC: "You can easily install a valid Grav theme, plugin, or even Grav update Zip package via this method. This package does not have to be registered via GPM and allows you to easily roll back to a prior version or install for testing."
+ TOOLS_DIRECT_INSTALL_URL_TITLE: "Install Package via Remote URL Reference"
+ TOOLS_DIRECT_INSTALL_URL_DESC: "Alternatively, you can also reference a full URL to the package ZIP file and install it via this remote URL."
+ TOOLS_DIRECT_INSTALL_UPLOAD_BUTTON: "Upload and install"
+ ROUTE_OVERRIDES: "Route Overrides"
+ ROUTE_DEFAULT: "Default Route"
+ ROUTE_CANONICAL: "Canonical Route"
+ ROUTE_ALIASES: "Route Aliases"
+ OPEN_NEW_TAB: "Open in new tab"
+ PAGEMEDIA_RESIZER: "> The following settings apply to images uploaded through the page media. Resize Width / Height will automatically resize down and proportionally an image if exceeds the limits set in the inputs. Resolution min and max values define the size ranges for uploaded images. Set the fields to 0 to prevent any manipulation."
diff --git a/user/plugins/admin/languages/es.yaml b/user/plugins/admin/languages/es.yaml
new file mode 100644
index 0000000..51b6fc1
--- /dev/null
+++ b/user/plugins/admin/languages/es.yaml
@@ -0,0 +1,693 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "¡Ésta es una versión Beta! Utilízala en producción bajo tu propio riesgo..."
+ ADMIN_REPORT_ISSUE: "¿Encontraste algún problema de funcionamiento? Por favor, repórtalo en GitHub."
+ EMAIL_FOOTER: "Generado con Grav - El CMS moderno de archivos planos"
+ LOGIN_BTN: "Acceder"
+ LOGIN_BTN_FORGOT: "La olvidé"
+ LOGIN_BTN_RESET: "Restablecer contraseña"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Enviar instrucciones de restablecimiento"
+ LOGIN_BTN_CLEAR: "Limpiar formulario"
+ LOGIN_BTN_CREATE_USER: "Crear Usuario"
+ LOGIN_LOGGED_IN: "Has conseguido iniciar sesión con éxito"
+ LOGIN_FAILED: "El inicio de sesión falló"
+ LOGGED_OUT: "Te has desconectado"
+ RESET_NEW_PASSWORD: "Introduce una contraseña nueva …"
+ RESET_LINK_EXPIRED: "El enlace de restablecimiento ha caducado, por favor, inténtalo de nuevo"
+ RESET_PASSWORD_RESET: "La contraseña ha sido restablecida"
+ RESET_INVALID_LINK: "El enlace de restablecimiento no es válido, por favor, inténtalo otra vez"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Las instrucciones para restablecer tu contraseña han sido enviadas por email a %s"
+ FORGOT_FAILED_TO_EMAIL: "Falló al enviar las instrucciones por correo electrónico, por favor inténtalo de nuevo más tarde"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "No se puede restablecer la contraseña para %s, no se ha establecido una dirección de email"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "El usuario %s no existe"
+ FORGOT_EMAIL_NOT_CONFIGURED: "No se puede restablecer contraseña. Este sitio no está configurado para enviar emails"
+ FORGOT_EMAIL_SUBJECT: "%s Petición de restablecimiento de contraseña"
+ FORGOT_EMAIL_BODY: "Restablecimiento de contraseña
Pincha aquí para restablecer tu contraseña
Atentamente,
%3$s
a tus ajustes en PHP. Incrementa el ajuste `post_max_size` en PHP"
+ INSTALLING: "Instalando"
+ LOADING: "Cargando…"
+ DEPENDENCIES_NOT_MET_MESSAGE: "Las siguientes dependencias necesitan ser cubiertas primero:"
+ ERROR_INSTALLING_PACKAGES: "Error mientras se instalaban el o los paquetes"
+ INSTALLING_DEPENDENCIES: "Instalando dependencias…"
+ INSTALLING_PACKAGES: "Instalando paquete(s)…"
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Paquete(s) instalado(s) satisfactoriamente."
+ READY_TO_INSTALL_PACKAGES: "Listo para instalar los paquetes"
+ PACKAGES_NOT_INSTALLED: "Los paquetes no se instalaron"
+ PACKAGES_NEED_UPDATE: "Los paquetes ya estaban instalados, pero demasiado anteriores"
+ PACKAGES_SUGGESTED_UPDATE: "Los paquetes ya estaba instalados y la versión está bien, pero serán actualizados para que estés al día"
+ REMOVE_THE: "Quitar el %s"
+ CONFIRM_REMOVAL: "¿Seguro que deseas eliminar este %s?"
+ REMOVED_SUCCESSFULLY: "%s quitado satisfactoriamente"
+ ERROR_REMOVING_THE: "Error quitando el %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "El %s requería las siguientes dependencias, que no son requeridas por otros paquetes instalados. Si no las estás usando, puedes quitarlas directamente desde ahí."
+ READY_TO_UPDATE_PACKAGES: "Listo para actualizar los paquetes"
+ ERROR_UPDATING_PACKAGES: "Error al actualizar los paquetes"
+ UPDATING_PACKAGES: "Actualizando los paquetes…"
+ PACKAGES_SUCCESSFULLY_UPDATED: "Los paquetes se actualizaron satisfactoriamente."
+ UPDATING: "Actualizando"
+ GPM_RELEASES: "Lanzamientos GPM"
+ GPM_RELEASES_HELP: "Elige 'Probando' para instalar versiones beta o en prueba"
+ GPM_METHOD: "Método de recuperación remota"
+ GPM_METHOD_HELP: "Cuando se pone en Automático, Grav determinará si está disponible fopen y lo usará, de otra forma se utilizará cURL. Para forzar el uso de uno u otro, cambiar la configuración."
+ GPM_VERIFY_PEER: "Verificación a distancia de peer (SSL)"
+ GPM_VERIFY_PEER_HELP: "Algunos proveedores parecen fallar en la verificación del certificado SSL de getgrav.org, lo cual causa que GPM no funcione. Si este es su caso, apagar esta configuración puede ayudar"
+ AUTO: "Automático"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Estable"
+ TESTING: "Pruebas"
+ FRONTMATTER_PROCESS_TWIG: "Procesar el Twig de texto preliminar"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Cuando esté habilitado, puedes usar las variables de configuración de Twig en la página inicial"
+ FRONTMATTER_IGNORE_FIELDS: "Ignorar campos de texto preliminar"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Ciertos campos de texto preliminar podrían contener Twig pero no deberían ser procesados, como los 'formularios'"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "El paquete %s se instaló satisfactoriamente"
+ NEEDS_GRAV_1_1: " Usted esta utilizando Grav v%s. Debe actualizar a la ultima versión Grav v1.1.x disponible para asegurara la compatibilidad. Puede que usted requiera cambiar a Versiones GPM de prueba en la configuración de Sistema."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "El orden esta deshabilitado debido a que ha sido establecido en el padre"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "El orden esta deshabilitado debido a que la página no es visible"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "El orden a través del admin no esta soportado debido a que contiene mas de 200 elementos hermanos"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Página de pedido está deshabilitada para esta página porque el prefijo numérico de carpeta no está activada"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'Nota: Usted no puede agregar archivos multimedia hasta que la página sea guardada. Solo haga clic en el botón de Guardar arriba'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'Nota: La página debe ser guardada antes de subir archivos.'
+ DROP_FILES_HERE_TO_UPLOAD: "Suelta tus archivos aquí o dale clic a esta área"
+ INSERT: "Insertar"
+ UNDO: "Deshacer"
+ REDO: "Rehacer"
+ HEADERS: "Encabezados"
+ BOLD: "Negrita"
+ ITALIC: "Itálica"
+ STRIKETHROUGH: "Tachado"
+ SUMMARY_DELIMITER: "Delimitador de resumen"
+ LINK: "Enlace"
+ IMAGE: "Imagen"
+ BLOCKQUOTE: "Cita"
+ UNORDERED_LIST: "Lista sin órden"
+ ORDERED_LIST: "Lista ordenada"
+ EDITOR: "Editor"
+ PREVIEW: "Vista previa"
+ FULLSCREEN: "Pantalla completa"
+ MODULAR: "Modular"
+ NON_ROUTABLE: "No-Enrutable"
+ NON_MODULAR: "No modular"
+ NON_VISIBLE: "No-Visible"
+ NON_PUBLISHED: "No-Publicada"
+ CHARACTERS: "caracteres"
+ PUBLISHING: "Publicar"
+ NOTIFICATIONS: "Notificaciones"
+ MEDIA_TYPES: "Tipos de multimedia"
+ IMAGE_OPTIONS: "Opciones de imágenes"
+ MIME_TYPE: "Tipo Mime"
+ THUMB: "Miniatura"
+ TYPE: "Tipo"
+ FILE_EXTENSION: "Extensión de Archivo"
+ LEGEND: "Leyenda de página"
+ MEMCACHE_SERVER: "Servidor memcache"
+ MEMCACHE_SERVER_HELP: "Dirección del servidor Memcache"
+ MEMCACHE_PORT: "Puerto de memcache"
+ MEMCACHE_PORT_HELP: "Puerto del servidor Memcache"
+ MEMCACHED_SERVER: "Servidor Memcached"
+ MEMCACHED_SERVER_HELP: "Dirección del servidor Memcached"
+ MEMCACHED_PORT: "Puerto de memcached"
+ MEMCACHED_PORT_HELP: "Puerto del servidor Memcached"
+ REDIS_SERVER: "Servidor de Redis"
+ REDIS_SERVER_HELP: "Dirección del servidor Redis"
+ REDIS_PORT: "Puerto de Redis"
+ REDIS_PORT_HELP: "Puerto del servidor Redis"
+ REDIS_PASSWORD: "Contraseña/secreto Redis"
+ ALL: "Todo"
+ FROM: "de"
+ TO: "para"
+ RELEASE_DATE: "Fecha de lanzamiento"
+ SORT_BY: "Ordenar por"
+ RESOURCE_FILTER: "Filtrar..."
+ FORCE_SSL: "Forzar SSL"
+ FORCE_SSL_HELP: "Forzar SSL globalmente, si esta habilitado, cuando el sitio es requerido por medio de HTTP, Grav envía un direccionamiento a la página HTTPS"
+ NEWS_FEED: "Noticias"
+ EXTERNAL_URL: "URL externo"
+ SESSION_PATH: "La ruta de la sesión"
+ SESSION_PATH_HELP: "Úselo solo si ha elegido una URL base personalizada (usted ha reescrito el dominio del sitio /subcarpeta)"
+ CUSTOM_BASE_URL: "URL base personalizada"
+ CUSTOM_BASE_URL_HELP: 'Úselo si usted quiere reescribir el dominio del sitio, o utiliza una subcarpeta diferente a la que Grav utiliza. Ejemplo: http://localhost'
+ FILEUPLOAD_PREVENT_SELF: 'No puede utilizar "%s" fuera de las páginas.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'No puede subir archivo %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'No puede mover archivo %s a "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'Cancelar carga'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: '¿Está seguro que quiere cancelar esta carga?'
+ DROPZONE_DEFAULT_MESSAGE: 'Suelte aquí sus archivos o click en esta área'
+ DROPZONE_FALLBACK_MESSAGE: 'Su navegador no soporta arrastrar y soltar para subir archivos.'
+ DROPZONE_FALLBACK_TEXT: 'Por favor utilice el formulario opcional de abajo para cargar sus archivos, como se hacía antes.'
+ DROPZONE_FILE_TOO_BIG: 'El archivo es muy grande ({{filesize}}MiB). Tamaño máximo permitido: {{maxFilesize}}MiB.'
+ DROPZONE_INVALID_FILE_TYPE: "Usted no puede subir archivos de este tipo."
+ DROPZONE_MAX_FILES_EXCEEDED: "Usted no puede subir mas archivos."
+ DROPZONE_REMOVE_FILE: "Remover archivo"
+ DROPZONE_RESPONSE_ERROR: "El servidor respondió con el código: {{statusCode}}."
+ PREMIUM_PRODUCT: "Premium"
+ ADMIN_CACHING: "Habilitar Caché del Admin"
+ ADMIN_CACHING_HELP: "El caché del admin puede ser controlado independientemente de la página frontal"
+ DESTINATION_NOT_SPECIFIED: "Destino no especificado"
+ UPLOAD_ERR_NO_TMP_DIR: "No se encuentra la carpeta temporal"
+ SESSION_SPLIT: "Separación de sesión"
+ SESSION_SPLIT_HELP: "Separar sesiones independientes entre el sitio y otros plugins (como el Admin)"
+ ERROR_FULL_BACKTRACE: "Error Backtrace completo"
+ ERROR_SIMPLE: "Error simple"
+ ERROR_SYSTEM: "Error de sistema"
+ IMAGES_AUTO_FIX_ORIENTATION: "Corregir la orientación automáticamente"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Corrección automática de la orientación de la imagen basada en los datos Exif"
+ REDIS_SOCKET: "Socket Redis"
+ REDIS_SOCKET_HELP: "El Socket Redis"
+ NOT_SET: "No establecido"
+ PERMISSIONS: "Permisos"
+ NEVER_CACHE_TWIG: "Nunca Cachear Twig"
+ NEVER_CACHE_TWIG_HELP: "Solo cachear el contenido y procesar Twig cada ver para las páginas. Ingorar configuración twig_first."
+ ALLOW_WEBSERVER_GZIP: "Permitir Webserver Gzip"
+ ALLOW_WEBSERVER_GZIP_HELP: "Desactivado de forma predeterminada. Cuando esté activado, Webserver-configured compresión Gzip/Deflate funcionará, pero las conexiones http no serán cerradas antes del evento onShutDown() causando una carga más lenta de la página"
+ OFFLINE_WARNING: "No se puede establecer la conexión con GPM"
+ CLEAR_IMAGES_BY_DEFAULT: "Borrar cache de imágenes por default"
+ CLEAR_IMAGES_BY_DEFAULT_HELP: "Por default las imágenes procesadas son eliminadas en todas las limpiezas de cache, esto puede ser deshabilitado"
+ CLI_COMPATIBILITY: "Compatibilidad de CLI"
+ CLI_COMPATIBILITY_HELP: "Asegura que se utilicen conductores de caché sólo no-volátil (archivo, redis, memcache, etcetera)."
+ REINSTALL_PLUGIN: "Reinstalar plugin"
+ REINSTALL_THEME: "Vuelva a instalar el tema"
+ REINSTALL_THE: "Vuelva a instalar el %s"
+ CONFIRM_REINSTALL: "¿Está seguro que desea volver a instalar este %s?"
+ REINSTALLED_SUCCESSFULLY: "%s instalado correctamente"
+ ERROR_REINSTALLING_THE: "Error de reinstalación del %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "El paquete %s se instaló satisfactoriamente"
+ REINSTALLATION_FAILED: "Reinstalación de error"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "La versión instalada no es la última. Al pulsar continuar, quitará la versión actual e instalará la última versión disponible"
+ TOOLS: "Herramientas"
+ DIRECT_INSTALL: "Instalación Directa"
+ NO_PACKAGE_NAME: "Nombre de paquete no especificado"
+ PACKAGE_EXTRACTION_FAILED: "Extracción de paquete fallido"
+ NOT_VALID_GRAV_PACKAGE: "No un paquete válido de Grav"
+ NAME_COULD_NOT_BE_DETERMINED: "No se pudo determinar el nombre"
+ CANNOT_OVERWRITE_SYMLINKS: "No pudieron sobre escribir los enlaces simbólicos"
+ ZIP_PACKAGE_NOT_FOUND: "No se pudo encontrar el paquete ZIP"
+ GPM_OFFICIAL_ONLY: "Sólo GPM Oficial"
+ GPM_OFFICIAL_ONLY_HELP: "Sólo permite la instalación directa desde el repositorio oficial de GPM."
+ NO_CHILD_TYPE: "Ningún \"child type\" para este \"rawroute\""
+ SORTABLE_PAGES: "Páginas que se puede ordenar:"
+ UNSORTABLE_PAGES: "Páginas no ordenables:"
+ ADMIN_SPECIFIC_OVERRIDES: "Reemplazos Especificos del Administrador"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Orden de visualización de los hijos"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "El orden en que los hijos de esta página deben mostrarse en la vista de 'Páginas' del plugin de Administración"
+ PWD_PLACEHOLDER: "compleja cadena de al menos 8 caracteres de largo"
+ PWD_REGEX: "Contraseña Regex"
+ PWD_REGEX_HELP: La contraseña debe contener al menos un número y una letra mayúscula y minúscula, y al menos 8 o más caracteres
+ USERNAME_PLACEHOLDER: "minúsculas, sólo caracteres. ej. 'admin'"
+ USERNAME_REGEX: "Nombre de usuario Regex"
+ USERNAME_REGEX_HELP: 'Por defecto: sólo caracteres en minúsculas, dígitos, guiones y guiones bajos. 3 - 16 caracteres'
+ CONTENT_PADDING: "Acolchado para el contenido"
+ CONTENT_PADDING_HELP: "Habilitar o deshabilitar el acolchado del contenido alrededor del área de contenido para proporcionar mayor espacio"
+ ENABLE_AUTO_METADATA: "Auto metadata de Exif"
+ ENABLE_AUTO_METADATA_HELP: "Genera automáticamente los archivos de metadata para las imágenes con información exif"
+ 2FA_TITLE: "Autenticación de 2 Factores"
+ 2FA_INSTRUCTIONS: "##### Autenticación de 2 Factores (2FA)\nTienes **2FA** habilitado en esta cuenta. Por favor usa tu aplicación **2FA** para ingresar el **código de 6 dígitos** para completar el proceso de acceso."
+ 2FA_REGEN_HINT: "la regeneración del secreto requerirá que se actualice la aplicación del autenticador"
+ 2FA_LABEL: "Acceso al Administrador"
+ 2FA_FAILED: "Código de Autentificación de 2-Factores inválido, por favor intente de nuevo..."
+ 2FA_ENABLED: "2FA Habilitado"
+ 2FA_CODE_INPUT: "000000"
+ 2FA_SECRET: "Secreto 2FA"
+ 2FA_SECRET_HELP: "Escanea este código QR en tu [Aplicación de Autenticador](https://learn.getgrav.org/admin-panel/2fa#apps). También es una buena idea hacer un respaldo del secreto en una ubicación segura, para el caso que necesites reinstalar tu aplicación. Revisa la [Documentación de Grav](https://learn.getgrav.org/admin-panel/2fa) para mas información "
+ 2FA_REGENERATE: "Regenerar"
diff --git a/user/plugins/admin/languages/et.yaml b/user/plugins/admin/languages/et.yaml
new file mode 100644
index 0000000..ea008ea
--- /dev/null
+++ b/user/plugins/admin/languages/et.yaml
@@ -0,0 +1,333 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Tegemist on beeta-versiooniga! Kasutamine töötaval veebilehel oma vastutusel..."
+ ADMIN_REPORT_ISSUE: "Leidsid mõne vea? Palun anna sellest teada GitHub-i vahendusel."
+ EMAIL_FOOTER: " Veebileht kasutab Grav'i - kaasaegset failipõhist CMS-i"
+ LOGIN_BTN: "Logi sisse"
+ LOGIN_BTN_FORGOT: "Unusta"
+ LOGIN_BTN_RESET: "Lähtesta salasõna"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Saada lähtestamise juhised"
+ LOGIN_BTN_CLEAR: "Tühjenda vorm"
+ LOGIN_BTN_CREATE_USER: "Loo kasutaja"
+ LOGIN_LOGGED_IN: "Oled edukalt sisse logitud"
+ LOGIN_FAILED: "Sisselogimine ebaõnnestus"
+ LOGGED_OUT: "Sind logiti välja"
+ RESET_NEW_PASSWORD: "Palun sisesta uus salasõna …"
+ RESET_LINK_EXPIRED: "Salasõna lähtestamine on aegunud, palun proovi uuesti"
+ RESET_PASSWORD_RESET: "Salasõna on lähtestatud"
+ RESET_INVALID_LINK: "Kehtetu lähtestamise link, palun proovi uuesti"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Salasõna lähtestamise juhised on saadeti sinu e-posti aadressile"
+ FORGOT_FAILED_TO_EMAIL: "Juhiste e-postiga saatmine ebaõnnestus, palun proovi hiljem uuesti"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Kasutaja %s salasõna ei saa lähtestada, puudub e-posti aadress"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Puudub kasutaja kasutajanimega %s"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Salasõna ei saa lähtestada. See veebileht ei ole seadistatud e-kirju saatma"
+ FORGOT_EMAIL_SUBJECT: "%s salasõna lähtestamise taotlus"
+ FORGOT_EMAIL_BODY: "Salasõna lähtestamine
Salasõna lähtestamiseks klõpsa siia
Parimate soovidega
%3$sPazahitza berrezarketa
Klik egin hemen zure pasahitza berrezartzeko
Begirunez,
%3$sتنظیم مجدد رمز عبور:
\n
برای تنظیم مجدد رمز عبور بر روی این کلیک کنید\n
\n
\nبا سپاس و احترام,
%3$s
به تنظیمات پی اچ پی حداکثر مقدار مجاز %s است. افزایش مقدار توسط تنظیمات پی اچ پی 'post_max_size'"
+ INSTALLING: "درحال نصب"
+ LOADING: "درحال بارگذاری.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "وابستگی های زیر در ابتدا لازم است تکمیل شوند :"
+ ERROR_INSTALLING_PACKAGES: "خطا در حین نصب بسته"
+ INSTALLING_DEPENDENCIES: "در حال نصب متعلقات..."
+ INSTALLING_PACKAGES: "در حال نصب بسته.."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "بسته با موفقیت نصب شد."
+ READY_TO_INSTALL_PACKAGES: "آماده برای نصب بسته"
+ PACKAGES_NOT_INSTALLED: "بسته نصب نشد"
+ PACKAGES_NEED_UPDATE: "بسته در حال حاضر نصب شده اما نسخه خیلی قدیمی است"
+ PACKAGES_SUGGESTED_UPDATE: "بسته از قبل نصب شده و نسخه خوبی است ، اما برای بروز بودن شما آپدیت خواهد شد"
+ REMOVE_THE: "حذف %s"
+ CONFIRM_REMOVAL: "آیا شما مطمئن هستید که میخواهید این ٪ s را حذف کنید؟"
+ REMOVED_SUCCESSFULLY: "%s با موفقیت حذف شد"
+ ERROR_REMOVING_THE: "خطا در حذف %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "%s نیازمند وابستگی های زیر است برای نصب بسته دیگر لازم نیست. اگر شما از آنها استفاده نمی کنید، می توانید آنها را به طور مستقیم از اینجا حذف کنید."
+ READY_TO_UPDATE_PACKAGES: "آماده برای به روز رسانی بستهpackage(s)"
+ ERROR_UPDATING_PACKAGES: "خطا در حین به روز رسانی بسته"
+ UPDATING_PACKAGES: "در حال بروزرسانی بسته.."
+ PACKAGES_SUCCESSFULLY_UPDATED: "بسته با موفقیت به روز رسانی شد."
+ UPDATING: "به روز رسانی"
+ GPM_RELEASES: "انتشار GPM"
+ GPM_RELEASES_HELP: "برای نصب بتا یا نسخه های تست \"تست کردن\" را انتخاب کنید"
+ GPM_METHOD: "روش واکشیدن از راه دور"
+ GPM_METHOD_HELP: "هنگام تنظیم روی حالت خودکار، Grav تعیین خواهد کرد اگر fopen موجود است از آن استفاده میکند ، در غیر این صورتcURL را مورد استفاده قرار میدهد. و مجبور به استفاده از تنظیمات دیگری میشود."
+ GPM_VERIFY_PEER: "بررسی همکار از راه دور (SSL)"
+ GPM_VERIFY_PEER_HELP: "به نظر میرسد برخی از ارائه دهندگان برای تایید گواهینامه getgrav.org SSL به دلیل کار نکردن GPM با شکست مواجه شده اند . اگر این اتفاق برای شما رخ داده است ، غیر فعال کردن این تنظیم ممکن است به شما کمک کند"
+ AUTO: "خودكار"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "پایدار"
+ TESTING: "تست کردن"
+ FRONTMATTER_PROCESS_TWIG: "پردازش سربرگ Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "هنگامی که فعال باشد شما می توانید از متغیر های پیکربندی Twig در جلو صفحه استفاده نمایید"
+ FRONTMATTER_IGNORE_FIELDS: "نادیده گرفتن زمینه های مقدمه"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "زمینه دقیق سربرگ ممکن است حاوی Twig باشد اما قابل پردازش نیست. مانند ' فرم '"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "بسته %s با موفقیت نصب شد"
+ NEEDS_GRAV_1_1: "شما از گراو نسخه %s استفاده می کنید. شما باید به گراو نسخه ۱.۱.* بروزرسانی انجام دهید تا از سازگاری اطمینان حاصل کنید. شاید لازم باشد تنظیمات را به نسخه های آزمایشی GPM تغییر دهید."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "چیدمان تنظیمات والد ، ترتیب بندی غیر فعال است"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "صفحه قابل رویت نیست ، سفارش غیر فعال میباشد"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "مرتب سازی از طریق مدیر پشتیبانی نمیشود زیرا بیش از 200 هم نوع وجود دارد"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'توجه: شما نمیتوانید فایل حاوی رسانه ای را اضافه کنید تا زمانی که صفحه را ذخیره کنید .فقط در بالا روی "ذخیره"کلیک کنید'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'توجه : قبل از اینکه شما بتوانیدفایل ها را آپلود نمایید صفحه باید ذخیره شود'
+ DROP_FILES_HERE_TO_UPLOAD: "فایل های خو را اینجا رها کنید یا اینجا کلیک کنید"
+ INSERT: "وارد کردن"
+ UNDO: "انصراف و لغو"
+ REDO: "انجام دوباره"
+ HEADERS: "عناوین"
+ BOLD: "ضخیم"
+ ITALIC: "کج"
+ STRIKETHROUGH: "خط خورده"
+ SUMMARY_DELIMITER: "خلاصه جداساز"
+ LINK: "لینک"
+ IMAGE: "تصویر"
+ BLOCKQUOTE: "نقل قول"
+ UNORDERED_LIST: "لیست نا مرتب"
+ ORDERED_LIST: "لیست سفارش"
+ EDITOR: "ویرایشگر"
+ PREVIEW: "پیشنمایش"
+ FULLSCREEN: "تمام صفحه"
+ MODULAR: "ماژولار"
+ NON_ROUTABLE: "غیر قابل مسیر یابی"
+ NON_MODULAR: "بدون ماژولار"
+ NON_VISIBLE: "غیر قابل مشاهده"
+ NON_PUBLISHED: "منتشر نشده"
+ CHARACTERS: "كاركترها"
+ PUBLISHING: "انتشار"
+ NOTIFICATIONS: "اطلاعیهها"
+ MEDIA_TYPES: "نوع رسانه"
+ IMAGE_OPTIONS: "گزینه های تصویر"
+ MIME_TYPE: "نوع فایل"
+ THUMB: "نما"
+ TYPE: "نوع"
+ FILE_EXTENSION: "پسوند فایل"
+ LEGEND: "شرح صفحه"
+ MEMCACHE_SERVER: "سرور حافظه موقت"
+ MEMCACHE_SERVER_HELP: "آدرس سرور حافظه موقت"
+ MEMCACHE_PORT: "درگاه حافظه موقت"
+ MEMCACHE_PORT_HELP: "درگاه سرور حافظه موقت"
+ MEMCACHED_SERVER: "سرور حافظه موقت"
+ MEMCACHED_SERVER_HELP: "آدرس سرور حافظه موقت"
+ MEMCACHED_PORT: "درگاه حافظه موقت"
+ MEMCACHED_PORT_HELP: "درگاه سرور حافظه موقت"
+ REDIS_SERVER: "سرور Redis"
+ REDIS_SERVER_HELP: "آدرس سرور Redis"
+ REDIS_PORT: "درگاه Redis"
+ REDIS_PORT_HELP: "درگاه سرور Redis"
+ ALL: "همه"
+ FROM: "از"
+ TO: "به"
+ RELEASE_DATE: "تاریخ انتشار"
+ SORT_BY: "مرتب سازی بر اساس"
+ RESOURCE_FILTER: "فیلتر..."
+ FORCE_SSL: "استفاده از نیروی SSL"
+ FORCE_SSL_HELP: "نیروی جهانی SSL, اگر فعال شود زمانی که سایت از طریق HTTP وصل میشود ، Grav یک تغییر مسیر به صفحه HTTPS میفرستد"
+ NEWS_FEED: "خوراک خبرها"
+ EXTERNAL_URL: "آدرس خارجی"
+ SESSION_PATH: "مسیر جلسه"
+ SESSION_PATH_HELP: "اگر می خواهید یک URL سفارشی پایه قرار دهید از این گزینه استفاده نمایید . (دامنه سایت / پوشه فرعی)"
+ CUSTOM_BASE_URL: "URL سفارشی پایه"
+ CUSTOM_BASE_URL_HELP: 'اگر می خواهید دامنه سایت را مجددا بنویسید یا از پوشه فرعی متفاوتی نسبت به آنچه توسط Grav استفاده شده ،از این گزینه استفاده کنید . مثال: http://localhost'
+ FILEUPLOAD_PREVENT_SELF: '"%s" را نمیتوان خارج از صفحات استفاده کرد'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'ناتوان در بارگذاری فایل %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'ناتوان در انتقال پرونده %s به "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'لغو آپلود'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'آیا مطمئن هستید که می خواهید ارسال این فایل را لغو کنید؟'
+ DROPZONE_DEFAULT_MESSAGE: 'فایل های خو را اینجا رها کنید یا اینجا کلیک کنید'
+ DROPZONE_FALLBACK_MESSAGE: 'مرورگر شما کشیدن و رها کردن فایل را پشتیبانی نمیکند'
+ DROPZONE_FALLBACK_TEXT: 'لطفا از فرم ذخیره زیر برای آپلود فایل های خود مانند روزهای دیگر استفاده نمایید.'
+ DROPZONE_FILE_TOO_BIG: 'فایل خیلی بزرگ ({{filesize}}MiB) است. حداکثر اندازه فایل: {{maxFilesize}}MiB میباشد.'
+ DROPZONE_INVALID_FILE_TYPE: "شما قادر به ارسال فایل های از این نوع نیستید."
+ DROPZONE_MAX_FILES_EXCEEDED: "شما نمیتوانید فایل بیشتری آپلود کنید."
+ DROPZONE_REMOVE_FILE: "حذف فایل"
+ DROPZONE_RESPONSE_ERROR: "پاسخ سرور با کد {{statusCode}}."
+ PREMIUM_PRODUCT: "نسخه ویژه"
+ ADMIN_CACHING: "فعالسازی کش مدیریت"
+ ADMIN_CACHING_HELP: "کش مدیریت میتواند به صورت مستقل از سایت جلویی کنترل شوذ"
+ DESTINATION_NOT_SPECIFIED: "مقصد مشخص نشده است"
+ UPLOAD_ERR_NO_TMP_DIR: "یک پوشه موقت گم شده است"
+ SESSION_SPLIT: "جلسه تقسیم"
+ SESSION_SPLIT_HELP: "تقسیم جلسات مستقل بین سایت و پلاگین های دیگر ( مانند مدیریت )"
+ ERROR_FULL_BACKTRACE: "ردیابی کامل خطا"
+ ERROR_SIMPLE: "خطای ساده"
+ ERROR_SYSTEM: "خطای سیستم"
+ IMAGES_AUTO_FIX_ORIENTATION: "تنظیم تعمیر خودکار"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "تنظیم خودکار جهت تصویر بر اساس داده های Exif"
+ REDIS_SOCKET: "سوکت redis"
+ REDIS_SOCKET_HELP: "سوکت Redis"
+ NOT_SET: "تنظیم نشده"
+ PERMISSIONS: "دسترسیها"
+ NEVER_CACHE_TWIG: " Twig هیچ گاه ذخیره نشود"
+ NEVER_CACHE_TWIG_HELP: "فقط محتویات کش و پردازش Twig برای هر صفحه در هر لحظه ذخیره میشود .تنظیمات Twig_first را نادیده می گیرد."
+ ALLOW_WEBSERVER_GZIP: "اجازه دادن به وب سرور Gzip"
+ ALLOW_WEBSERVER_GZIP_HELP: "به صورت پیش فرض غیرفعال است. در صورت فعال بودن پیکر بندی وب سرور Gzip/Deflate به صورت فشرده کار خواهد کرد اما اتصال http قبل از رویداد onShutDown() بسته نخواهد شد و سرعت بارگزاری صفحه را کندتر میکند."
+ OFFLINE_WARNING: "اتصال به GPM امکان پذیر نمیباشد"
+ CLI_COMPATIBILITY: "سازگاری CLI"
+ CLI_COMPATIBILITY_HELP: "دقت کنید فقط از کش کننده های سبک استفاده شود (file، redis، memcache و...)"
diff --git a/user/plugins/admin/languages/fi.yaml b/user/plugins/admin/languages/fi.yaml
new file mode 100644
index 0000000..e6db68d
--- /dev/null
+++ b/user/plugins/admin/languages/fi.yaml
@@ -0,0 +1,208 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Tämä on beta-versio! Käyttö tuotannossa omalla vastuulla..."
+ ADMIN_REPORT_ISSUE: "Löysitkö virheen tai puutteen? Ilmoita siitä Github-palveluun."
+ EMAIL_FOOTER: "Tehty Gravilla - Moderni Flat File CMS"
+ LOGIN_BTN: "Kirjaudu sisään"
+ LOGIN_BTN_FORGOT: "Unohditko"
+ LOGIN_BTN_RESET: "Nollaa salasana"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Lähetä salasanan nollausohjeet"
+ LOGIN_BTN_CLEAR: "Tyhjennä lomake"
+ LOGIN_BTN_CREATE_USER: "Luo käyttäjä"
+ LOGIN_LOGGED_IN: "Sisäänkirjautuminen onnistui"
+ LOGIN_FAILED: "Sisäänkirjautuminen epäonnistui"
+ LOGGED_OUT: "Olet kirjautunut ulos"
+ RESET_NEW_PASSWORD: "Anna uusi salasana …"
+ RESET_LINK_EXPIRED: "Nollauslinkki on vanhentunut, yritä uudelleen"
+ RESET_PASSWORD_RESET: "Salasana on nollattu"
+ RESET_INVALID_LINK: "Virheellinen nollauslinkki käytetty, yritä uudelleen"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Ohjeet salasanasi palautukseen lähetetty sähköpostitse osoitteeseen %s"
+ FORGOT_FAILED_TO_EMAIL: "Ohjeiden lähetys epäonnistui, yritä uudelleen myöhemmin"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Ei voida nollata salasanaa tilille %s, sähköpostiosoitetta ei ole asetettu"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Käyttäjää nimellä %s ei löydy"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Salasanaa ei voida nollata. Sivustoa ei ole määritelty lähettämään sähköpostiviestejä"
+ FORGOT_EMAIL_SUBJECT: "%s Salasanan nollauspyyntö"
+ FORGOT_EMAIL_BODY: "Salasanan nollaaminen
Klikkaa tätä nollataksesi salasanasi
Ystävällisin terveisin,
%3$sRéinitialisation du mot de passe
Cliquez ici pour réinitialiser votre mot de passe
Cordialement,
%3$s
vos paramètres PHP. Veuillez augmenter votre paramètre PHP `post_max_size`."
+ INSTALLING: "Installation en cours"
+ LOADING: "Chargement..."
+ DEPENDENCIES_NOT_MET_MESSAGE: "Les dépendances suivantes sont requises pour pouvoir continuer :"
+ ERROR_INSTALLING_PACKAGES: "Erreur lors de l'installation de(s) paquet(s)"
+ INSTALLING_DEPENDENCIES: "Installation des dépendances..."
+ INSTALLING_PACKAGES: "Installation de paquet(s)..."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Paquet(s) installé(s) avec succès."
+ READY_TO_INSTALL_PACKAGES: "Prêt pour l'installation de paquet(s)"
+ PACKAGES_NOT_INSTALLED: "Paquets non installés"
+ PACKAGES_NEED_UPDATE: "Paquets déjà installés, mais obsolètes"
+ PACKAGES_SUGGESTED_UPDATE: "Paquets installés dont la version est valide, mais qui seront mis à jour vers la dernière version"
+ REMOVE_THE: "Supprimer le %s"
+ CONFIRM_REMOVAL: "Êtes-vous sûr de vouloir supprimer ce %s ?"
+ REMOVED_SUCCESSFULLY: "%s a été supprimé avec succès"
+ ERROR_REMOVING_THE: "Erreur lors de la suppression de %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "%s possédait les dépendances suivantes qui ne sont pas requises par d'autres paquets installés. Si vous ne les utilisez pas, vous pouvez les supprimer directement ici."
+ READY_TO_UPDATE_PACKAGES: "Prêt à mettre à jour le(s) paquet(s)"
+ ERROR_UPDATING_PACKAGES: "Erreur lors de la mise à jour de(s) paquet(s)"
+ UPDATING_PACKAGES: "Mise à jour de(s) paquet(s) en cours..."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Paquet(s) mis à jour avec succès."
+ UPDATING: "Mise à jour"
+ GPM_RELEASES: "Versions GPM"
+ GPM_RELEASES_HELP: "Choisir 'En test' pour installer les versions bêta ou de test"
+ GPM_METHOD: "Méthode de récupération à distance"
+ GPM_METHOD_HELP: "Lorsque réglé sur Auto, Grav va déterminer si fopen est disponible et l'utiliser sinon, il utilisera cURL. Pour forcer l’utilisation de l’un ou l’autre, il suffit de changer le réglage."
+ GPM_VERIFY_PEER: "Vérification à distance Peer (SSL)"
+ GPM_VERIFY_PEER_HELP: "Certains fournisseurs semblent échouer lors de la vérification du certificat SSL getgrav.org empèchant GPM de fonctionner. Si c’est le cas pour vous, désactiver ce paramètre peut aider."
+ AUTO: "Auto"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Stable"
+ TESTING: "En test"
+ FRONTMATTER_PROCESS_TWIG: "Traitement du Twig dans Frontmatter"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Si activé, vous pouvez utiliser des variables de configuration Twig dans le frontmatter de la page."
+ FRONTMATTER_IGNORE_FIELDS: "Ignorer les champs frontmatter"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Certains champs frontmatter peuvent contenir du Twig qui ne devraient pas être traités, les formulaires par exemple."
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Paquet %s installé avec succès"
+ NEEDS_GRAV_1_1: " Vous utilisez la version %s de Grav. Vous devez mettre à jour vers la version la plus récente de Grav v1.1.x afin d'assurer la compatibilité. Il se peut que vous deviez utiliser le paramètre Tester les versions GPM dans les paramètres système."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "L'ordre est défini par le parent, le tri est désactivé"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "La page n'est pas visible, le tri est désactivé"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "La gestion de l'ordre des pages n'est pas disponible dans l'interface d'administration au-delà de 200 éléments"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Le classement des pages est désactivé pour cette page car l'option Préfixe Numérique du dossier n'est pas activé"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'Remarque : Vous ne pouvez pas ajouter de fichiers multimédias avant d''avoir enregistré la page. Cliquez sur `Enregistrer` en haut.'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'Remarque : La Page doit être enregistrée avant de pouvoir y télécharger des fichiers.'
+ DROP_FILES_HERE_TO_UPLOAD: "Déposez vos fichiers ici ou cliquez dans cette zone"
+ INSERT: "Insérer"
+ UNDO: "Annuler"
+ REDO: "Rétablir"
+ HEADERS: "En-têtes"
+ BOLD: "Gras"
+ ITALIC: "Italique"
+ STRIKETHROUGH: "Barré"
+ SUMMARY_DELIMITER: "Délimiteur de résumé"
+ LINK: "Lien"
+ IMAGE: "Image"
+ BLOCKQUOTE: "Citation"
+ UNORDERED_LIST: "Liste non ordonnée"
+ ORDERED_LIST: "Liste ordonnée"
+ EDITOR: "Éditeur"
+ PREVIEW: "Aperçu"
+ FULLSCREEN: "Plein écran"
+ MODULAR: "Modulaire"
+ NON_ROUTABLE: "Non routable"
+ NON_MODULAR: "Non modulaire"
+ NON_VISIBLE: "Non visible"
+ NON_PUBLISHED: "Non publié"
+ CHARACTERS: "caractères"
+ PUBLISHING: "Publication"
+ NOTIFICATIONS: "Notifications"
+ MEDIA_TYPES: "Types de média"
+ IMAGE_OPTIONS: "Options d'image"
+ MIME_TYPE: "Type Mime"
+ THUMB: "Miniature"
+ TYPE: "Type"
+ FILE_EXTENSION: "Extension de fichier"
+ LEGEND: "Légende de la page"
+ MEMCACHE_SERVER: "Serveur Memcache"
+ MEMCACHE_SERVER_HELP: "L’adresse du serveur Memcache"
+ MEMCACHE_PORT: "Port Memcache"
+ MEMCACHE_PORT_HELP: "Le port du serveur Memcache"
+ MEMCACHED_SERVER: "Serveur Memcached"
+ MEMCACHED_SERVER_HELP: "L’adresse du serveur Memcached"
+ MEMCACHED_PORT: "Port Memcached"
+ MEMCACHED_PORT_HELP: "Le port du serveur Memcached"
+ REDIS_SERVER: "Serveur Redis"
+ REDIS_SERVER_HELP: "L'adresse du serveur Redis"
+ REDIS_PORT: "Port Redis"
+ REDIS_PORT_HELP: "Le port du serveur Redis"
+ REDIS_PASSWORD: "Redis le mot de passe/secret"
+ ALL: "Tous"
+ FROM: "de"
+ TO: "à"
+ RELEASE_DATE: "Date de sortie"
+ SORT_BY: "Trier par"
+ RESOURCE_FILTER: "Filtre..."
+ FORCE_SSL: "Forcer SSL"
+ FORCE_SSL_HELP: "Forcer SSL globalement. Si activé, lorsque le site est accessible via HTTP, Grav envoie une redirection vers la page HTTPS."
+ NEWS_FEED: "Fil d'actualité"
+ EXTERNAL_URL: "URL externe"
+ SESSION_PATH: "Le chemin d’accès de la session"
+ SESSION_PATH_HELP: "Utiliser uniquement si vous choisissez une URL de base personnalisée (réécriture du domaine de site / sous-dossier)"
+ CUSTOM_BASE_URL: "URL de base personnalisée"
+ CUSTOM_BASE_URL_HELP: 'À utiliser si vous souhaitez réécrire le domaine du site ou utiliser un sous-dossier différent de celui utilisé par Grav. Par exemple : http://localhost'
+ FILEUPLOAD_PREVENT_SELF: 'Impossible d’utiliser "%s" en dehors des pages.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Impossible de charger le fichier %s : %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'Impossible de déplacer le fichier %s vers "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'Annuler le chargement'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Êtes-vous sûr de vouloir annuler ce chargement ?'
+ DROPZONE_DEFAULT_MESSAGE: 'Déposez vos fichiers ici ou cliquez dans cette zone'
+ DROPZONE_FALLBACK_MESSAGE: 'Votre navigateur ne prend pas en charge le téléversement de fichier par glissé-déposé.'
+ DROPZONE_FALLBACK_TEXT: 'Veuillez utiliser le formulaire classique ci-dessous pour téléverser vos fichiers comme dans le passé.'
+ DROPZONE_FILE_TOO_BIG: Le fichier est trop lourd ({{filesize}} Mo). La taille maximale est de {{maxFilesize}} Mo.
+ DROPZONE_INVALID_FILE_TYPE: "Vous ne pouvez pas télécharger des fichiers de ce type."
+ DROPZONE_MAX_FILES_EXCEEDED: "Vous ne pouvez plus téléverser de fichiers."
+ DROPZONE_REMOVE_FILE: "Supprimer le fichier"
+ DROPZONE_RESPONSE_ERROR: "Le serveur a répondu avec le code {{statusCode}}."
+ PREMIUM_PRODUCT: "Prémium"
+ ADMIN_CACHING: "Activer le cache d’administration"
+ ADMIN_CACHING_HELP: "La mise en cache dans l’administration peut être contrôlée indépendamment de celui du front-end."
+ DESTINATION_NOT_SPECIFIED: "Destination non spécifée"
+ UPLOAD_ERR_NO_TMP_DIR: "Il manque un dossier temporaire"
+ SESSION_SPLIT: "Session Split"
+ SESSION_SPLIT_HELP: "Division de sessions indépendantes entre le site et d’autres plugins (par exemple celui d'administration)"
+ ERROR_FULL_BACKTRACE: "Erreur complète Backtrace"
+ ERROR_SIMPLE: "Erreur simple"
+ ERROR_SYSTEM: "Erreur système"
+ IMAGES_AUTO_FIX_ORIENTATION: "Ajuster automatiquement l’orientation"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Ajuster automatiquement l’orientation de l’image en fonction des données Exif"
+ REDIS_SOCKET: "Connecteur Redis"
+ REDIS_SOCKET_HELP: "Le connecteur Redis"
+ NOT_SET: "Non défini"
+ PERMISSIONS: "Permissions"
+ NEVER_CACHE_TWIG: "Ne jamais mettre en cache Twig"
+ NEVER_CACHE_TWIG_HELP: "Systématiquement pour les pages : ne mettre en cache que le contenu et lancer Twig. Ignore le paramètre twig_first."
+ ALLOW_WEBSERVER_GZIP: "Autorisé Gzip WebServer"
+ ALLOW_WEBSERVER_GZIP_HELP: "Option désactivée par défaut. Si activée, la compression Gzip/Deflate configurée pour le serveur Web fonctionnera, mais la connexion http ne sera pas fermée avant l'événement onShutDown(), avec pour résultat un chargement de page plus lent"
+ OFFLINE_WARNING: "Impossible d’établir la connexion au Gestionnaire de Paquets Grav (GPM)"
+ CLEAR_IMAGES_BY_DEFAULT: "Vider le cache image par défaut"
+ CLEAR_IMAGES_BY_DEFAULT_HELP: "Par défaut, les images traitées sont effacées pour chaque nettoyage du cache, ceci peut être désactivé"
+ CLI_COMPATIBILITY: "Compatibilité CLI"
+ CLI_COMPATIBILITY_HELP: "Vérifie que seuls les pilotes non-volatiles du cache sont utilisés (fichier, redis, memcache, etc.)"
+ REINSTALL_PLUGIN: "Réinstaller le Plugin"
+ REINSTALL_THEME: "Réinstaller le thème"
+ REINSTALL_THE: "Réinstaller le %s"
+ CONFIRM_REINSTALL: "Êtes-vous certain de vouloir réinstaller ce %s?"
+ REINSTALLED_SUCCESSFULLY: "%s réinstallé avec succès"
+ ERROR_REINSTALLING_THE: "Erreur lors de la réinstallation de %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Le package %s a été réinstallé avec succès"
+ REINSTALLATION_FAILED: "Échec de la réinstallation"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "La version installée actuellement n'est pas la plus récente. En cliquant sur continuer, vous supprimerez la version actuelle et installerez la dernière version disponible"
+ TOOLS: "Outils"
+ DIRECT_INSTALL: "Installation directe"
+ NO_PACKAGE_NAME: "Nom du package non spécifié"
+ PACKAGE_EXTRACTION_FAILED: "Echec de l'extraction du package"
+ NOT_VALID_GRAV_PACKAGE: "Package Grav invalide"
+ NAME_COULD_NOT_BE_DETERMINED: "Le nom n’a pas pu être déterminé"
+ CANNOT_OVERWRITE_SYMLINKS: "Impossible d'écraser les symlinks"
+ ZIP_PACKAGE_NOT_FOUND: "Archive ZIP du package introuvable"
+ GPM_OFFICIAL_ONLY: "Uniquement GPM officiel"
+ GPM_OFFICIAL_ONLY_HELP: "N'autoriser l'installation directe que depuis le dépôt GPM officiel."
+ NO_CHILD_TYPE: "Aucun type d’enfant pour cette rawroute"
+ SORTABLE_PAGES: "Pages triables:"
+ UNSORTABLE_PAGES: "Pages non triables:"
+ ADMIN_SPECIFIC_OVERRIDES: "Exceptions relatives à l'admin"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Ordre d'affichage des enfants"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "L'ordre dans lequel les enfants de cette page doivent être affichés dans la vue 'Pages' du plugin Admin"
+ PWD_PLACEHOLDER: "chaîne complexe longue d'au moins 8 caractères"
+ PWD_REGEX: "Règles d'exclusion du mdp"
+ PWD_REGEX_HELP: 'Par défaut : le mot de passe doit contenir au moins un nombre et une majuscule/minuscule, et au moins 8 caractères'
+ USERNAME_PLACEHOLDER: "minuscules seulement, ex. 'admin'"
+ USERNAME_REGEX: "Règles d'exclusion du pseudo"
+ USERNAME_REGEX_HELP: 'Par défaut : uniquement minuscules, chiffres, tirets et underscores. Longueur : 3 - 16'
+ CONTENT_PADDING: "Bordure du contenu"
+ CONTENT_PADDING_HELP: "Activer/désactiver la bordure autour de la zone de contenu pour laisser plus d'espace"
+ ENABLE_AUTO_METADATA: "Metadonnées automatiques par Exif"
+ ENABLE_AUTO_METADATA_HELP: "Générer automatiquement des métadonnées pour les images avec les informations exif"
+ 2FA_TITLE: "Authentification à deux facteurs"
+ 2FA_INSTRUCTIONS: "##### Authentification 2-Factor\n**2FA** est activé sur ce compte. Veuillez utiliser l'application **2FA** pour entrer le **code à 6 chiffres** actuel afin de terminer le processus de connexion."
+ 2FA_REGEN_HINT: "régénérer le secret il faudra vous mettre à jour votre application authentificateur"
+ 2FA_LABEL: "Accès administrateur"
+ 2FA_FAILED: "Code d'authentification 2-Factor invalide, veuillez réessayer..."
+ 2FA_ENABLED: "2FA activé"
+ 2FA_CODE_INPUT: "000000"
+ 2FA_SECRET: "Secret API"
+ 2FA_SECRET_HELP: "Scannez ce code QR dans votre [app d'authentification](https://learn.getgrav.org/admin-panel/2fa#apps). Il est également conseillé de sauvegarder le code secret dans un emplacement sûr, au cas où vous deviez réinstaller l'app. Consultez les [aides Grav](https://learn.getgrav.org/admin-panel/2fa) pour plus d'informations "
+ 2FA_REGENERATE: "Régénérer"
diff --git a/user/plugins/admin/languages/he.yaml b/user/plugins/admin/languages/he.yaml
new file mode 100644
index 0000000..80c55b1
--- /dev/null
+++ b/user/plugins/admin/languages/he.yaml
@@ -0,0 +1,363 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "זוהי מהדורת ביתא! השימוש על אחריותכם בלבד..."
+ ADMIN_REPORT_ISSUE: "GitHub נמצאה בעיה? נא לדווח עליה דרך"
+ EMAIL_FOOTER: "אתר זה מופעל על ידי גראב -מערכת ניהול בקובץ שטוח מודרני"
+ LOGIN_BTN: "התחברות"
+ LOGIN_BTN_FORGOT: "שכחת"
+ LOGIN_BTN_RESET: "איפוס סיסמה"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "שליחת הוראות לאיפוס"
+ LOGIN_BTN_CLEAR: "נקוי טופס"
+ LOGIN_BTN_CREATE_USER: "יצירת משתמש חדש"
+ LOGIN_LOGGED_IN: "הצלחת להתחבר"
+ LOGIN_FAILED: "התחברות נכשלה"
+ LOGGED_OUT: "התנתקת מהמערכת"
+ RESET_NEW_PASSWORD: "יש לחבר סיסמה חדשה …"
+ RESET_LINK_EXPIRED: "פג תוקף קישור האיפוס, יש לנסות שוב"
+ RESET_PASSWORD_RESET: "הסיסמא אופסה בהצלחה"
+ RESET_INVALID_LINK: "קישור לאיפוס לא חוקי, יש לנסות שוב"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "ההוראות לאיפוס הסיסמא נשלחו למייל שלך"
+ FORGOT_FAILED_TO_EMAIL: "נכשלה שליחת ההוראות לאיפוס, נא לנסות מאוחר יותר"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "אין אפשרות לאפס את הסיסמה עבור %s, כתובת המייל אינה רשומה"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "שם משתמש %s אינו קיים"
+ FORGOT_EMAIL_NOT_CONFIGURED: "אין אפשרות לאפס את הסיסמה. אתר זה אינו מוגדר לשלוח מיילים"
+ FORGOT_EMAIL_SUBJECT: "%s - בקשה לאיפוס סיסמה"
+ FORGOT_EMAIL_BODY: "איפוס סיסמא
גלישה נעימה
%3$sResetiranje Lozinke
Klikni ovdje kako bi lozinka bila resetirana
Lijep pozdrav,
%3$s
tvojim PHP postavkama. Povećaj svoju 'post_max_size' PHP postavku"
+ INSTALLING: "Instalacija"
+ LOADING: "Učitavanje.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "Sljedeće zavisnosti trebaju prvo biti ispunjene:"
+ ERROR_INSTALLING_PACKAGES: "Greška prilikom instalacije paketa"
+ INSTALLING_DEPENDENCIES: "Instalacija ovisnosti..."
+ INSTALLING_PACKAGES: "Instaliranje paketa.."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Paket(i) uspješno instalirani."
+ READY_TO_INSTALL_PACKAGES: "Spreman za instalaciju paketa"
+ PACKAGES_NOT_INSTALLED: "Paketi nisu instalirani"
+ PACKAGES_NEED_UPDATE: "Paketi su već instalirani, ali su prestari"
+ PACKAGES_SUGGESTED_UPDATE: "Paketi su već instalirani, i verzija je u redu, ali će biti ažurirani, da bi sve bilo najnovije"
+ REMOVE_THE: "Makni %s"
+ CONFIRM_REMOVAL: "Da li ste sigurni da želite obrisati ovaj %s?"
+ REMOVED_SUCCESSFULLY: "%s je uspješno maknut"
+ ERROR_REMOVING_THE: "Pogreška prilikom uklanjanja %s"
+ READY_TO_UPDATE_PACKAGES: "Spreman za ažuriranje paketa"
+ ERROR_UPDATING_PACKAGES: "Greška prilikom ažuriranja paketa"
+ UPDATING_PACKAGES: "Ažuriranje paketa.."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Paketi su uspješno ažurirani."
+ UPDATING: "Ažuriranje"
+ GPM_RELEASES: "GPM izdanja"
+ GPM_VERIFY_PEER_HELP: "Neki davatelji usluga se ne uspjevaju provjeriti getgrav.org SSL certifikat, uzrokujući da GPM ne radi. Ako je ovo slučaj kod vas, isključivanje ove postavke bi moglo pomoći"
+ AUTO: "Auto"
+ STABLE: "Stabilna"
+ TESTING: "Testiranje"
+ FRONTMATTER_IGNORE_FIELDS: "Zanemari frontmatter polja"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Paket %s je uspješno instaliran"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Stranica nije vidljiva, ordering je onemogućen"
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'Napomena: Stranica mora biti spremljena prije no što izvršite prijenos datoteka na nju.'
+ DROP_FILES_HERE_TO_UPLOAD: "Ispustite datoteke ovdje ili kliknite ovdje"
+ INSERT: "Umetni"
+ UNDO: "Poništi"
+ REDO: "Vrati poništeno"
+ HEADERS: "Zaglavlja"
+ BOLD: "Podebljaj"
+ ITALIC: "Ukosi"
+ STRIKETHROUGH: "Precrtaj"
+ LINK: "Link"
+ IMAGE: "Slika"
+ BLOCKQUOTE: "Blok citat"
+ UNORDERED_LIST: "Neuređena lista"
+ ORDERED_LIST: "Uređena lista"
+ EDITOR: "Uređivač"
+ PREVIEW: "Pregled"
+ FULLSCREEN: "Puni ekran"
+ MODULAR: "Modularni"
+ NON_MODULAR: "Ne-Modularni"
+ NON_VISIBLE: "Ne-Vidljivo"
+ NON_PUBLISHED: "Neobjavljeno"
+ CHARACTERS: "znakovi"
+ PUBLISHING: "Objavljivanje"
+ NOTIFICATIONS: "Obavijesti"
+ MEDIA_TYPES: "Vrste medija"
+ IMAGE_OPTIONS: "Mogućnosti slike"
+ THUMB: "Sličica"
+ TYPE: "Vrsta"
+ FILE_EXTENSION: "Nastavak datoteke"
+ ALL: "Sve"
+ FROM: "od"
+ RELEASE_DATE: "Datum objave"
+ RESOURCE_FILTER: "Filtar..."
+ FILEUPLOAD_PREVENT_SELF: 'Ne možete koristiti "%s" izvan stranica.'
+ DROPZONE_CANCEL_UPLOAD: 'Odustani od prijenosa'
+ DROPZONE_REMOVE_FILE: "Ukloni datoteku"
+ PREMIUM_PRODUCT: "Premium"
+ ERROR_SYSTEM: "Pogreška sustava"
+ NOT_SET: "Nije postavljeno"
+ PERMISSIONS: "Dozvole"
+ REINSTALL_PLUGIN: "Ponovno instalirajte dodatak"
+ REINSTALL_THEME: "Ponovo instalirajte temu"
+ REINSTALL_THE: "Ponovo instalirajte %s"
+ CONFIRM_REINSTALL: "Da li ste sigurni da želite reinstalirati %s?"
+ REINSTALLED_SUCCESSFULLY: "%s je uspješno reinstaliran"
+ ERROR_REINSTALLING_THE: "Pogreška prilikom reinstaliranja %s"
+ GPM_OFFICIAL_ONLY_HELP: "Dopustiti izravne instalacije samo iz službenih GPM repozitorija."
+ 2FA_CODE_INPUT: "000000"
+ 2FA_REGENERATE: "Ponovno stvori"
diff --git a/user/plugins/admin/languages/hu.yaml b/user/plugins/admin/languages/hu.yaml
new file mode 100644
index 0000000..9bc0574
--- /dev/null
+++ b/user/plugins/admin/languages/hu.yaml
@@ -0,0 +1,693 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Ez egy béta kiadás! Éles környezetben csak saját felelősségre használd..."
+ ADMIN_REPORT_ISSUE: "Találtál egy hibát? Kérlek jelezd a GitHub-on."
+ EMAIL_FOOTER: "Powered by Grav - Egy Modern, File-alapú CMS"
+ LOGIN_BTN: "Bejelentkezés"
+ LOGIN_BTN_FORGOT: "Elfelejtettem"
+ LOGIN_BTN_RESET: "Új jelszó"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Jelszócsere információk küldése"
+ LOGIN_BTN_CLEAR: "Űrlap törlése"
+ LOGIN_BTN_CREATE_USER: "Felhasználó létrehozása"
+ LOGIN_LOGGED_IN: "Sikeresen bejelentkeztél"
+ LOGIN_FAILED: "Nem sikerült bejelentkezni"
+ LOGGED_OUT: "Kijelentkeztél"
+ RESET_NEW_PASSWORD: "Kérjük adjon meg egy új jelszót …"
+ RESET_LINK_EXPIRED: "A jelszócsere hivatkozás elavult, kérj újat"
+ RESET_PASSWORD_RESET: "A jelszócsere megtörtént"
+ RESET_INVALID_LINK: "Érvénytelen jelszócsere hivatkozás, kérjük próbáld újra"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "A jelszócserével kapcsolatos instrukciók erre a címre lettek elküldve: %s"
+ FORGOT_FAILED_TO_EMAIL: "Nem sikerült elküldeni emailen az instrukciókat, kérjük próbáld meg később"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "%s jelszavát nem lehet lercserélni, nem tartozik hozzá cím"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "%s nevű felhasználó nem létezik"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Nem lehet jelszót cserélni. Ez a weboldal nincs email-küldéshez konfigurálva"
+ FORGOT_EMAIL_SUBJECT: "%s jelszócsere kérés"
+ FORGOT_EMAIL_BODY: "Jelszócsere
Kattints ide jelszavad cseréjéhez
Üdvözlettel,
%3$s
méret: %s a PHP beállítások szerint. Növelje meg a `post_max_size` PHP beállítást"
+ INSTALLING: "Telepítés"
+ LOADING: "Betöltés…"
+ DEPENDENCIES_NOT_MET_MESSAGE: "Elsőnek a következő függőségek kell teljesítenünk::"
+ ERROR_INSTALLING_PACKAGES: "Hiba történt a csomag(ok) telepítése közben"
+ INSTALLING_DEPENDENCIES: "Függőségek telepítése..."
+ INSTALLING_PACKAGES: "Csomag(ok) telepítése..."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Csomag(ok) sikeresen telepítve."
+ READY_TO_INSTALL_PACKAGES: "A csomag(ok) telepítésre készen áll(nak)"
+ PACKAGES_NOT_INSTALLED: "Nem telepített csomagok"
+ PACKAGES_NEED_UPDATE: "Már telepített, de régi csomagok"
+ PACKAGES_SUGGESTED_UPDATE: "Már telepített, nem elavult csomagok, melyekhez újabb frissítések állnak rendelkezésre"
+ REMOVE_THE: "%s eltávolítása"
+ CONFIRM_REMOVAL: "Biztosan törli ezt a(z) %s?"
+ REMOVED_SUCCESSFULLY: "%s sikeresen eltávolítva"
+ ERROR_REMOVING_THE: "Hiba történt %s eltávolítása közben"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "A következő függőségeket csak a(z) %s követeli meg, így amennyiben nem használjuk őket, eltávolíthatjuk őket közvetlenül innen."
+ READY_TO_UPDATE_PACKAGES: "A csomag(ok) frissítésre készen áll(nak)"
+ ERROR_UPDATING_PACKAGES: "Hiba történt a csomag(ok) frissítése közben"
+ UPDATING_PACKAGES: "Csomag(ok) frissítésére..."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Csomag(ok) sikeresen frissítve."
+ UPDATING: "Frissítés"
+ GPM_RELEASES: "GPM kiadások"
+ GPM_RELEASES_HELP: "Válassza a 'Teszt'-et a béta vagy tesztelési verziók telepítéséhez"
+ GPM_METHOD: "A külső beszerzés módja (GPM)"
+ GPM_METHOD_HELP: "Auto-ra állítva a Grav fopen-t használ, amennyiben az elérhető, ellenkező esetben tartalékként a cURL-t hívja meg. A többi opcióval kikényszeríthetjük egyikük állandó használatát."
+ GPM_VERIFY_PEER: "GPM peer távoli ellenőrzése (SSL)"
+ GPM_VERIFY_PEER_HELP: "Egyes csomagszolgáltatók a getgrav.org SSL tanúsítványának ellenőrzésekor megbuknak, és emiatt a GPM nem fog működni. Ilyen esetekben segít, ha kikapcsoljuk ezt a beállítást"
+ AUTO: "Auto"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Stabil"
+ TESTING: "Teszt"
+ FRONTMATTER_PROCESS_TWIG: "Twig leírás feldolgozása"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Amikor engedélyezve van, az oldal leíró részében Twig változókat lehet használni"
+ FRONTMATTER_IGNORE_FIELDS: "Leíró mezők figyelmen kívül hagyása"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Bizonyos leíró mezők tartalmazhatnak Twig-eket, de nem űrlapként kell feldolgozni őket"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "%s csomag sikeresen telepítve."
+ NEEDS_GRAV_1_1: " Ön a Grav v%s verzióját futtatja. Frissítenie kell a legfrissebb Grav v1.1.x kiadásra a kompatibilitás megőrzéséhez. Lehetséges, hogy ehhez a Grav Teszt GPM kiadásokra kell váltania a Rendszerbeállítások között."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "A szülő elem rendezése érvényes. Itt a rendezés nem elérhető"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Az oldal nem látható, a rendezés nem elérhető"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "Az admin felületen keresztüli rendezés nem támogatott, mert több, mint 200 elem van"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Az oldalrendezés ezen az oldalon ki van kapcsolva, mert a Mappa Numerikus Előtag is ki van kapcsolva"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'Megyjegyzés: Amíg az oldal nincs elmentve, nem lehet médiafájlokat hozzáadni. Kattintson felül a ''Mentés''-re'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'Megjegyezés: Az oldalt menteni kell fájl feltöltése előtt.'
+ DROP_FILES_HERE_TO_UPLOAD: "Ejtse erre a területre a fájlokat"
+ INSERT: "Beillesztés"
+ UNDO: "Visszavonás"
+ REDO: "Mégis"
+ HEADERS: "Fejléc"
+ BOLD: "Félkövér"
+ ITALIC: "Dőlt"
+ STRIKETHROUGH: "Áthúzott"
+ SUMMARY_DELIMITER: "Összefoglaló határoló"
+ LINK: "Link"
+ IMAGE: "Kép"
+ BLOCKQUOTE: "Idézet"
+ UNORDERED_LIST: "Rendezetlen lista"
+ ORDERED_LIST: "Rendezett lista"
+ EDITOR: "Szerkesztő"
+ PREVIEW: "Előnézet"
+ FULLSCREEN: "Teljes képernyő"
+ MODULAR: "Moduláris"
+ NON_ROUTABLE: "Nem route-olható"
+ NON_MODULAR: "Nem-moduláris"
+ NON_VISIBLE: "Nem látható"
+ NON_PUBLISHED: "Közzé nem tett"
+ CHARACTERS: "karakter"
+ PUBLISHING: "Közzététel"
+ NOTIFICATIONS: "Értesítések"
+ MEDIA_TYPES: "Médiatípusok"
+ IMAGE_OPTIONS: "Képbeállítások"
+ MIME_TYPE: "MIME-típus"
+ THUMB: "Bélyegkép"
+ TYPE: "Típus"
+ FILE_EXTENSION: "Fájlkiterjesztés"
+ LEGEND: "Oldal előzmények"
+ MEMCACHE_SERVER: "Memcache kiszolgáló"
+ MEMCACHE_SERVER_HELP: "Memcache kiszolgáló címe"
+ MEMCACHE_PORT: "Memcache port"
+ MEMCACHE_PORT_HELP: "A Memcache kiszolgáló portja"
+ MEMCACHED_SERVER: "Memcached kiszolgáló"
+ MEMCACHED_SERVER_HELP: "Memcached kiszolgáló címe"
+ MEMCACHED_PORT: "Memcached port"
+ MEMCACHED_PORT_HELP: "A Memcached kiszolgáló portja"
+ REDIS_SERVER: "Redis kiszolgáló"
+ REDIS_SERVER_HELP: "A Redis kiszolgáló címe"
+ REDIS_PORT: "Redis port"
+ REDIS_PORT_HELP: "A Redis kiszolgáló portja"
+ REDIS_PASSWORD: "Redis jelszó/titkos kulcs"
+ ALL: "Mind"
+ FROM: "ettől"
+ TO: "eddig"
+ RELEASE_DATE: "Megjelenési dátum"
+ SORT_BY: "Rendezés"
+ RESOURCE_FILTER: "Szűrés..."
+ FORCE_SSL: "SSL kényszerítése"
+ FORCE_SSL_HELP: "SSL kapcsolat globális kikényszerítése. Ha be van kapcsolva, a Grav a HTTP lekéréseket automatikusan HTTPS-re irányítja át"
+ NEWS_FEED: "Hírfolyam"
+ EXTERNAL_URL: "Külső URL-cím"
+ SESSION_PATH: "A munkamenet elérési útja"
+ SESSION_PATH_HELP: "Csak akkor használatos, ha egyedi bázis URL lett beállítva (az oldal domain-je / az almappa át lett írva)"
+ CUSTOM_BASE_URL: "Egyedi bázis URL"
+ CUSTOM_BASE_URL_HELP: "Akkor használatos, ha az oldal domain-je felülírandó, vagy a Grav sajátjától eltérő almappával dolgozunk.\nPélda: http://localhost"
+ FILEUPLOAD_PREVENT_SELF: 'Nem lehet használni a "%s"-t az oldalakon kívül.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'A fájlt %s nem lehet feltölteni: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'A fájl nem lehet áthelyezni innen %s ide "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'Feltöltés megszakítása'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Biztosan meg akarod szakítani a fájlfeltöltést?'
+ DROPZONE_DEFAULT_MESSAGE: 'Húzd be ide a feltöltendő fájlt, vagy kattints erre a területre'
+ DROPZONE_FALLBACK_MESSAGE: 'A böngésződ nem támogatja drag''n''drop fájlfeltöltést.'
+ DROPZONE_FALLBACK_TEXT: 'Kérjük használd a tartalék űrlapot a fájlok feltöltéséhez (csakúgy, mint a régi szép időkben).'
+ DROPZONE_FILE_TOO_BIG: 'A fájl mérete túl nagy ({{filesize}}MiB). Maximális fájlméret: {{maxFilesize}}MiB.'
+ DROPZONE_INVALID_FILE_TYPE: "Nem lehet feltölteni ilyen típusú fájlt."
+ DROPZONE_MAX_FILES_EXCEEDED: "Nem lehet feltölteni több fájlt."
+ DROPZONE_REMOVE_FILE: "Fájl eltávolítása"
+ DROPZONE_RESPONSE_ERROR: "A szerver {{statusCode}} kóddal válaszolt."
+ PREMIUM_PRODUCT: "Prémium"
+ ADMIN_CACHING: "Admin gyorsítótár engedélyezése"
+ ADMIN_CACHING_HELP: "Az admin felület gyorsítótárazása a weboldal frontend részétől függetlenül vezérelhető."
+ DESTINATION_NOT_SPECIFIED: "A cél meghatározatlan"
+ UPLOAD_ERR_NO_TMP_DIR: "Hiányzik az átmeneti mappa"
+ SESSION_SPLIT: "Munkamenet Felosztás"
+ SESSION_SPLIT_HELP: "Független megosztott munkamenetek a webhely és más bővítmények között (mint pl. admin)"
+ ERROR_FULL_BACKTRACE: "Teljes visszakövetés a hibaüzenetben"
+ ERROR_SIMPLE: "Egyszerű hiba"
+ ERROR_SYSTEM: "Rendszerhiba"
+ IMAGES_AUTO_FIX_ORIENTATION: "Képorientáció automatikus javítása"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Exif adatok alapján a kép automatikus helyreforgatása"
+ REDIS_SOCKET: "Redis socket"
+ REDIS_SOCKET_HELP: "A Redis socket"
+ NOT_SET: "Nincs beállítva"
+ PERMISSIONS: "Engedélyek"
+ NEVER_CACHE_TWIG: "Sose gyorsítótárazza a Twig-eket"
+ NEVER_CACHE_TWIG_HELP: "Csak a tartalmat gyorsítótárazza, a Twig minden alkalommal kiértékelődik.\nFigyelmen kívül hagyja a twig_first beállítást."
+ ALLOW_WEBSERVER_GZIP: "Webszerver Gzip engedélyezése"
+ ALLOW_WEBSERVER_GZIP_HELP: "Kikapcsolva alapértelmezettként. Ha engedélyezve van, a WebServer-konfigurált Gzip/Deflate tömörítés működni fog, de http kapcsolaton keresztül nem lehet bezárni mielőtt az onShutDown() esemény lassú oldalbetöltést okoz"
+ OFFLINE_WARNING: "A GPM kapcsolatot nem lehet létrehozni"
+ CLEAR_IMAGES_BY_DEFAULT: "Alapértelmezés szerint törölje a kép gyorsítótárát"
+ CLEAR_IMAGES_BY_DEFAULT_HELP: "Alapértelmezés szerint a feldolgozott képek törlődnek az összes gyorsítótár törlésekor, de letiltható"
+ CLI_COMPATIBILITY: "CLI Kompatibilitás"
+ CLI_COMPATIBILITY_HELP: "Győződj meg róla, hogy csak a nem felejtő gyorsítótár-vezérlők vannak használatban (fájl, redis, memcache stb.)"
+ REINSTALL_PLUGIN: "Bővítmény Újratlepítése"
+ REINSTALL_THEME: "Téma Újratelepítése"
+ REINSTALL_THE: "%s Újratelepítése"
+ CONFIRM_REINSTALL: "Biztos vagy benne, hogy újra akarod telepíteni a(z) %s-t?"
+ REINSTALLED_SUCCESSFULLY: "%s újratelepítése sikeresen megtörtént"
+ ERROR_REINSTALLING_THE: "Hiba történt a(z) %s újratelepítése közben"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "%s csomag újratelepítése sikeresen megtörtént"
+ REINSTALLATION_FAILED: "Sikertelen újratelepítés"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "A telepített verzió nem a legfrissebb kiadás. A Tovább gombra kattintva, eltávolíthatod a jelenlegi verziót és telepítheted a legfrissebb elérhető kiadást"
+ TOOLS: "Eszközök"
+ DIRECT_INSTALL: "Közvetlen telepítése"
+ NO_PACKAGE_NAME: "A csomag neve nincs megadva"
+ PACKAGE_EXTRACTION_FAILED: "A csomag kitömörítése sikertelen"
+ NOT_VALID_GRAV_PACKAGE: "Nem érvényes Grav csomag"
+ NAME_COULD_NOT_BE_DETERMINED: "A név nem határozható meg"
+ CANNOT_OVERWRITE_SYMLINKS: "Nem lehet felülírni a symlinkeket"
+ ZIP_PACKAGE_NOT_FOUND: "Nem található ZIP archívum"
+ GPM_OFFICIAL_ONLY: "Csak hivatalos GPM"
+ GPM_OFFICIAL_ONLY_HELP: "Csak a hivatalos GPM repository-ból engedélyezett a közvetlen telepítés"
+ NO_CHILD_TYPE: "Nem tartozik alárendelt típus ehhez a rawroute-hoz"
+ SORTABLE_PAGES: "Csoportosítható oldalak:"
+ UNSORTABLE_PAGES: "Nem csoportosítható oldalak:"
+ ADMIN_SPECIFIC_OVERRIDES: "Admin specifikus felülírások"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Alárendelt Megjelenítési Sorrend"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "A sorrend amiként ez az oldal aloldalai listázva legyenek az admin plugin 'Oldalak' menüpont alatt"
+ PWD_PLACEHOLDER: "komplex karakterlánc legalább 8 karakter hosszú"
+ PWD_REGEX: "Jelszó Regex"
+ PWD_REGEX_HELP: A jelszónak legalább egy számot, egy nagybetűs és kis betűket, valamint legalább 8 vagy több karaktert kell tartalmaznia
+ USERNAME_PLACEHOLDER: "csak kisbetűs karakterek, pl. 'admin'"
+ USERNAME_REGEX: "Felhasználónév Regex"
+ USERNAME_REGEX_HELP: 'Alapértelmezés szerint: csak kisbetűk, számjegyek, kötőjelek és aláhúzásjelek használhatók. 3 - 16 karakter'
+ CONTENT_PADDING: "Tartalom padding"
+ CONTENT_PADDING_HELP: "Engedélyezd / Tiltsd le a tartalom padding-jét a tartalomterületen, hogy több helyet biztosíts"
+ ENABLE_AUTO_METADATA: "Automatikus metaadat az Exif-ből"
+ ENABLE_AUTO_METADATA_HELP: "Automatikusan létrehozhat metaadatfájlokat az exif információkkal rendelkező képekhez"
+ 2FA_TITLE: "Kétlépcsős Hitelesítés"
+ 2FA_INSTRUCTIONS: "##### Kétlépcsős Hitelesítés\nBeállítottad a **Kétlépcsős Hitelesítést** ehhez a fiókhoz. Kérlek használd a **Kétlépcsős Hitelesítés** applikációt, hogy beírd a **6 jegyű kódot** a bejelentkezési folyamat befejezéséhez. "
+ 2FA_REGEN_HINT: "a titkosító regenerálásához szükség lesz a hitelesítő alkalmazás frissítésére"
+ 2FA_LABEL: "Adminisztrátor Jogosultságok"
+ 2FA_FAILED: "Érvénytelen Kétlépcsős Hitelesítési kód, kérlek próbáld meg újra..."
+ 2FA_ENABLED: "Kétlépcsős Hitelesítés engedélyezve"
+ 2FA_CODE_INPUT: "000000"
+ 2FA_SECRET: "Kétlépcsős Hitelesítési Titok"
+ 2FA_SECRET_HELP: "Szkenneld be ezt a QR kódot a [Hitelesítő applikációba](https://learn.getgrav.org/admin-panel/2fa#apps). Egyben jó ötlet biztonsági mentést készítened a Titkos kulcsról egy biztonságos helyre, arra az esetre, ha újra kell telepítened az alkalmazást. További információért olvasd el a [Dokumentációt](https://learn.getgrav.org/admin-panel/2fa)"
+ 2FA_REGENERATE: "Újragenerálás"
diff --git a/user/plugins/admin/languages/id.yaml b/user/plugins/admin/languages/id.yaml
new file mode 100644
index 0000000..cec549d
--- /dev/null
+++ b/user/plugins/admin/languages/id.yaml
@@ -0,0 +1,346 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Ini merupakan rilisan Beta! Gunakan ini di produksi dengan resiko anda sendiri..."
+ ADMIN_REPORT_ISSUE: "Menemukan masalah? Harap laporkan di Github."
+ EMAIL_FOOTER: "Ditenagai oleh Grav - The Modern Flat File CMS"
+ LOGIN_BTN: "Login"
+ LOGIN_BTN_FORGOT: "Lupa"
+ LOGIN_BTN_RESET: "Reset Password"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Kirim Petunjuk Pembuatan Password"
+ LOGIN_BTN_CLEAR: "Bersihkan Form"
+ LOGIN_BTN_CREATE_USER: "Tambah Pengguna"
+ LOGIN_LOGGED_IN: "Anda telah berhasil login"
+ LOGIN_FAILED: "Login gagal"
+ LOGGED_OUT: "Anda telah logout"
+ RESET_NEW_PASSWORD: "Silakan masukkan password baru …"
+ RESET_LINK_EXPIRED: "Tautan setel ulang sudah tidak berlaku, silakan coba lagi"
+ RESET_PASSWORD_RESET: "Password berhasil dibuat ulang"
+ RESET_INVALID_LINK: "Anda menggunakan tautan pembuatan password yang tidak valid, silakan coba lagi"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Petunjuk untuk menyetel ulang password telah dikirim ke alamat email Anda"
+ FORGOT_FAILED_TO_EMAIL: "Gagal mengirim email instruksi, silakan coba lagi nanti"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Tidak bisa membuat ulang password untuk %s, alamat email belum diisi"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Pengguna dengan username %s tidak ada"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Tidak dapat membuat ulang password. Situs ini belum dikonfigurasi untuk mengirim email"
+ FORGOT_EMAIL_SUBJECT: "Permintaan Reset Password %s"
+ FORGOT_EMAIL_BODY: "Reset Password
Reset password
Clicca qui per resettare la tua password
Cordiali saluti,
%3$s
le tue impostazioni PHP. Aumentare il valore PHP di 'post_max_size'"
+ INSTALLING: "Installazione"
+ LOADING: "Caricamento.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "Le seguenti dipendenze devono essere soddisfatte prima:"
+ ERROR_INSTALLING_PACKAGES: "Errore durante l'installazione del pacchetto/i"
+ INSTALLING_DEPENDENCIES: "Installo le dipendenze..."
+ INSTALLING_PACKAGES: "Installo i pacchetti..."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Pacchetto/i installati correttamente."
+ READY_TO_INSTALL_PACKAGES: "Pronto per installare il pacchetto/i"
+ PACKAGES_NOT_INSTALLED: "Pacchetti non installati"
+ PACKAGES_NEED_UPDATE: "Pacchetti già installati, ma in una versione troppo vecchia"
+ PACKAGES_SUGGESTED_UPDATE: "Pacchetti già installati, e versione ok, ma che verranno aggiornati per avere l'ultima versione disponibile"
+ REMOVE_THE: "Rimuovi il %s"
+ CONFIRM_REMOVAL: "Sicuro di voler cancellare questo %s?"
+ REMOVED_SUCCESSFULLY: "%s rimosso con successo"
+ ERROR_REMOVING_THE: "Errore durante la rimozione di %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "%s richiede le seguenti dipendenze, che non sono richieste da altri pacchetti installati. Se non li si utilizza, è possibile rimuoverli direttamente da qui."
+ READY_TO_UPDATE_PACKAGES: "Pronto ad aggiornare il pacchetto/i"
+ ERROR_UPDATING_PACKAGES: "Errore durante l'aggiornamento del pacchetto/i"
+ UPDATING_PACKAGES: "Aggiorno il pacchetto/i..."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Pacchetto/i aggiornati correttamente."
+ UPDATING: "Aggiorno"
+ GPM_RELEASES: "GPM Releases"
+ GPM_RELEASES_HELP: "Scegliere 'Test' per installare versioni beta o test"
+ GPM_METHOD: "Metodo di recupero remoto"
+ GPM_METHOD_HELP: "Se impostato su Auto, Grav determinerà se fopen è disponibile e lo utilizzerà. In caso contrario Grav adotterà il fall back su cURL. Modificare l'impostazione per forzare l'uso dell'uno o dell'altro."
+ GPM_VERIFY_PEER: "Verifica remota del Peer (SSL)"
+ GPM_VERIFY_PEER_HELP: "Alcuni provider sembrano fallire la verifica del certificato SSL getgrav.org, causando il malfunzionamento di GPM. In questo caso la disattivazione di questa impostazione potrebbe essere di aiuto"
+ AUTO: "Automatico"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Stabile"
+ TESTING: "Test"
+ FRONTMATTER_PROCESS_TWIG: "Elabora il frontmatter Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Quando attivate, è possibile utilizzare le variabili di configurazione Twig nel frontmatter della pagina"
+ FRONTMATTER_IGNORE_FIELDS: "Ignora i campi del frontmatter"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Alcuni campi del frontmatter potrebbero contenere Twig ma, come nei 'form' questi non dovrebbero essere elaborati"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Pacchetto %s installato con successo"
+ NEEDS_GRAV_1_1: " Stai usando Grav v%s. È necessario aggiornare all'ultima versione Grav v1.1.x al fine di garantire la compatibilità. Potrebbe essere necessario passare alle release di Testing GPM nella Configurazione di Sistema."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Ordinamento dettato dal padre, ordinamento disabilitato"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Pagina non visibile, ordinamento disabilitato"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "L'ordinamento tramite Admin non è supportato perché ci sono più di 200 elementi da ordinare"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "L'ordinamento delle pagine è disattivato per questa pagina perché il prefisso numerico delle cartelle non è abilitato"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'NOTA: non è possibile aggiungere file dei media fino a quando non si salva la pagina. Clicca ''Salva'' in alto per salvare la pagina'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'NOTA: La pagina deve essere salvata prima di poter caricare dei file.'
+ DROP_FILES_HERE_TO_UPLOAD: "Rilascia i file qui o fai click in questa area"
+ INSERT: "Inserisci"
+ UNDO: "Ripristina"
+ REDO: "Ripeti azione"
+ HEADERS: "Intestazioni"
+ BOLD: "Grassetto"
+ ITALIC: "Corsivo"
+ STRIKETHROUGH: "Barrato"
+ SUMMARY_DELIMITER: "Segno di interruzione del riassunto"
+ LINK: "Link"
+ IMAGE: "Immagine"
+ BLOCKQUOTE: "Virgolettato"
+ UNORDERED_LIST: "Elenco non ordinato"
+ ORDERED_LIST: "Elenco ordinato"
+ EDITOR: "Editor"
+ PREVIEW: "Anteprima"
+ FULLSCREEN: "Schermo intero"
+ MODULAR: "Modulare"
+ NON_ROUTABLE: "Non-routabile"
+ NON_MODULAR: "Non modulare"
+ NON_VISIBLE: "Non visibile"
+ NON_PUBLISHED: "Non pubblicato"
+ CHARACTERS: "caratteri"
+ PUBLISHING: "Pubblicazione"
+ NOTIFICATIONS: "Notifiche"
+ MEDIA_TYPES: "Tipi di media"
+ IMAGE_OPTIONS: "Opzioni immagine"
+ MIME_TYPE: "Tipo di MIME"
+ THUMB: "Miniatura immagine"
+ TYPE: "Tipo"
+ FILE_EXTENSION: "Estensioni dei file"
+ LEGEND: "Legenda di pagina"
+ MEMCACHE_SERVER: "Server Memcache"
+ MEMCACHE_SERVER_HELP: "L'indirizzo del server Memcache"
+ MEMCACHE_PORT: "Porta Memcache"
+ MEMCACHE_PORT_HELP: "La porta del server Memcache"
+ MEMCACHED_SERVER: "Server Memcached"
+ MEMCACHED_SERVER_HELP: "L'indirizzo del server nella Memcache"
+ MEMCACHED_PORT: "Porta Memcached"
+ MEMCACHED_PORT_HELP: "La porta del server nella Memcache"
+ REDIS_SERVER: "Server Redis"
+ REDIS_SERVER_HELP: "L'indirizzo del server Redis"
+ REDIS_PORT: "Porta Redis"
+ REDIS_PORT_HELP: "La porta del server Redis"
+ REDIS_PASSWORD: "Redis password/segreto"
+ ALL: "Tutti"
+ FROM: "da"
+ TO: "a"
+ RELEASE_DATE: "Data di rilascio"
+ SORT_BY: "Ordina per"
+ RESOURCE_FILTER: "Filtro..."
+ FORCE_SSL: "Forza SSL"
+ FORCE_SSL_HELP: "Forza SSL a livello globale. Se abilitato, quando il sito viene raggiunto attraverso HTTP, Grav invia un redirect verso la pagina HTTPS"
+ NEWS_FEED: "Feed di notizie"
+ EXTERNAL_URL: "URL esterno"
+ SESSION_PATH: "Il percorso di sessione"
+ SESSION_PATH_HELP: "Utilizzare solo se si sceglie un URL di base personalizzato (rewrite del dominio del sito / sottocartella)"
+ CUSTOM_BASE_URL: "URL di base personalizzato"
+ CUSTOM_BASE_URL_HELP: 'Utilizzare se si desidera fare il rewrite del dominio del sito o utilizzare una sottocartella diversa rispetto a quella utilizzata da Grav. Esempio: http://localhost'
+ FILEUPLOAD_PREVENT_SELF: 'Non è possibile utilizzare "%s" al di fuori delle pagine.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Impossibile caricare il file %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'Impossibile spostare il file %s in "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'Annulla il caricamento'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Si è sicuri di voler annullare questo caricamento?'
+ DROPZONE_DEFAULT_MESSAGE: 'Rilascia qui i tuoi file o fai click in questa area'
+ DROPZONE_FALLBACK_MESSAGE: 'Il tuo browser non supporta il drag and drop per il caricamento dei file.'
+ DROPZONE_FALLBACK_TEXT: 'Si prega di utilizzare il form di fallback qui sotto per caricare i file, come nei tempi antichi.'
+ DROPZONE_FILE_TOO_BIG: 'Il file è troppo grande ({{filesize}}MiB). Dimensione massima del file ammessa: {{maxFilesize}}MiB.'
+ DROPZONE_INVALID_FILE_TYPE: "Non è possibile caricare i file di questo tipo."
+ DROPZONE_MAX_FILES_EXCEEDED: "Non è possibile caricare altri file."
+ DROPZONE_REMOVE_FILE: "Cancella il file"
+ DROPZONE_RESPONSE_ERROR: "Il server ha risposto con il codice {{statusCode}}."
+ PREMIUM_PRODUCT: "Premium"
+ ADMIN_CACHING: "Abilita la cache di Admin"
+ ADMIN_CACHING_HELP: "La caching dell'admin può essere controllata indipendentemente da quella del sito di front-end"
+ DESTINATION_NOT_SPECIFIED: "Destinazione non specificata"
+ UPLOAD_ERR_NO_TMP_DIR: "Cartella temporanea mancante"
+ SESSION_SPLIT: "Split di sessione"
+ SESSION_SPLIT_HELP: "Split di sessione indipendente tra il sito e gli altri plugin (per es. admin)"
+ ERROR_FULL_BACKTRACE: "Errore completo di Backtrace"
+ ERROR_SIMPLE: "Errore semplice"
+ ERROR_SYSTEM: "Errore di sistema"
+ IMAGES_AUTO_FIX_ORIENTATION: "Orienta automaticamente"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Correggere automaticamente l'orientamento dell'immagine sulla base dei dati Exif"
+ REDIS_SOCKET: "Socket Redis"
+ REDIS_SOCKET_HELP: "Il socket Redis"
+ NOT_SET: "Non impostato"
+ PERMISSIONS: "Permessi"
+ NEVER_CACHE_TWIG: "Non utilizzare mai la cache per Twig"
+ NEVER_CACHE_TWIG_HELP: "Mantieni solamente la cache dei contenuti e processa le pagine sempre con Twig. Ignora l'impostazione twig_first."
+ ALLOW_WEBSERVER_GZIP: "Consentire Gzip del WebServer"
+ ALLOW_WEBSERVER_GZIP_HELP: "Disattivata per impostazione predefinita. Quando attivata, la compressione configurata Gzip/Deflate WebServer, funzionerà ma la connessione http non verrà chiusa prima dell'evento onShutDown() rallentando il caricamento della pagina"
+ OFFLINE_WARNING: "Non è possibile stabilire la connessione con il GPM"
+ CLEAR_IMAGES_BY_DEFAULT: "Cancella la cache delle immagini per impostazione predefinita"
+ CLEAR_IMAGES_BY_DEFAULT_HELP: "Per impostazione predefinita vengono cancellate le immagini elaborate per tutte le cancellazioni della cache. Ciò può essere disabilitato"
+ CLI_COMPATIBILITY: "Compatibilità CLI"
+ CLI_COMPATIBILITY_HELP: "Assicura che siano utilizzati solo driver Cache non volatili (file, redis, memcache, ecc.)"
+ REINSTALL_PLUGIN: "Reinstalla il Plugin"
+ REINSTALL_THEME: "Reinstalla il tema"
+ REINSTALL_THE: "Reinstalla il %s"
+ CONFIRM_REINSTALL: "Sei sicuro di voler reinstallare questo %s?"
+ REINSTALLED_SUCCESSFULLY: "%s reinstallato correttamente"
+ ERROR_REINSTALLING_THE: "Errore durante la reinstallazione di %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Pacchetto %s reinstallato con successo"
+ REINSTALLATION_FAILED: "Reinstallazione non riuscita"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "La versione installata non è la versione più recente. Cliccando su continua, si potrà rimuovere la versione corrente e installare l'ultima release disponibile"
+ TOOLS: "Strumenti"
+ DIRECT_INSTALL: "Installazione diretta"
+ NO_PACKAGE_NAME: "Nome del pacchetto non specificato"
+ PACKAGE_EXTRACTION_FAILED: "Estrazione del pacchetto non riuscita"
+ NOT_VALID_GRAV_PACKAGE: "Non è un pacchetto valido di Grav"
+ NAME_COULD_NOT_BE_DETERMINED: "Non è possibile determinare il nome"
+ CANNOT_OVERWRITE_SYMLINKS: "Non è possibile sovrascrivere i symlink"
+ ZIP_PACKAGE_NOT_FOUND: "Non è stato trovato il pacchetto ZIP"
+ GPM_OFFICIAL_ONLY: "Solo GPM ufficiale"
+ GPM_OFFICIAL_ONLY_HELP: "Consenti solo installazioni dirette solo dal repository ufficiale di GPM."
+ NO_CHILD_TYPE: "Nessun tipo di figlio per questo rawroute"
+ SORTABLE_PAGES: "Pagine ordinabili:"
+ UNSORTABLE_PAGES: "Pagine non ordinabili:"
+ ADMIN_SPECIFIC_OVERRIDES: "Override specifici per l'Admin"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Ordine di visualizzazione dei figli"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "Ordine con il quale devono essere visualizzati i figli di questa pagina, nella visualizzazione 'Pagine' del plugin Admin"
+ PWD_PLACEHOLDER: "stringa complessa lunga almeno 8 caratteri"
+ PWD_REGEX: "Password Regex"
+ PWD_REGEX_HELP: 'Per impostazione predefinita: la password deve contenere almeno un numero, una lettera maiuscola, una minuscola e deve essere di almeno 8 o più caratteri'
+ USERNAME_PLACEHOLDER: "solo caratteri minuscoli, ad esempio 'admin'"
+ USERNAME_REGEX: "Nome utente Regex"
+ USERNAME_REGEX_HELP: 'Per impostazione predefinita: solo caratteri minuscoli, cifre, trattini e underscore. 3 - 16 caratteri'
+ CONTENT_PADDING: "Padding del contenuto"
+ CONTENT_PADDING_HELP: "Attivare/disattivare il padding del contenuto intorno all'area del contenuto per aumentare lo spazio"
+ ENABLE_AUTO_METADATA: "Metadati automatici da Exif"
+ ENABLE_AUTO_METADATA_HELP: "Genera automaticamente i file di metadati per le immagini che contengono informazioni exif"
+ 2FA_TITLE: "Autenticazione in due passaggi"
+ 2FA_INSTRUCTIONS: "##### 2-Factor Authentication \nLa **2FA** è abilitata per questo account. Si prega di utilizzare la vostra app **2FA** per immettere il **6-digit code** per completare il processo di login."
+ 2FA_REGEN_HINT: "Rigenerazione del segreto. Sarà necessario aggiornare l'app di autenticazione"
+ 2FA_LABEL: "Accesso a livello amministratore"
+ 2FA_FAILED: "Codice di autenticazione a 2 fattori non valido. Riprovare per favore..."
+ 2FA_ENABLED: "2FA abilitato"
+ 2FA_CODE_INPUT: "000000"
+ 2FA_SECRET: "2FA segreto"
+ 2FA_SECRET_HELP: "Scandisci questo codice QR nella tua [Authenticator App](https://learn.getgrav.org/admin-panel/2fa#apps). È inoltre cosa buona fare il backup del Segreto in un luogo sicuro, nel caso in cui fosse necessario reinstallare la vostra app. Controllare i [Grav docs] (https://learn.getgrav.org/admin-panel/2fa) per ulteriori informazioni "
+ 2FA_REGENERATE: "Rigenera"
diff --git a/user/plugins/admin/languages/ja.yaml b/user/plugins/admin/languages/ja.yaml
new file mode 100644
index 0000000..73c5ac1
--- /dev/null
+++ b/user/plugins/admin/languages/ja.yaml
@@ -0,0 +1,643 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "これはベータリリースです。稼働中サイトでは、自己責任においてご利用ください。"
+ ADMIN_REPORT_ISSUE: "問題を見つけた場合は、GitHub にてご報告をお願いします。"
+ EMAIL_FOOTER: "Powered by Grav - The Modern Flat File CMS"
+ LOGIN_BTN: "ログイン"
+ LOGIN_BTN_FORGOT: "パスワードを紛失"
+ LOGIN_BTN_RESET: "パスワードをリセット"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "リセット手順を送信"
+ LOGIN_BTN_CLEAR: "フォームをクリア"
+ LOGIN_BTN_CREATE_USER: "ユーザーを作成"
+ LOGIN_LOGGED_IN: "正常にログインしました。"
+ LOGIN_FAILED: "ログインに失敗しました。"
+ LOGGED_OUT: "ログアウトしました。"
+ RESET_NEW_PASSWORD: "新パスワードを入力してください …"
+ RESET_LINK_EXPIRED: "リセットリンクが期限切れです。再試行してください。"
+ RESET_PASSWORD_RESET: "パスワードがリセットされました。"
+ RESET_INVALID_LINK: "無効なリセットリンクを使用しました。再試行してください。"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "パスワードのリセット手順を、メールで %s 宛に送信しました。"
+ FORGOT_FAILED_TO_EMAIL: "リセット手順のメール送信に失敗しました。後ほど再試行してください。"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "メールアドレスが設定されていないため、 %s のパスワードをリセットできません。"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "ユーザー名が %s のユーザーは存在しません。"
+ FORGOT_EMAIL_NOT_CONFIGURED: "このサイトはメールを送信できるように設定されていないため、パスワードのリセットができません。"
+ FORGOT_EMAIL_SUBJECT: "%s パスワードリセットのリクエスト"
+ FORGOT_EMAIL_BODY: "パスワードのリセット
パスワードをリセットするには、このリンクをクリックしてください。
===========
%3$sSlaptažodžio atstatymas
Nuspauskite šį mygtuką, jei norite atstatyti slaptažodį
Su pagarba,
%3$sWachtwoord Herstellen
Klik hier om je wachtwoord te herstellen
Met vriendelijke groeten,
%3$s
uw PHP instellingen. Verhoog uw 'post_max_size' PHP instelling"
+ INSTALLING: "Bezig met installeren"
+ LOADING: "Laden.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "De volgende afhankelijkheden moeten eerst worden voldaan:"
+ ERROR_INSTALLING_PACKAGES: "Fout tijdens het installeren van pakket(ten)"
+ INSTALLING_DEPENDENCIES: "Afhankelijkheden installeren..."
+ INSTALLING_PACKAGES: "Pakket(ten) wordt/worden geïnstalleerd.."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Pakket(ten) succesvol geïnstalleerd."
+ READY_TO_INSTALL_PACKAGES: "Klaar om pakket(ten) te installeren"
+ PACKAGES_NOT_INSTALLED: "Pakketten niet geïnstalleerd"
+ PACKAGES_NEED_UPDATE: "Pakketten reeds geïnstalleerd, maar teveel verouderd"
+ PACKAGES_SUGGESTED_UPDATE: "Pakketten reeds geïnstalleerd en versie is in orde, maar ze zullen worden bijgewerkt om u up-to-date te houden"
+ REMOVE_THE: "De %s verwijderen"
+ CONFIRM_REMOVAL: "Weet je zeker dat je %s wilt verwijderen?"
+ REMOVED_SUCCESSFULLY: "%s succesvol verwijderd"
+ ERROR_REMOVING_THE: "Fout tijdens het verwijderen van de %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "De %s vereist de volgende afhankelijkheden die niet benodigd zijn voor andere geïnstalleerde pakketten. Als die niet worden gebruikt, kunt u ze rechtstreeks hier vandaan verwijderen."
+ READY_TO_UPDATE_PACKAGES: "Klaar om pakket(ten) bij te werken"
+ ERROR_UPDATING_PACKAGES: "Fout tijdens het bijwerken van pakket(ten)"
+ UPDATING_PACKAGES: "Bijwerken van pakket(ten).."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Pakket(ten) succesvol bijgewerkt."
+ UPDATING: "Bijwerken"
+ GPM_RELEASES: "GPM Releases"
+ GPM_RELEASES_HELP: "Kies 'testen' om bete of test versies te installeren"
+ GPM_METHOD: "Externe Fetch methode"
+ GPM_METHOD_HELP: "Wanneer ingesteld op Auto, zal Grav bepalen of 'fopen' beschikbaar en bruikbaar is, anders zal het terugvallen op 'cURL'. Om één van beide af te dwingen kan je deze selecteren."
+ GPM_VERIFY_PEER: "Externe controle (SSL)"
+ GPM_VERIFY_PEER_HELP: "Sommige providers kunnen het getgrav.org SSL-certificaat niet verifiëren, waardoor de GPM niet werkt. Als dit het geval is, kan het uitschakelen van deze instelling helpen"
+ AUTO: "Automatisch"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Stabiel"
+ TESTING: "Testen"
+ FRONTMATTER_PROCESS_TWIG: "Verwerk frontmatter Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Wanneer ingeschakeld, kunt u Twig config variabelen gebruiken in frontmatter op de pagina"
+ FRONTMATTER_IGNORE_FIELDS: "Negeer Frontmatter velden"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Bepaalde frontmatter velden kunnen Twig bevatten maar moeten niet verwerkt worden, zoals 'forms'"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Pakket %s succesvol geïnstalleerd"
+ NEEDS_GRAV_1_1: " Je huidige Grav versie is v%s. Je moet updaten naar de laatste Grav v1.1.x versie om compatibel te zijn. Het is mogelijk dat je hiervoor moet overschakelen naar Testing GPM releases in de systeemconfiguratie."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Volgorde bepaald door bovenliggende pagina, volgorde uitgeschakeld"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Pagina is niet zichtbaar, sorteren gedeactiveerd"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "Volgordebepaling via de admin is niet beschikbaar bij meer dan 200 items"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Pagina volgorde is uitgeschakeld voor deze pagina aangezien Folder Numeric Prefix niet is ingeschakeld"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'Let op: U kunt geen media toevoegen voordat u de pagina heeft opgeslagen. Klik op ''opslaan'' bovenaan de pagina'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'Let op: De pagina moet worden opgeslagen voordat u bestanden kunt uploaden.'
+ DROP_FILES_HERE_TO_UPLOAD: "Sleep je bestanden hier of klik in deze regio"
+ INSERT: "Invoegen"
+ UNDO: "Ongedaan maken"
+ REDO: "Herhalen"
+ HEADERS: "Koppen"
+ BOLD: "Vet"
+ ITALIC: "Cursief"
+ STRIKETHROUGH: "Doorhalen"
+ SUMMARY_DELIMITER: "Scheidingsteken voor samenvatting"
+ LINK: "Link"
+ IMAGE: "Afbeelding"
+ BLOCKQUOTE: "Citaatblok"
+ UNORDERED_LIST: "Ongeordende lijst"
+ ORDERED_LIST: "Geordende lijst"
+ EDITOR: "Bewerker"
+ PREVIEW: "Voorbeeld"
+ FULLSCREEN: "Volledig scherm"
+ MODULAR: "Modulair"
+ NON_ROUTABLE: "Niet routable"
+ NON_MODULAR: "Niet modulair"
+ NON_VISIBLE: "Niet zichtbaar"
+ NON_PUBLISHED: "Niet gepubliceerd"
+ CHARACTERS: "tekens"
+ PUBLISHING: "Publiceren"
+ NOTIFICATIONS: "Notificaties"
+ MEDIA_TYPES: "Media types"
+ IMAGE_OPTIONS: "Afbeelding opties"
+ MIME_TYPE: "MIME type"
+ THUMB: "Miniatuur"
+ TYPE: "Type"
+ FILE_EXTENSION: "Bestands extensie"
+ LEGEND: "Paginalegenda"
+ MEMCACHE_SERVER: "Memcache-server"
+ MEMCACHE_SERVER_HELP: "Het Memcache-serveradres"
+ MEMCACHE_PORT: "Memcache-poort"
+ MEMCACHE_PORT_HELP: "De Memcache-serverpoort"
+ MEMCACHED_SERVER: "Memcached-server"
+ MEMCACHED_SERVER_HELP: "Het Memcached-serveradres"
+ MEMCACHED_PORT: "Memcached-poort"
+ MEMCACHED_PORT_HELP: "De Memcached-serverpoort"
+ REDIS_SERVER: "Redis-server"
+ REDIS_SERVER_HELP: "Het Redis-serveradres"
+ REDIS_PORT: "Redis-poort"
+ REDIS_PORT_HELP: "De Redis-serverpoort"
+ ALL: "Alle"
+ FROM: "van"
+ TO: "aan"
+ RELEASE_DATE: "Verschijningsdatum"
+ SORT_BY: "Sorteren op"
+ RESOURCE_FILTER: "Filter..."
+ FORCE_SSL: "SSL forceren"
+ FORCE_SSL_HELP: "Globaal SSL forceren, als dit is ingeschakeld, word al het verkeer via HTTP door Grav omgeleid naar HTTPS"
+ NEWS_FEED: "Nieuws Feed"
+ EXTERNAL_URL: "Externe URL"
+ SESSION_PATH: "Folder voor sessies"
+ SESSION_PATH_HELP: "Alleen gebruiken als u een aangepaste URL wil (u herschrijft het domein / submap van de website)"
+ CUSTOM_BASE_URL: "Aangepaste basis-URL"
+ CUSTOM_BASE_URL_HELP: 'Gebruiken als u het domein van de website wilt herschrijven of gebruik een andere submap dan degene gebruikt door Grav. Voorbeeld: http://localhost'
+ FILEUPLOAD_PREVENT_SELF: 'Mag geen gebruik maken van "%s" buiten de pagina''s.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Kan het bestand %s niet uploaden: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'Kan het bestand %s niet verplaatsen naar "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'Annuleer upload'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Weet u zeker dat u deze upload wilt annuleren?'
+ DROPZONE_DEFAULT_MESSAGE: 'Sleep je bestanden hier of klik in deze regio'
+ DROPZONE_FALLBACK_MESSAGE: 'Uw browser ondersteunt deze methode van uploaden niet.'
+ DROPZONE_FALLBACK_TEXT: 'Gebruik onderstaande fallback formulier om uw bestanden te uploaden, zoals in de goede oude tijd.'
+ DROPZONE_FILE_TOO_BIG: 'Bestand is te groot ({{filesize}}MiB). Max bestandsgrootte: {{maxFilesize}}MiB.'
+ DROPZONE_INVALID_FILE_TYPE: "U kunt geen bestanden van dit type uploaden."
+ DROPZONE_MAX_FILES_EXCEEDED: "U kunt niet nog meer bestanden uploaden."
+ DROPZONE_REMOVE_FILE: "Verwijder bestand"
+ DROPZONE_RESPONSE_ERROR: "Server reageerde met code {{statusCode}}."
+ PREMIUM_PRODUCT: "Premium"
+ ADMIN_CACHING: "Admin Caching inschakelen"
+ ADMIN_CACHING_HELP: "Caching van de admin kan onafhankelijk van de front-end site beheerd worden"
+ DESTINATION_NOT_SPECIFIED: "Bestemming niet gespecificeerd"
+ UPLOAD_ERR_NO_TMP_DIR: "Tijdelijke map ontbreekt"
+ SESSION_SPLIT: "Sessie Split"
+ SESSION_SPLIT_HELP: "Onafhankelijke sessie-splits tussen site en andere plugins (zoals admin)"
+ ERROR_FULL_BACKTRACE: "Volledige Backtrace fout"
+ ERROR_SIMPLE: "Simpele fout"
+ ERROR_SYSTEM: "Systeemfout"
+ IMAGES_AUTO_FIX_ORIENTATION: "Herstel oriëntatie automatisch"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Herstel de oriëntatie van de afbeelding automatisch op basis van Exif data"
+ REDIS_SOCKET: "Redis socket"
+ REDIS_SOCKET_HELP: "De Redis socket"
+ NOT_SET: "Niet ingesteld"
+ PERMISSIONS: "Rechten"
+ NEVER_CACHE_TWIG: "Nooit TwIg cachen"
+ NEVER_CACHE_TWIG_HELP: "Cache enkel de inhoud en verwerk Twig telkens voor pagina's. Negeert twig_first instelling."
+ ALLOW_WEBSERVER_GZIP: "Sta Webserver Gzip toe"
+ ALLOW_WEBSERVER_GZIP_HELP: "Standaard uitgeschakeld. Indien ingeschakeld, zal WebServer-geconfigureerd gzip / deflate compressie werken, maar http-verbinding zal niet worden gesloten voordat onShutDown() event waardoor het laden van pagina's traag zal worden"
+ OFFLINE_WARNING: "Kan geen verbinding met de GPM maken"
+ CLI_COMPATIBILITY: "CLI-compatibiliteit"
+ CLI_COMPATIBILITY_HELP: "Zorgt ervoor dat alleen niet-vluchtige Cache drivers gebruikt worden (bestand, redis, memcache, enz.)"
+ REINSTALL_PLUGIN: "Plugin herinstalleren"
+ REINSTALL_THEME: "Thema herinstalleren"
+ REINSTALL_THE: "%s herinstalleren"
+ CONFIRM_REINSTALL: "Weet je zeker dat je %s? opnieuw wil installeren?"
+ REINSTALLED_SUCCESSFULLY: "%s is succesvol opnieuw geïnstalleerd"
+ ERROR_REINSTALLING_THE: "Fout opgetreden bij het herinstalleren van %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Pakket %s succesvol geïnstalleerd"
+ REINSTALLATION_FAILED: "Installatie mislukt"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "De geïnstalleerde versie is niet de nieuwste versie. Door op Doorgaan te klikken, wordt de huidige versie verwijderd en de nieuwste versie geïnstalleerd"
+ TOOLS: "Gereedschap"
+ DIRECT_INSTALL: "Direct installeren"
+ NO_PACKAGE_NAME: "De naam van het pakket niet gespecificeerd"
+ PACKAGE_EXTRACTION_FAILED: "Pakket extractie is mislukt"
+ NOT_VALID_GRAV_PACKAGE: "Dit is geen geldig Grav pakket"
+ NAME_COULD_NOT_BE_DETERMINED: "Naam kon niet worden vastgesteld"
+ CANNOT_OVERWRITE_SYMLINKS: "Je kunt geen symlinks overschrijven"
+ ZIP_PACKAGE_NOT_FOUND: "ZIP bestand kan niet worden gevonden"
+ GPM_OFFICIAL_ONLY: "Alleen officiële GPM"
+ GPM_OFFICIAL_ONLY_HELP: "Sta directe installaties alleen toe van de officiële GPM repository."
+ NO_CHILD_TYPE: "Er is geen child type voor deze rawroute"
+ SORTABLE_PAGES: "Sorteerbare pagina's:"
+ UNSORTABLE_PAGES: "Sorteerbare pagina's:"
+ ADMIN_SPECIFIC_OVERRIDES: "Admin specifieke overschrijvingen"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Volgorde van weergave"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "De volgorde van de onderliggende pagina's moeten worden weergegeven in 'Pagina's' van de Admin plugin"
+ PWD_PLACEHOLDER: "complexe string ten minste 8 tekens lang"
+ PWD_REGEX: "Wachtwoord Regex"
+ PWD_REGEX_HELP: Wachtwoord moet ten minste één nummer, een hoofdletter, een kleine letter en ten minste 8 of meer tekens bevatten
+ USERNAME_PLACEHOLDER: "alleen kleine tekens, bijvoorbeeld 'admin'"
+ USERNAME_REGEX: "Gebruikersnaam Regex"
+ USERNAME_REGEX_HELP: 'Standaard: alleen kleine letters tekens, cijfers, streepjes en onderstrepingstekens. 3 - 16 tekens'
+ CONTENT_PADDING: "Opvulling van inhoud"
+ CONTENT_PADDING_HELP: "Uit- of aanzetten van content padding rond de content om meer ruimte te creëren"
+
diff --git a/user/plugins/admin/languages/no.yaml b/user/plugins/admin/languages/no.yaml
new file mode 100644
index 0000000..272cc5a
--- /dev/null
+++ b/user/plugins/admin/languages/no.yaml
@@ -0,0 +1,687 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Dette er en betaversjon! Bruk denne i produksjon på egen risiko..."
+ ADMIN_REPORT_ISSUE: "Oppdaget et problem? Vennligst rapport det på GitHub."
+ EMAIL_FOOTER: "Drevet av Grav - Det moderne flat file CMSet"
+ LOGIN_BTN: "Logg inn"
+ LOGIN_BTN_FORGOT: "Glemt"
+ LOGIN_BTN_RESET: "Nullstill passord"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Sende tilbakestillingsintruksjoner"
+ LOGIN_BTN_CLEAR: "Tøm skjema"
+ LOGIN_BTN_CREATE_USER: "Opprett bruker"
+ LOGIN_LOGGED_IN: "Innloggingen var vellykket"
+ LOGIN_FAILED: "Innloggingen feilet"
+ LOGGED_OUT: "Du har nå logget ut"
+ RESET_NEW_PASSWORD: "Skriv inn et nytt passord …"
+ RESET_LINK_EXPIRED: "Tilbakestillingslenken er utløpt, vennligst prøv igjen"
+ RESET_PASSWORD_RESET: "Passordet ble tilbakestilt"
+ RESET_INVALID_LINK: "Ugyldig tilbakestillingslenke, prøv igjen"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Instruksjonene for å tilbakestille passordet har blitt sendt via e-post til %s"
+ FORGOT_FAILED_TO_EMAIL: "Kunne ikke sende instruksjoner, prøv på nytt senere"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Kan ikke tilbakestille passord %s, ingen e-postadresse er oppgitt"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Brukeren med brukernavn %s eksisterer ikke"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Kan ikke tilbakestille passordet. Denne siden er ikke konfigurert til å sende e-post"
+ FORGOT_EMAIL_SUBJECT: "%s tilbakestillingsforespørsel for passord"
+ FORGOT_EMAIL_BODY: "Tilbakestilling av passord
Klikk her for å tilbakestille passordet
Vennligst hilsen,
%3$s
dine php-innstillinger. øk `post_max_size` php-innstilling"
+ INSTALLING: "Installerer"
+ LOADING: "Laster..."
+ DEPENDENCIES_NOT_MET_MESSAGE: "Følgende avhengighet må fullføres først:"
+ ERROR_INSTALLING_PACKAGES: "Det oppstod en feil ved installering av pakken(e)"
+ INSTALLING_DEPENDENCIES: "Installerer avhengigheter..."
+ INSTALLING_PACKAGES: "Installerer pakke(r)..."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Installering av pakke(r) var vellykket."
+ READY_TO_INSTALL_PACKAGES: "Klar til å installere pakken(e)"
+ PACKAGES_NOT_INSTALLED: "Pakkene er ikke installert"
+ PACKAGES_NEED_UPDATE: "Pakkene er allerede installert, men de er for gamle"
+ PACKAGES_SUGGESTED_UPDATE: "Pakkene er allerede installert, og versjonen er ok, men vil bli oppdatert for å holde løsningen oppdatert"
+ REMOVE_THE: "Fjern %s"
+ CONFIRM_REMOVAL: "Er du sikker på at du vil slette %s?"
+ REMOVED_SUCCESSFULLY: "Fjerningen av %s var vellykket"
+ ERROR_REMOVING_THE: "Fjerningen av %s var mislykket"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "%s krevde følgende avhengigheter som ikke er påkrevd av andre installerte pakker. Hvis du ikke bruker dem, kan du fjerne dem direkte herfra."
+ READY_TO_UPDATE_PACKAGES: "Klar til å oppdatere pakken(e)"
+ ERROR_UPDATING_PACKAGES: "Det oppstod en feil ved oppdatering av pakken(e)"
+ UPDATING_PACKAGES: "Oppdaterer pakke(r)..."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Oppdatering av pakken(e) var vellykket."
+ UPDATING: "Oppdaterer"
+ GPM_RELEASES: "GPM utgivelser"
+ GPM_RELEASES_HELP: "Velg 'Testing' for å installere beta- eller testversjoner"
+ GPM_METHOD: "Metode for fjernhenting"
+ GPM_METHOD_HELP: "Når denne er satt til auto, vil Grav sjekke om fopen er tilgjengelig og bruke den, ellers falle tilbake til curl. For å tvinge den eller andre, endre innstilling."
+ GPM_VERIFY_PEER: "Godkjenning (SSL)"
+ GPM_VERIFY_PEER_HELP: "Noen tilbydere feiler med å verifisere getgrav.orgs SSL-sertifikat, noe som gjør at GPM ikke virker. Hvis dette gjelder for deg, kan det hjelpe å slå av denne innstillingen"
+ AUTO: "Auto"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Stabil"
+ TESTING: "Testing"
+ FRONTMATTER_PROCESS_TWIG: "Prosesser startfelt Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Når denne er aktivert, kan du bruke Twig konfigurasjonsvariabler på sidens startfelter."
+ FRONTMATTER_IGNORE_FIELDS: "Ignorer startfelter"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Visse startfelter kan inneholde Twig men bør ikke bli prosessert, som f.eks. 'forms'."
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Installasjon av pakken %s var vellykket."
+ NEEDS_GRAV_1_1: " Du kjører Grav v%s. Du må oppdatere til den siste Grav v1.1.x utgivelsen for å sikre kompatibilitet. Dette kan kreve at du bytter til GPM test-utgivelser i system-konfigurasjonen."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Rekkefølge for `parent`-innstillinger, sortering inaktivert."
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Siden er ikke synlig, sortering inaktivert."
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "Sortering via admin er ikke støttet fordi det er mer enn 200 elementer på samme nivå."
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Side-sortering er inaktivert for denne siden fordi Numerisk folder-prefix er ikke aktivert."
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'MERK: Du kan ikke legge til media-filer før du lagrer siden. Bare klikk ''Lagre'' på toppen.'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'MERK: Siden må lagres før du kan laste opp filer til den.'
+ DROP_FILES_HERE_TO_UPLOAD: "Slipp filene dine her eller klikk i dette området."
+ INSERT: "Legg inn"
+ UNDO: "Gjør om"
+ REDO: "Tilbakestill `Gjør om`"
+ HEADERS: "Overskrifter"
+ BOLD: "Halvfet"
+ ITALIC: "Kursiv"
+ STRIKETHROUGH: "Gjennomstrek"
+ SUMMARY_DELIMITER: "Summerings-skilletegn"
+ LINK: "Lenke"
+ IMAGE: "Bilde"
+ BLOCKQUOTE: "Blokksitat"
+ UNORDERED_LIST: "Punktliste"
+ ORDERED_LIST: "Nummerert liste"
+ EDITOR: "Editor"
+ PREVIEW: "Forhåndsvisning"
+ FULLSCREEN: "Fullskjerm"
+ MODULAR: "Modulær"
+ NON_ROUTABLE: "Ikke rutbar"
+ NON_MODULAR: "Ikke modulær"
+ NON_VISIBLE: "Ikke synlig"
+ NON_PUBLISHED: "Upublisert"
+ CHARACTERS: "tegn"
+ PUBLISHING: "Publisering"
+ NOTIFICATIONS: "Meldinger"
+ MEDIA_TYPES: "Mediatyper"
+ IMAGE_OPTIONS: "Bilde-tilvalg"
+ MIME_TYPE: "Mimetype"
+ THUMB: "Miniatyr"
+ TYPE: "Type"
+ FILE_EXTENSION: "Fil-endinger"
+ LEGEND: "Sideoverskrift"
+ MEMCACHE_SERVER: "Memcache-tjener"
+ MEMCACHE_SERVER_HELP: "Memcache tjeneradresse"
+ MEMCACHE_PORT: "Memcache port"
+ MEMCACHE_PORT_HELP: "Memcache tjener-port"
+ MEMCACHED_SERVER: "Memcached tjener"
+ MEMCACHED_SERVER_HELP: "Memcached tjeneradresse"
+ MEMCACHED_PORT: "Memcached port"
+ MEMCACHED_PORT_HELP: "Memcache tjener-port"
+ REDIS_SERVER: "Redis tjener"
+ REDIS_SERVER_HELP: "Redis tjeneradresse"
+ REDIS_PORT: "Redis port"
+ REDIS_PORT_HELP: "Redis tjener-port"
+ ALL: "Alle"
+ FROM: "fra"
+ TO: "til"
+ RELEASE_DATE: "Utgivelsesdato"
+ SORT_BY: "Sorter etter"
+ RESOURCE_FILTER: "Filter..."
+ FORCE_SSL: "Tving ssl"
+ FORCE_SSL_HELP: "Tving ssl globalt. Hvis denne er aktivert når nettstedet nås via http, Grav viderekobler til https-siden"
+ NEWS_FEED: "Nyhetsvarsling"
+ EXTERNAL_URL: "Ekstern url"
+ SESSION_PATH: "Sesjons-sti"
+ SESSION_PATH_HELP: "Brukes kun hvis du har valgt en egendefinert base-url (du overskriver nettstedets / underfolder)"
+ CUSTOM_BASE_URL: "Egendefinert base-url"
+ CUSTOM_BASE_URL_HELP: 'Bruk hvis du ønsker å overskrive nettstedets domene eller å bruke en annen underfolder enn den som brukes av Grav. F. eks: http://localhost.'
+ FILEUPLOAD_PREVENT_SELF: 'Kan ikke bruke "%s" utenfor sider.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Kan ikke laste opp fil %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'Kan ikke flytte fil %s til "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'Avbryt opplasting'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Er du sikker på at du vil avbryte denne opplastingen?'
+ DROPZONE_DEFAULT_MESSAGE: 'Slipp filene dine her eller klikk i dette området'
+ DROPZONE_FALLBACK_MESSAGE: 'Nettleseren din støtter ikke dra-og-slipp filopplasting.'
+ DROPZONE_FALLBACK_TEXT: 'Vennligst bruk skjemaet under for å laste opp filene dine.'
+ DROPZONE_FILE_TOO_BIG: 'Filen er for stor ({{filesize}}MiB). Maks filstørrelse: {{maxFilesize}}MiB.'
+ DROPZONE_INVALID_FILE_TYPE: "Du kan ikke laste opp filer av denne typen."
+ DROPZONE_MAX_FILES_EXCEEDED: "Du kan ikke laste opp flere filer."
+ DROPZONE_REMOVE_FILE: "Fjern fil"
+ DROPZONE_RESPONSE_ERROR: "Tjeneren responderte med {{statusCode}}-kode."
+ PREMIUM_PRODUCT: "Premium"
+ ADMIN_CACHING: "Aktiver Admin-caching"
+ ADMIN_CACHING_HELP: "Caching i admin kan bli kontrollert uavhengig av frontend-nettstedet."
+ DESTINATION_NOT_SPECIFIED: "Målet er ikke spesifisert"
+ UPLOAD_ERR_NO_TMP_DIR: "Mangler en midlertidig folder"
+ SESSION_SPLIT: "Sesjons-splitt"
+ SESSION_SPLIT_HELP: "Uavhengig splitt-sesjoner mellom nettsted og andre utvidelser (som f. eks. admin)"
+ ERROR_FULL_BACKTRACE: "Fullt sporbar feil"
+ ERROR_SIMPLE: "Enkel feil"
+ ERROR_SYSTEM: "Systemfeil"
+ IMAGES_AUTO_FIX_ORIENTATION: "Korriger orientering automatisk"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Automatisk korriger bildeorientering basert på Exif data."
+ REDIS_SOCKET: "Redis socket"
+ REDIS_SOCKET_HELP: "Redis socket"
+ NOT_SET: "Ikke satt"
+ PERMISSIONS: "Tillatelser"
+ NEVER_CACHE_TWIG: "Aldri cache for Twig"
+ NEVER_CACHE_TWIG_HELP: "Kun cache for innhold og prosesser Twig hver gang for sider. Ignorerer twig_først-innstilling."
+ ALLOW_WEBSERVER_GZIP: "Tillat WebServer gzip"
+ ALLOW_WEBSERVER_GZIP_HELP: "Av som standard. Når aktivert vil webserver-konfigurert gzip/deflate-kompresjon virke, men http-forbindelse vil ikke bli lukket før onShutDown() event, noe som forårsaker tregere sidelasting."
+ OFFLINE_WARNING: "Forbindelse med GPM kan ikke bli opprettet."
+ CLI_COMPATIBILITY: "Cli-kompatibilitet"
+ CLI_COMPATIBILITY_HELP: "Forsikrer at kun ikke-volatile cache-drivere blir brukt (fil, redis, memcache, osv.)"
+ REINSTALL_PLUGIN: "Reinstaller utvidelse"
+ REINSTALL_THEME: "Reinstaller tema"
+ REINSTALL_THE: "Reinstaller %s"
+ CONFIRM_REINSTALL: "Er du sikker på at du vil reinstallere denne %s?"
+ REINSTALLED_SUCCESSFULLY: "Reinstallasjon av %s var vellykket."
+ ERROR_REINSTALLING_THE: "Reinstallasjon av %s feilet."
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Reinstallasjon av pakken %s var vellykket."
+ REINSTALLATION_FAILED: "Reinstallasjon feilet"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "Installert versjon er ikke siste utgivelse. Ved å klikke `fortsett` vil du fjerne nåværende versjon og installere den siste tilgjengelige utgivelsen."
+ TOOLS: "Verktøy"
+ DIRECT_INSTALL: "Direkte installering"
+ NO_PACKAGE_NAME: "Pakkenavnet er ikke spesifisert."
+ PACKAGE_EXTRACTION_FAILED: "Utpakking av pakke feilet."
+ NOT_VALID_GRAV_PACKAGE: "Ikke en gyldig Grav-pakke."
+ NAME_COULD_NOT_BE_DETERMINED: "Navnet kunne ikke bestemmes."
+ CANNOT_OVERWRITE_SYMLINKS: "Kan ikke overskrive symlinker."
+ ZIP_PACKAGE_NOT_FOUND: "Zip-pakken ble ikke funnet."
+ GPM_OFFICIAL_ONLY: "Kun offisiell GPM"
+ GPM_OFFICIAL_ONLY_HELP: "Bare tillat direkte installering fra det ofisielle GPM-oppbevaringssted."
+ NO_CHILD_TYPE: "Ingen `barne`-type for denne ruten."
+ SORTABLE_PAGES: "Sorterbare sider:"
+ UNSORTABLE_PAGES: "Ikke sorterbare sider:"
+ ADMIN_SPECIFIC_OVERRIDES: "Admin-spesifikke overstyringer"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Rekkefølge på `barne`-visning"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "Rekkefølgen som `barn` av denne siden skal bli vist i sidevisningen til Admin-utvidelsen."
+ PWD_PLACEHOLDER: "kompleks streng minst 8 tegn lang"
+ PWD_REGEX: "Passord regex"
+ PWD_REGEX_HELP: 'Som standard: Passord må innehold minst et tall og en `stor` og en `liten` bokstav. Og må være minst 8 tegn langt.'
+ USERNAME_PLACEHOLDER: "kun `små` bokstaver, f.eks. 'admin'"
+ USERNAME_REGEX: "Brukernavn regex"
+ USERNAME_REGEX_HELP: 'Som standard: Kun `små` bokstaver, tall, bindestrek og understrek. 3 - 16 tegn.'
+ CONTENT_PADDING: "Innpakking av innhold"
+ CONTENT_PADDING_HELP: "Aktiver/inaktiver ekstra avstand rundt innholdet for å gi mer luft."
+ ENABLE_AUTO_METADATA_HELP: "Automatisk oppretting av metadatafiler for bilder med exif-informasjon"
+ 2FA_TITLE: "To-faktor autentisering"
+ 2FA_INSTRUCTIONS: "### To-faktor autentisering\nDu har **2FA** aktivert på denne kontoen. Bruk din **2FA** app for å angi gjeldende **6-sifret kode** for å fullføre påloggingsprosessen."
+ 2FA_REGEN_HINT: "når du oppretter ny hemmelig nøkkel, må du også huske å oppdatere autentiseringsappen din"
+ 2FA_LABEL: "Admin-tilgang"
+ 2FA_FAILED: "Ugyldig 2-faktor autentiseringskode. Vennligst prøv igjen..."
+ 2FA_ENABLED: "2FA aktivert"
+ 2FA_CODE_INPUT: "000000"
+ 2FA_SECRET: "2FA hemmelig nøkkel"
+ 2FA_SECRET_HELP: "Skanne QR koden inn i [Autentiseringsappen] (https://learn.getgrav.org/admin-panel/2fa#apps). Det er også lurt å sikkerhetskopiere den hemmelige nøkkelen på et trygt sted i tilfelle du må re-installere appen. Sjekk [Gravs dokumentasjon] (https://learn.getgrav.org/admin-panel/2fa) for mer info "
+ 2FA_REGENERATE: "Opprett ny"
diff --git a/user/plugins/admin/languages/pl.yaml b/user/plugins/admin/languages/pl.yaml
new file mode 100644
index 0000000..340f37c
--- /dev/null
+++ b/user/plugins/admin/languages/pl.yaml
@@ -0,0 +1,664 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "To jest wersja Beta! Używasz jej w produkcji na własne ryzyko..."
+ ADMIN_REPORT_ISSUE: "Znalazłeś błąd? Zgłoś to na GitHub."
+ EMAIL_FOOTER: "Powered by Grav - The Modern Flat File CMS"
+ LOGIN_BTN: "Zaloguj"
+ LOGIN_BTN_FORGOT: "Zapomniałem"
+ LOGIN_BTN_RESET: "Zresetuj hasło"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Wyślij instrukcje resetowania hasła"
+ LOGIN_BTN_CLEAR: "Wyczyść formularz"
+ LOGIN_BTN_CREATE_USER: "Utwórz użytkownika"
+ LOGIN_LOGGED_IN: "Zostałeś pomyślnie zalogowany"
+ LOGIN_FAILED: "Logowanie nie powiodło się"
+ LOGGED_OUT: "Zostałeś wylogowany"
+ RESET_NEW_PASSWORD: "Proszę wprowadzić nowe hasło …"
+ RESET_LINK_EXPIRED: "Link resetujący wygasł, spróbuj ponownie"
+ RESET_PASSWORD_RESET: "Hasło zostało zresetowane"
+ RESET_INVALID_LINK: "Nieprawidłowy link resetujący hasło, spróbuj ponownie"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Instrukcje dotyczące resetowania hasła zostały wysłane poprzez e-mail do %s"
+ FORGOT_FAILED_TO_EMAIL: "Nie udało się wysłać instrukcji resetowania hasła, proszę spróbować ponownie później"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Nie można zresetować hasła dla %s, brak adresu email"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Użytkownik o nazwie %s nie istnieje"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Nie można zresetować hasła. Ta strona nie jest skonfigurowana do wysyłania e-maili"
+ FORGOT_EMAIL_SUBJECT: "%s Żądanie zresetowania hasła"
+ FORGOT_EMAIL_BODY: "Resetowanie hasła
Kliknij tutaj, aby zresetować hasło
Z poważaniem,
%3$s
z twoimi ustawieniami PHP. Zwiększ wartość `post_max_size` w swoich ustawieniach PHP"
+ INSTALLING: "Trwa instalacja"
+ LOADING: "Trwa ładowanie.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "Następujące zależności muszą być najpierw spełnione:"
+ ERROR_INSTALLING_PACKAGES: "Wystąpił błąd podczas instalacji paczek"
+ INSTALLING_DEPENDENCIES: "Trwa instalacja zależności..."
+ INSTALLING_PACKAGES: "Trwa instalacja paczek.."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Paczki zostały poprawnie zainstalowane."
+ READY_TO_INSTALL_PACKAGES: "Gotowy do instalacji paczek"
+ PACKAGES_NOT_INSTALLED: "Paczki nie zainstalowane"
+ PACKAGES_NEED_UPDATE: "Paczki są już zainstalowane, ale zbyt nieaktualne"
+ PACKAGES_SUGGESTED_UPDATE: "Paczki są już zainstalowane, w poprawnych wersjach, ale zostaną zaktualizowane do najnowszych wersji"
+ REMOVE_THE: "Usuń %s"
+ CONFIRM_REMOVAL: "Czy na pewno chcesz usunąć %s?"
+ REMOVED_SUCCESSFULLY: "%s została pomyślnie usunięta"
+ ERROR_REMOVING_THE: "Wystąpił błąd podczas usuwania %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "%s wymagał następujących zależności, które nie są wymagane przez inne zainstalowane paczki. Jeżeli ich nie używasz, możesz je bezpośrednio tutaj usunąć."
+ READY_TO_UPDATE_PACKAGES: "Gotowy do zaktualizowania paczek"
+ ERROR_UPDATING_PACKAGES: "Wystąpił błąd podczas aktualizacji pakietu/ów"
+ UPDATING_PACKAGES: "Trwa aktualizacja pakietów..."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Pomyślnie zaktualizowano pakiety."
+ UPDATING: "Aktualizowanie"
+ GPM_RELEASES: "Wydania GPM"
+ GPM_RELEASES_HELP: "Wybierz 'Testowe' aby zainstalować wersje beta lub testowe"
+ GPM_METHOD: "Metody zdalnego pobierania"
+ GPM_METHOD_HELP: "Gdy ustawione na Auto, Grav sprawdzi dostępność funkcji fopen i ją użyje jeśli jest dostępna, w przeciwnym wypadku używając cURL. Aby wymusić użycie jednego z nich, zmień to ustawienie."
+ GPM_VERIFY_PEER: "Zdalnie sprawdź certyfikat (SSL)"
+ GPM_VERIFY_PEER_HELP: "Niektórzy dostawcy nie przyjmują certyfikatu SSL getgrav.org, co uniemożliwia działanie GPM. Jeśli masz ten problem, wyłączenie tego ustawienia może pomóc"
+ AUTO: "Auto"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Stabilne"
+ TESTING: "Testowe"
+ FRONTMATTER_PROCESS_TWIG: "Przetwarzaj Twig we frontmatter"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Gdy jest włączone, możesz używać zmiennych Twig we frontmatter dla strony"
+ FRONTMATTER_IGNORE_FIELDS: "Ignoruj pola frontmatter"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Niektóre pola frontmatter mogą zawierać Twig, ale nie powinny być przetwarzane, np. 'forms'"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Pomyślnie zainstalowano pakiet %s"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Strona nie jest widoczna, sortowanie wyłączone"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "Sortowanie za pośrednictwem panelu admina nie jest obsługiwane, ponieważ istnieje ponad 200 stron rodzeństwa"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Sortowanie stron jest wyłączone dla tej strony, ponieważ Numeryczny prefiks folderu nie jest włączony"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'Uwaga: Nie można dodać mediów przed zapisaniem. Kliknij ''Zapisz'' na górze strony'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'Uwaga: Należy zapisać stronę przed dodaniem plików.'
+ DROP_FILES_HERE_TO_UPLOAD: "Upuść pliki tutaj lub kliknij ten przycisk"
+ INSERT: "Wstaw"
+ UNDO: "Cofnij"
+ REDO: "Ponów"
+ HEADERS: "Nagłówki"
+ BOLD: "Pogrubienie"
+ ITALIC: "Kursywa"
+ STRIKETHROUGH: "Przekreślenie"
+ SUMMARY_DELIMITER: "Znacznik podsumowania"
+ LINK: "Hiperłącze"
+ IMAGE: "Obraz"
+ BLOCKQUOTE: "Blok cytowany"
+ UNORDERED_LIST: "Lista punktowana"
+ ORDERED_LIST: "Lista numerowana"
+ EDITOR: "Edytor"
+ PREVIEW: "Podgląd"
+ FULLSCREEN: "Pełny ekran"
+ MODULAR: "Modułowa"
+ NON_ROUTABLE: "Bez routingu"
+ NON_MODULAR: "Niemodułowa"
+ NON_VISIBLE: "Niewidoczna"
+ NON_PUBLISHED: "Nieopublikowana"
+ PUBLISHING: "Publikacja"
+ NOTIFICATIONS: "Powiadomienia"
+ MEDIA_TYPES: "Typy mediów"
+ IMAGE_OPTIONS: "Opcje obrazu"
+ MIME_TYPE: "Typ MIME"
+ THUMB: "Miniatura"
+ TYPE: "Typ"
+ FILE_EXTENSION: "Rozszerzenie pliku"
+ LEGEND: "Legenda stron"
+ MEMCACHE_SERVER: "Serwer Memcache"
+ MEMCACHE_SERVER_HELP: "Adres serwera Memcache"
+ MEMCACHE_PORT: "Port Memcache"
+ MEMCACHE_PORT_HELP: "Port serwera Memcache"
+ MEMCACHED_SERVER: "Serwer Memcached"
+ MEMCACHED_SERVER_HELP: "Adres serwera Memcached"
+ MEMCACHED_PORT: "Port Memcached"
+ MEMCACHED_PORT_HELP: "Port serwera Memcached"
+ REDIS_SERVER: "Serwer Redis"
+ REDIS_SERVER_HELP: "Adres serwera Redis"
+ REDIS_PORT: "Port Redis"
+ REDIS_PORT_HELP: "Port serwera Redis"
+ REDIS_PASSWORD: "Hasło/sekret Redis"
+ ALL: "Wszystkie"
+ FROM: "z"
+ TO: "do"
+ RELEASE_DATE: "Data wydania"
+ SORT_BY: "Sortuj według"
+ FORCE_SSL: "Wymuś SSL"
+ FORCE_SSL_HELP: "Globalnie wymusza użycie SSL, jeśli włączone, Grav przekierowuje połączenia ze stroną przy użyciu HTTP na HTTPS"
+ NEWS_FEED: "Aktualności"
+ EXTERNAL_URL: "Zewnętrzny URL"
+ SESSION_PATH: "Ścieżka sesji"
+ SESSION_PATH_HELP: "Użyj tej opcji tylko jeśli używasz niestandardowego bazowego URL (zmieniasz domenę / subfolder strony)"
+ CUSTOM_BASE_URL: "Niestandardowy bazowy adres URL"
+ CUSTOM_BASE_URL_HELP: 'Użyj tej opcji jeśli chcesz zmienić domenę strony albo użyć innego subfolderu, niż ten używany przez Grav. Przykład: http://localhost'
+ DROPZONE_CANCEL_UPLOAD: 'Anuluj przesyłanie'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Czy na pewno chcesz anulować przesyłanie?'
+ DROPZONE_DEFAULT_MESSAGE: 'Upuść pliki tutaj lub kliknij ten przycisk'
+ DROPZONE_FALLBACK_MESSAGE: 'Twoja przeglądarka nie wspiera przesyłania plików metodą przeciągnij i upuść.'
+ DROPZONE_FALLBACK_TEXT: 'Użyj formularza poniżej, aby przesłać pliki tak jak w dawnych czasach.'
+ DROPZONE_INVALID_FILE_TYPE: "Nie można przesłać plików tego typu."
+ DROPZONE_MAX_FILES_EXCEEDED: "Nie można już przesłać więcej plików."
+ DROPZONE_RESPONSE_ERROR: "Serwer odpowiedział kodem {{statusCode}}."
+ PREMIUM_PRODUCT: "Premium"
+ ADMIN_CACHING: "Włącz buforowanie panelu admina"
+ ADMIN_CACHING_HELP: "Buforowanie panelu admina można kontrolować niezależnie od reszty strony"
+ SESSION_SPLIT: "Podział sesji"
+ SESSION_SPLIT_HELP: "Niezależne, oddzielne sesje między stroną i innymi wtyczkami (takimi jak panel admina)"
+ ERROR_FULL_BACKTRACE: "Pełna informacja o błędzie"
+ ERROR_SIMPLE: "Uproszczona nazwa błędu"
+ ERROR_SYSTEM: "Błąd systemu"
+ IMAGES_AUTO_FIX_ORIENTATION: "Automatycznie popraw orientację"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Automatycznie poprawia orientację obrazu na podstawie danych Exif"
+ REDIS_SOCKET: "Gniazdo Redis"
+ REDIS_SOCKET_HELP: "Gniazdo serwera Redis"
+ NOT_SET: "Nie ustawione"
+ PERMISSIONS: "Uprawnienia"
+ NEVER_CACHE_TWIG: "Nigdy nie buforuj Twiga"
+ NEVER_CACHE_TWIG_HELP: "Buforuj jedynie treść, przetwarzając szablony Twiga przy każdym ich załadowaniu. Ignoruje ustawienie twig_first."
+ ALLOW_WEBSERVER_GZIP: "Gzip na serwerze"
+ ALLOW_WEBSERVER_GZIP_HELP: "Domyślnie wyłączone. Po włączeniu, Gzip/Deflate po stronie serwera będzie działać, ale połączenie HTTP nie będzie zamykane przed wykonaniem komendy onShutDown(), co spowolni ładowanie stron"
+ CLI_COMPATIBILITY: "Kompatybilność z CLI"
+ CLI_COMPATIBILITY_HELP: "Gwarantuje użycie jedynie nieulotnych sterowników pamięci podręcznej (file, redis, memcache itp.)"
+ REINSTALL_PLUGIN: "Zreinstaluj wtyczkę"
+ REINSTALL_THEME: "Zreinstaluj motyw"
+ REINSTALL_THE: "Zreinstaluj %s"
+ CONFIRM_REINSTALL: "Czy na pewno chcesz zreinstalować ten %s?"
+ REINSTALLED_SUCCESSFULLY: "pomyślnie zreinstalowano %s"
+ ERROR_REINSTALLING_THE: "Wystąpił błąd podczas reinstalacji %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Pomyślnie zreinstalowano pakiet %s"
+ REINSTALLATION_FAILED: "Reinstalacja nie powiodła się"
+ TOOLS: "Narzędzia"
+ DIRECT_INSTALL: "Bezpośrednia instalacja"
+ NO_PACKAGE_NAME: "Nie określono nazwy pakietu"
+ PACKAGE_EXTRACTION_FAILED: "Wypakowywanie pakietu się nie powiodło"
+ NOT_VALID_GRAV_PACKAGE: "Paczka nie jest prawidłowym pakietem Grav"
+ ZIP_PACKAGE_NOT_FOUND: "Nie można odnaleźć pakietu ZIP"
+ GPM_OFFICIAL_ONLY: "Tylko oficjalne GPM"
+ GPM_OFFICIAL_ONLY_HELP: "Zezwalaj na bezpośrednie instalacje jedynie z oficjalnego repozytorium GPM."
+ SORTABLE_PAGES: "Sortowalne strony:"
+ UNSORTABLE_PAGES: "Niesortowalne strony:"
+ ADMIN_SPECIFIC_OVERRIDES: "Nadpisania panelu admina"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Kolejność wyświetlania dzieci"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "Kolejność, w której dzieci tej strony będą wyświetlane w widoku stron panelu admina"
+ PWD_PLACEHOLDER: "złożony ciąg o długości co najmniej 8 znaków"
+ PWD_REGEX: "Wyrażenie regularne haseł użytkownika"
+ PWD_REGEX_HELP: 'Domyślnie: hasło musi zawierać co najmniej jedną cyfrę, jedną wielką i jedną małą literę, a także mieć co najmniej 8 znaków długości'
+ USERNAME_PLACEHOLDER: "tylko małe litery, np. 'admin'"
+ USERNAME_REGEX: "Wyrażenie regularne nazw użytkownika"
+ USERNAME_REGEX_HELP: 'Domyślnie: tylko małe litery, cyfry, myślniki i znaki podkreślenia, 3-16 znaków'
+ ENABLE_AUTO_METADATA: "Automatyczne metadane z Exif"
+ ENABLE_AUTO_METADATA_HELP: "Automatycznie generuj pliki metadanych dla obrazów z dołączonym Exif"
+ 2FA_TITLE: "Uwierzytelnienie dwuetapowe"
+ 2FA_INSTRUCTIONS: "##### Uwierzytelnienie dwuetapowe\nMasz na tym koncie włączone **2FA**. Użyj aplikacji od **2FA** i wprowadź aktualny **kod 6-cyfrowy**, aby zakończyć proces logowania."
+ 2FA_REGEN_HINT: "regeneracja sekretu będzie od ciebie wymagać zaktualizowania danych w aplikacji uwierzytelniającej"
+ 2FA_FAILED: "Nieprawidłowy kod uwierzytelnienia dwuetapowego, proszę spróbować ponownie..."
+ 2FA_ENABLED: "2FA włączone"
+ 2FA_CODE_INPUT: "000000"
+ 2FA_SECRET: "Sekret 2FA"
+ 2FA_SECRET_HELP: "Zeskanuj ten kod QR do swojej [aplikacji uwierzytelniającej](https://learn.getgrav.org/admin-panel/2fa#apps). Zrobienie kopii zapasowej sekretu w bezpiecznym miejscu jest także dobrym pomysłem, w przypadku konieczności reinstalacji aplikacji. Przeczytaj [dokumentację Grav](https://learn.getgrav.org/admin-panel/2fa), aby dowiedzieć się więcej."
+ 2FA_REGENERATE: "Zregeneruj"
diff --git a/user/plugins/admin/languages/pt.yaml b/user/plugins/admin/languages/pt.yaml
new file mode 100644
index 0000000..ff6c434
--- /dev/null
+++ b/user/plugins/admin/languages/pt.yaml
@@ -0,0 +1,472 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Esta é uma versão Beta! Use por sua conta em risco..."
+ ADMIN_REPORT_ISSUE: "Um problema foi encontrado? Por favor, reporte no GitHub."
+ EMAIL_FOOTER: "Motorizado por Grav - CMS Flat File Moderno e Simples"
+ LOGIN_BTN: "Entrar"
+ LOGIN_BTN_FORGOT: "Esqueceu"
+ LOGIN_BTN_RESET: "Reset a senha"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Envie as instruções para resetar a senha"
+ LOGIN_BTN_CLEAR: "Limpar Envio"
+ LOGIN_BTN_CREATE_USER: "Criar Usuário"
+ LOGIN_LOGGED_IN: "Conectado com sucesso"
+ LOGIN_FAILED: "Falha ao logar"
+ LOGGED_OUT: "Você foi desconectado"
+ RESET_NEW_PASSWORD: "Por favor insira um novo senha …"
+ RESET_LINK_EXPIRED: "Link de reset expirado, por favor, tente novamente"
+ RESET_PASSWORD_RESET: "Senha foi redefinida"
+ RESET_INVALID_LINK: "Reset de link usado inválido, por favor tente novamente"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Instruções do reset da senha foi enviado por e-mail para %s"
+ FORGOT_FAILED_TO_EMAIL: "As instruções de email falhou ao ser enviada, tente novamente"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "A senha não pode ser resetada para o endereço de email %s"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "O usuário com login %s não existe"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Senha não pode ser modificada. Este site não foi configurado para enviar emails"
+ FORGOT_EMAIL_SUBJECT: "%s Pedido de reset de senha"
+ FORGOT_EMAIL_BODY: "Senha Restabelecida
Click aqui pra restabelecer a sua senha
Atenciosamente,
%3$sResetare parolă
setărilor PHP. Mărește setarea PHP 'post_max_size'"
+ INSTALLING: "Instalare"
+ LOADING: "Încărcare.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "Următoarele dependenţe trebuie să fie îndeplinite înainte:"
+ ERROR_INSTALLING_PACKAGES: "Eroare în timpul instalării pachetului(lor)"
+ INSTALLING_DEPENDENCIES: "Instalare dependenţe..."
+ INSTALLING_PACKAGES: "Instalare pachet(e).."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Pachet(e) instalat(e) cu succes."
+ READY_TO_INSTALL_PACKAGES: "Gata pentru a instala pachete"
+ PACKAGES_NOT_INSTALLED: "Pachetele nu au fost instalate"
+ PACKAGES_NEED_UPDATE: "Pachete deja instalate, dar prea vechi"
+ PACKAGES_SUGGESTED_UPDATE: "Pachete deja instalate, şi versiunea este ok, dar vor fi actualizate pentru a vă ţine la curent"
+ REMOVE_THE: "Eliminare %s"
+ CONFIRM_REMOVAL: "Eşti sigur că dorești să ștergi %s?"
+ REMOVED_SUCCESSFULLY: "%s eliminat cu succes"
+ ERROR_REMOVING_THE: "Eroare la ștergerea %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "%s necesită următoarele dependenţe, care nu sunt cerute de alte pachete instalate. Dacă nu le utilizaţi, eliminaţi-le direct de aici."
+ READY_TO_UPDATE_PACKAGES: "Gata pentru a actualiza pachete"
+ ERROR_UPDATING_PACKAGES: "Eroare în timpul actualizării pachetelor"
+ UPDATING_PACKAGES: "Actualizarea pachete.."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Pachet(e) actualizat(e) cu succes."
+ UPDATING: "Actualizare"
+ GPM_RELEASES: "Lansări GPM"
+ GPM_RELEASES_HELP: "Alege 'Testare' pentru a instala versiunea beta sau versiuni de testare"
+ GPM_METHOD: "Metoda de descărcare de la distanță"
+ GPM_METHOD_HELP: "Când este setată Auto, Grav va determina dacă fopen este disponibil și îl va utiliza, altfel va merge pe varianta cURL. Pentru a forța utilizarea uneia dintre opțiuni modificați setarea."
+ GPM_VERIFY_PEER: "Verificarea de la distanță a emitentului (SSL)"
+ GPM_VERIFY_PEER_HELP: "Unii furnizori nu reușesc să verifice certificatul SSL al getgrav.org și din această cauză GPM nu funcționează. Dacă vă aflați în această situație, oprirea acestei setări vă poate ajuta"
+ AUTO: "Automat"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Stabil"
+ TESTING: "Testare"
+ FRONTMATTER_PROCESS_TWIG: "Procesează Twig din frontmatter"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Când este activat, poți folosi variabile de configurare Twig în paginație"
+ FRONTMATTER_IGNORE_FIELDS: "Ignoră câmpurile frontmatter"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Anumite câmpuri din frontmatter pot conține Twig dar nu are trebui procesate, ex: formulare"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Pachetul %s instalat cu succes"
+ NEEDS_GRAV_1_1: " sRuleaza Grav versiunea v%s. Trebuie să actualizaţi la ultima versiune v1.1.x de Grav pentru a asigura compatibilitatea. Acest fapt poate impune trecerea la versiunea de testare GPM în configurația sistemului."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Părintele setează ordinea, ordinea dezactivată"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Pagina nu este vizibilă, ordonarea este dezactovată"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "Ordonarea via Admin nu este acceptată deoarece există mai mult de 200 de „rude”"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Aranjarea paginilor este dezactivată pentru această pagină pentru că Numărarea Numerică a Dosarelor este dezactivată"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'Notă: Nu puteți adăuga fișiere media decât după salvarea paginii. Dați clic pe "Salvează" în dreapta-sus'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'Notă: Pagina trebuie salvată înainte de a putea încărca fișiere.'
+ DROP_FILES_HERE_TO_UPLOAD: "Adăugați fișierele aici sau Dați clic pe zona aceasta "
+ INSERT: "Inserează"
+ UNDO: "Revenire"
+ REDO: "Refă"
+ HEADERS: "Anteturi"
+ BOLD: "Îngroşat"
+ ITALIC: "Cursiv"
+ STRIKETHROUGH: "Tăiat cu o linie"
+ SUMMARY_DELIMITER: "Delimitator pentru rezumat"
+ LINK: "Link"
+ IMAGE: "Imagine"
+ BLOCKQUOTE: "Citat"
+ UNORDERED_LIST: "Listă neordonată"
+ ORDERED_LIST: "Listă ordonată"
+ EDITOR: "Editor"
+ PREVIEW: "Previzualizare"
+ FULLSCREEN: "Pe tot ecranul"
+ MODULAR: "Modulare"
+ NON_ROUTABLE: "Nerutabil"
+ NON_MODULAR: "Non-modular"
+ NON_VISIBLE: "Invizibil"
+ NON_PUBLISHED: "Nepublicat"
+ CHARACTERS: "caractere"
+ PUBLISHING: "Pentru publicare"
+ NOTIFICATIONS: "Notificări"
+ MEDIA_TYPES: "Tipuri de media"
+ IMAGE_OPTIONS: "Opţiuni Imagine"
+ MIME_TYPE: "Tipuri Mime"
+ THUMB: "Icoană"
+ TYPE: "Tip"
+ FILE_EXTENSION: "Extensie de fișier"
+ LEGEND: "Legenda Paginii"
+ MEMCACHE_SERVER: "Server pentru Memcache"
+ MEMCACHE_SERVER_HELP: "Adresa serverului Memcache"
+ MEMCACHE_PORT: "Portul pentru Memcache"
+ MEMCACHE_PORT_HELP: "Portul serverului pentru Memcahce"
+ MEMCACHED_SERVER: "Server Memcached"
+ MEMCACHED_SERVER_HELP: "Adresa serverului Memcached"
+ MEMCACHED_PORT: "Portul pentru Memcached"
+ MEMCACHED_PORT_HELP: "Portul serverului pentru Memcahced"
+ REDIS_SERVER: "Server Redis"
+ REDIS_SERVER_HELP: "Adresa serverului Redis"
+ REDIS_PORT: "Portul pentru Redis"
+ REDIS_PORT_HELP: "Portul serverului pentru Redis"
+ REDIS_PASSWORD: "Parolă / Secret Redis"
+ ALL: "Toate"
+ FROM: "de la"
+ TO: "către"
+ RELEASE_DATE: "Data de lansare"
+ SORT_BY: "Sortează după"
+ RESOURCE_FILTER: "Filtrează ..."
+ FORCE_SSL: "Forțează SSL"
+ FORCE_SSL_HELP: "Forțează SSL la nivel global, dacă este activată în timp ce site-ul este accesibil prin HTTP, Grav trimite o redirecționare către pagina HTTPS"
+ NEWS_FEED: "Flux de ştiri"
+ EXTERNAL_URL: "URL Extern"
+ SESSION_PATH: "Calea sesiunii"
+ SESSION_PATH_HELP: "Folosiți doar în cazul în care alegeți un URL personalizat (rescrieți dosarul / domeniul site-ului)"
+ CUSTOM_BASE_URL: "URL de bază personalizat"
+ CUSTOM_BASE_URL_HELP: 'Utilizați doar în cazul în care rescrieți domeniul site-ului sau folosiți alt dosar față de cel utilizat în mod implicit de Grav. De eg: http://localhost'
+ FILEUPLOAD_PREVENT_SELF: '"%s" nu pot fi utilizate în afara paginilor.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Fișierul %s: %s nu a putut fi încărcat'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'Fișierul %s nu a putut fi mutat în "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'Anulează încărcarea'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Sunteţi sigur că doriţi să anulaţi această încărcare?'
+ DROPZONE_DEFAULT_MESSAGE: 'Adăugați fișierele aici sau Dați clic pe zona aceasta '
+ DROPZONE_FALLBACK_MESSAGE: 'Browser-ul Dvs. nu acceptă încărcarea prin tragere și eliberare.'
+ DROPZONE_FALLBACK_TEXT: 'Vă rugăm utilizați formularul de rezervă de mai jos pentru a încărca fișierele Dvs. precum în zilele de demult.'
+ DROPZONE_FILE_TOO_BIG: Fișierul este prea mare ({{filesize}}MiB). Mărimea maximă admisă este {{maxFilesize}}MiB.
+ DROPZONE_INVALID_FILE_TYPE: "Nu este permisă încărcarea acestui tip de fișier."
+ DROPZONE_MAX_FILES_EXCEEDED: "Nu mai puteţi încărca alte fişiere."
+ DROPZONE_REMOVE_FILE: "Ștergeți fișier"
+ DROPZONE_RESPONSE_ERROR: "Serverul a răspuns cu codul de {{statusCode}}."
+ PREMIUM_PRODUCT: "Versiunea Premium"
+ ADMIN_CACHING: "Permite adăugarea în memoria cache a Admin"
+ ADMIN_CACHING_HELP: "Memoria de cache în Admin poate fi controlată independent de memoria cache a site-ului"
+ DESTINATION_NOT_SPECIFIED: "Destinația nu a fost specificată"
+ UPLOAD_ERR_NO_TMP_DIR: "Lipsește un dosar temporar"
+ SESSION_SPLIT: "Împărțire sesiune"
+ SESSION_SPLIT_HELP: "Sesiuni independente și separate între site și alte module instalate (de eg: Admin)"
+ ERROR_FULL_BACKTRACE: "Eroare cu calea completă"
+ ERROR_SIMPLE: "Eroare simplă"
+ ERROR_SYSTEM: "Eroare de sistem"
+ IMAGES_AUTO_FIX_ORIENTATION: "Fixează orientarea automat"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Decide automat orientarea imaginii în funcție de detaliile Exif"
+ REDIS_SOCKET: "Port pentru Redis"
+ REDIS_SOCKET_HELP: "Portul pentru Redis"
+ NOT_SET: "Nu este setată"
+ PERMISSIONS: "Permisiuni"
+ NEVER_CACHE_TWIG: "Nu utiliza Cache-ul Twig niciodată"
+ NEVER_CACHE_TWIG_HELP: "Stochează în cache doar conținutul șoc procesează Twig de fiecare dată pentru pagini. Ignoră setările twig_first."
+ ALLOW_WEBSERVER_GZIP: "Permite WebServer Gzip"
+ ALLOW_WEBSERVER_GZIP_HELP: "Dezactivată în mod implicit. Dacă este activată, compresia Gzip/Defflate configurată pe WebServer va funcționa dar conexiunile Http nu vor fi închise cu evenimentul onShutDown() astfel paginile se vor încarca mai greu"
+ OFFLINE_WARNING: "Conexiunea la GPM nu poate fi stabilită"
+ CLEAR_IMAGES_BY_DEFAULT: "Eliberați impicit cache-ul pentru imagini"
+ CLEAR_IMAGES_BY_DEFAULT_HELP: "În mod implicit imaginile procesate sunt eliminate din cache pentru toate setările de eliberarea memoriei cache, însă acest lucru poate fi dezactivat"
+ CLI_COMPATIBILITY: "Compatibilitate CLI"
+ CLI_COMPATIBILITY_HELP: "Asigură folosirea doar a driverelor de Cache ne-volatile (fișiere, redis, memcache, etc...)"
+ REINSTALL_PLUGIN: "Reinstalati Modulul"
+ REINSTALL_THEME: "Reinstalaţi Tema"
+ REINSTALL_THE: "Reinstalaţi %s"
+ CONFIRM_REINSTALL: "Sunteţi sigur că doriţi să reinstalaţi această %s?"
+ REINSTALLED_SUCCESSFULLY: "%s reinstalat cu succes"
+ ERROR_REINSTALLING_THE: "Eroare la reinstalarea %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Pachet %s reinstalat cu succes"
+ REINSTALLATION_FAILED: "Reinstalarea nu a reușit"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "Versiunea instalată nu este cea mai recentă versiune. Făcând clic pe continue (continuare), veţi elimina versiunea curentă şi instala versiunea mai recent disponibilă"
+ TOOLS: "Unelte"
+ DIRECT_INSTALL: "Instalare directă"
+ NO_PACKAGE_NAME: "Numele pachetului nu este specificat"
+ PACKAGE_EXTRACTION_FAILED: "Extragerea pachetului eșuată"
+ NOT_VALID_GRAV_PACKAGE: "Nu este un pachet valid pentru Grav"
+ NAME_COULD_NOT_BE_DETERMINED: "Numele nu a putut fi determinat"
+ CANNOT_OVERWRITE_SYMLINKS: "Nu este posibilă suprascrierea legăturilor simbolice"
+ ZIP_PACKAGE_NOT_FOUND: "Pachetul ZIP nu a putut fi localizat"
+ GPM_OFFICIAL_ONLY: "Doar canalul oficial GPM"
+ GPM_OFFICIAL_ONLY_HELP: "Permite doar instalarea directă din canalul oficial GPM."
+ NO_CHILD_TYPE: "Nu există nici un tip de copil pentru această rutare rawroute"
+ SORTABLE_PAGES: "Pagini sortabile:"
+ UNSORTABLE_PAGES: "Pagini nesortabile:"
+ ADMIN_SPECIFIC_OVERRIDES: "Suprascrieri spcifice Administratorului"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Ordinea de afișare a copiilor"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "Ordinea în care copiii acestei pagini ar trebui să fie afișați în modul „view” al modulului de Admin"
+ PWD_PLACEHOLDER: "şir complex cel puțin 8 caractere lungime"
+ PWD_REGEX: "Parolă Regex"
+ PWD_REGEX_HELP: 'În mod implicit: Parola trebuie să conţină cel puţin un număr şi o majusculă, litere mici şi cel puţin 8 sau mai multe caractere'
+ USERNAME_PLACEHOLDER: "doar caractere mici, de ex: „admin”"
+ USERNAME_REGEX: "Numele de utilizator Regex"
+ USERNAME_REGEX_HELP: 'În mod implicit: Doar caractere mici, cifre, liniuţe şi linii de subliniere. 3 - 16 caractere'
+ CONTENT_PADDING: "Căptușeală pentru conținut"
+ CONTENT_PADDING_HELP: "Activează/dezactivează conţinut de căptușeală în jurul conţinutului pentru a oferi mai mult spaţiu"
+ ENABLE_AUTO_METADATA: "Auto metadate din Exif"
+ ENABLE_AUTO_METADATA_HELP: "Generează automat metadatele fişierelor de imagini cu informaţii exif"
+ 2FA_TITLE: "Autentificare dublu factor"
+ 2FA_INSTRUCTIONS: "##### Autentificare dublu factor\nAveți **2FA** activată pentru acest cont. Vă rugăm folosiți aplicația pentru **2FA** pentru a introduce **codul de 6 cifre** pentru a completa procesul de logare."
+ 2FA_REGEN_HINT: "regenerarea acestui secret necesită actualizarea aplicației de autentificare"
+ 2FA_LABEL: "Acces Administrator"
+ 2FA_FAILED: "Codul pentru Autentificarea dublu factor este invalid, vă rugăm încercați din nou..."
+ 2FA_ENABLED: "2FA activat"
+ 2FA_CODE_INPUT: "000000"
+ 2FA_SECRET: "2FA Secret"
+ 2FA_SECRET_HELP: "Scanați acest cod QR cu [aplicația de autentificare](https://learn.getgrav.org/admin-panel/2fa#apps). De asemenea este o idee bună să salvați secretul într-o locație sigură, în cazul in care aveți nevoie să reinstalați aplicația de autentificare. Verificați [documentația Grav](https://learn.getgrav.org/admin-panel/2fa) pentru mai multe informații "
+ 2FA_REGENERATE: "Regenerează"
diff --git a/user/plugins/admin/languages/ru.yaml b/user/plugins/admin/languages/ru.yaml
new file mode 100644
index 0000000..e46cf4a
--- /dev/null
+++ b/user/plugins/admin/languages/ru.yaml
@@ -0,0 +1,687 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Это бета-релиз! Вы используете это расширение на свой страх и риск..."
+ ADMIN_REPORT_ISSUE: "Нашли ошибку? Пожалуйста, сообщите об этом на GitHub."
+ EMAIL_FOOTER: "Работает на Grav - The Modern Flat File CMS"
+ LOGIN_BTN: "Логин"
+ LOGIN_BTN_FORGOT: "Забыл"
+ LOGIN_BTN_RESET: "Сбросить пароль"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Отправить инструкции по сбросу"
+ LOGIN_BTN_CLEAR: "Очистить форму"
+ LOGIN_BTN_CREATE_USER: "Создать пользователя"
+ LOGIN_LOGGED_IN: "Вы успешно вошли в систему"
+ LOGIN_FAILED: "Не удалось войти"
+ LOGGED_OUT: "Вы вышли из системы"
+ RESET_NEW_PASSWORD: "Пожалуйста, введите новый пароль …"
+ RESET_LINK_EXPIRED: "Истекло время сброса, пожалуйста, попробуйте ещё раз"
+ RESET_PASSWORD_RESET: "Пароль был сброшен"
+ RESET_INVALID_LINK: "Неверная ссылка восстановления пароля, пожалуйста, попробуйте ещё раз"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Инструкции для сброса пароля были высланы на ваш адрес электронной почты %s"
+ FORGOT_FAILED_TO_EMAIL: "Не удалось отправить инструкции по электронной почте, пожалуйста, повторите попытку позже"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Невозможно сбросить пароль для %s, не задан адрес электронной почты"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Пользователь с логином %s не существует"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Не удаётся сбросить пароль. Этот сайт не настроен для отправки электронной почты"
+ FORGOT_EMAIL_SUBJECT: "%s Запрос на восстановление пароля"
+ FORGOT_EMAIL_BODY: "Сброс пароля
Нажмите эту кнопку, чтобы сбросить свой пароль
С уважением,
%3$s
настройке PHP. Увеличте значение параметра настройки PHP `post_max_size`"
+ INSTALLING: "Установка"
+ LOADING: "Загрузка.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "Для начала должны быть удовлетворены следующие зависимости:"
+ ERROR_INSTALLING_PACKAGES: "Ошибка при установке пакетов"
+ INSTALLING_DEPENDENCIES: "Установка зависимостей..."
+ INSTALLING_PACKAGES: "Установка пакетов.."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Пакеты успешно установлены."
+ READY_TO_INSTALL_PACKAGES: "Всё готово для установки пакетов"
+ PACKAGES_NOT_INSTALLED: "Пакеты не установлены"
+ PACKAGES_NEED_UPDATE: "Пакеты уже установлены, но их версии слишком старые"
+ PACKAGES_SUGGESTED_UPDATE: "Пакеты уже установлены и их версии в порядке, но они будут обновлены, чтобы использовать последние версии"
+ REMOVE_THE: "Удалить %s"
+ CONFIRM_REMOVAL: "Хотите удалить %s?"
+ REMOVED_SUCCESSFULLY: "%s успешно удалён"
+ ERROR_REMOVING_THE: "Ошибка удаления %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "%s требует следующие зависимости, которые не нужны в других установленных пакетах. Если не используете их, можно удалить их прямо отсюда."
+ READY_TO_UPDATE_PACKAGES: "Всё готово для обновления пакетов"
+ ERROR_UPDATING_PACKAGES: "Ошибка при обновлении пакетов"
+ UPDATING_PACKAGES: "Обновление пакетов.."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Пакеты успешно обновлены."
+ UPDATING: "Обновление"
+ GPM_RELEASES: "Релизы GPM"
+ GPM_RELEASES_HELP: "Выберите вариант «Testing» для установки бета-релизов или тестовых версий"
+ GPM_METHOD: "Метод удаленного обновления"
+ GPM_METHOD_HELP: "При использовании значения «Авто» Grav определит, доступна ли функция fopen и использует её, в противном случае будет использована cURL. Чтобы принудительно использовать один из вариантов, укажите его в настройках."
+ GPM_VERIFY_PEER: "Удаленная проверка пиров (SSL)"
+ GPM_VERIFY_PEER_HELP: "Некоторые провайдеры не могут проверить подлинность удалённого узла getgrav.org. Если это так, отключение этой настройки может помочь."
+ AUTO: "Авто"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Стабильная версия"
+ TESTING: "Тестирование"
+ FRONTMATTER_PROCESS_TWIG: "Обрабатывать Twig в обобщенных страницах"
+ FRONTMATTER_PROCESS_TWIG_HELP: "При включении вы можете использовать конфигурационные переменные Twig в обобщенных страницах"
+ FRONTMATTER_IGNORE_FIELDS: "Игнорировать обобщенные поля"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Некоторые обобщенные поля могут содержать Twig, но не должны быть обработаны как «формы»"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Пакет %s успешно установлен"
+ NEEDS_GRAV_1_1: " Вы используете Grav v%s. Необходимо обновить её до последней версии Grav v1.1.x для обеспечения совместимости. Это может потребовать переключения в Тестовый GPM режим в Конфигурации системы."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Установка сортировки родителя, изменение порядка отключено"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Страница не отображаема, изменение порядка отключено"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "Сортировка через админ-панель не поддерживается, поскольку используется более 200 потомков"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "На этой странице отключен порядок, поскольку Числовой префикс папки не включен"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'Примечание: добавление файлов невозможно, пока вы не сохраните страницу. Кликните «Сохранить» в верхней части админки.'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'Примечание: страница должна быть сохранена перед загрузкой файлов.'
+ DROP_FILES_HERE_TO_UPLOAD: "Переместите файлы сюда или нажмите на эту область"
+ INSERT: "Вставить"
+ UNDO: "Отменить"
+ REDO: "Повторить"
+ HEADERS: "Заголовки"
+ BOLD: "Жирный"
+ ITALIC: "Курсив"
+ STRIKETHROUGH: "Перечеркнутый"
+ SUMMARY_DELIMITER: "Разделитель"
+ LINK: "Ссылка"
+ IMAGE: "Изображение"
+ BLOCKQUOTE: "Цитата"
+ UNORDERED_LIST: "Маркированный список"
+ ORDERED_LIST: "Нумерованный список"
+ EDITOR: "Редактор"
+ PREVIEW: "Просмотреть"
+ FULLSCREEN: "Полноэкранный режим"
+ MODULAR: "Модульная"
+ NON_ROUTABLE: "Немаршрутизируемая"
+ NON_MODULAR: "Немодульная"
+ NON_VISIBLE: "Невидимая"
+ NON_PUBLISHED: "Неопубликованная"
+ CHARACTERS: "символов"
+ PUBLISHING: "Публикация"
+ NOTIFICATIONS: "Уведомления"
+ MEDIA_TYPES: "Типы вложений"
+ IMAGE_OPTIONS: "Параметры изображения"
+ MIME_TYPE: "Mime-тип"
+ THUMB: "Миниатюра"
+ TYPE: "Тип"
+ FILE_EXTENSION: "Расширение файла"
+ LEGEND: "Обозначения"
+ MEMCACHE_SERVER: "Сервер Memcache"
+ MEMCACHE_SERVER_HELP: "Адрес сервера Memcache"
+ MEMCACHE_PORT: "Порт Memcache"
+ MEMCACHE_PORT_HELP: "Порт сервера Memcache"
+ MEMCACHED_SERVER: "Сервер Memcached"
+ MEMCACHED_SERVER_HELP: "Адрес сервера Memcached"
+ MEMCACHED_PORT: "Порт Memcached"
+ MEMCACHED_PORT_HELP: "Порт сервера Memcached"
+ REDIS_SERVER: "Сервер Redis"
+ REDIS_SERVER_HELP: "Адрес сервера Redis"
+ REDIS_PORT: "Порт Redis"
+ REDIS_PORT_HELP: "Порт сервера Redis"
+ REDIS_PASSWORD: "Redis пароль/секрет"
+ ALL: "все"
+ FROM: "от"
+ TO: "к"
+ RELEASE_DATE: "Дата выпуска"
+ SORT_BY: "Сортировать по"
+ RESOURCE_FILTER: "Фильтр..."
+ FORCE_SSL: "Принудительный SSL"
+ FORCE_SSL_HELP: "Принудительно включить SSL по всему сайту. Если включено, при открытии сайта по HTTP Grav перенаправит на HTTPS"
+ NEWS_FEED: "Лента новостей"
+ EXTERNAL_URL: "Внешний URL"
+ SESSION_PATH: "Путь сессии"
+ SESSION_PATH_HELP: "Используйте, только если выбран пользовательский базовый URL (вы изменяли домен сайта или подпапку)"
+ CUSTOM_BASE_URL: "Пользовательский базовый URL"
+ CUSTOM_BASE_URL_HELP: 'Используйте, если хотите переписать домен сайта или использовать подпапку, отличную от той, что использует Grav. Пример: http://localhost'
+ FILEUPLOAD_PREVENT_SELF: 'Нельзя использовать "%s" за пределами страницы.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Не удается загрузить файл %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'Не удается переместить файл %s в "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'Отменить загрузку'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Хотите отменить эту загрузку?'
+ DROPZONE_DEFAULT_MESSAGE: 'Перетащите файлы сюда или нажмите на эту область'
+ DROPZONE_FALLBACK_MESSAGE: 'Ваш браузер не поддерживает жест перетаскивания для загрузки файлов.'
+ DROPZONE_FALLBACK_TEXT: 'Пожалуйста, используйте резервную форму ниже, чтобы загрузить файлы как раньше.'
+ DROPZONE_FILE_TOO_BIG: 'Файл слишком велик ({{filesize}}MiB). Максимальный допустимый размер: {{maxFilesize}}MiB.'
+ DROPZONE_INVALID_FILE_TYPE: "Вы не можете загружать файлы этого типа."
+ DROPZONE_MAX_FILES_EXCEEDED: "Вы не можете загрузить больше файлов."
+ DROPZONE_REMOVE_FILE: "Удалить файл"
+ DROPZONE_RESPONSE_ERROR: "Сервер ответил с кодом {{statusCode}}."
+ PREMIUM_PRODUCT: "Премиум"
+ ADMIN_CACHING: "Включить кэширование админки"
+ ADMIN_CACHING_HELP: "Кэшированием в админке можно управлять независимо от основного сайта"
+ DESTINATION_NOT_SPECIFIED: "Пункт назначения не указан"
+ UPLOAD_ERR_NO_TMP_DIR: "Отсутствует временная директория"
+ SESSION_SPLIT: "Раздельные сессии"
+ SESSION_SPLIT_HELP: "Отдельные сессии для сайта и других плагинов (такими как Admin)"
+ ERROR_FULL_BACKTRACE: "Полная трассировка ошибки"
+ ERROR_SIMPLE: "Простая ошибка"
+ ERROR_SYSTEM: "Системная ошибка"
+ IMAGES_AUTO_FIX_ORIENTATION: "Автоориентация изображений"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Автоматическое исправление ориентации изображений на основе данных Exif"
+ REDIS_SOCKET: "Сокет Redis"
+ REDIS_SOCKET_HELP: "Сокет Redis"
+ NOT_SET: "Не задано"
+ PERMISSIONS: "Разрешения"
+ NEVER_CACHE_TWIG: "Никогда не кэшировать Twig"
+ NEVER_CACHE_TWIG_HELP: "Кэшировать только содержание и обрабатывать Twig каждый раз при загрузке страниц. Игнорирует параметр twig_first."
+ ALLOW_WEBSERVER_GZIP: "Разрешить сжатие Gzip на сервере"
+ ALLOW_WEBSERVER_GZIP_HELP: "Выключено по умолчанию. При включении будет работать сконфигурированное на сервере сжатие Gzip/Deflate, но соединение http не будет закрываться перед событием onShutDown(), приводящим к замедлению загрузки страницы"
+ OFFLINE_WARNING: "Невозможно установить подключение к GPM"
+ CLEAR_IMAGES_BY_DEFAULT: "Очищать кэш изображений"
+ CLEAR_IMAGES_BY_DEFAULT_HELP: "По умолчанию обработанные изображения очищаются при любых чистках кэша, это можно отключить"
+ CLI_COMPATIBILITY: "Совместимость с интерфейсом командной строки (CLI)"
+ CLI_COMPATIBILITY_HELP: "Гарантирует использование долговременных драйверов кэширования (file, redis, memcache и т. д.)"
+ REINSTALL_PLUGIN: "Переустановить плагин"
+ REINSTALL_THEME: "Переустановить тему"
+ REINSTALL_THE: "Переустановить %s"
+ CONFIRM_REINSTALL: "Хотите переустановить %s?"
+ REINSTALLED_SUCCESSFULLY: "%s успешно переустановлен(а)"
+ ERROR_REINSTALLING_THE: "Ошибка переустановки %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Пакет %s успешно переустановлен"
+ REINSTALLATION_FAILED: "Переустановка не удалась"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "Установленная версия не является последней. Нажмите на кнопку «Продолжить», чтобы удалить текущую версию и установить самую свежую"
+ TOOLS: "Сервис"
+ DIRECT_INSTALL: "Прямая установка"
+ NO_PACKAGE_NAME: "Имя пакета не указано"
+ PACKAGE_EXTRACTION_FAILED: "Не удалось извлечь пакет"
+ NOT_VALID_GRAV_PACKAGE: "Недействительный пакет Grav"
+ NAME_COULD_NOT_BE_DETERMINED: "Имя не может быть определено"
+ CANNOT_OVERWRITE_SYMLINKS: "Невозможно перезаписать символические ссылки"
+ ZIP_PACKAGE_NOT_FOUND: "ZIP-пакет не найден"
+ GPM_OFFICIAL_ONLY: "Только официальный GPM"
+ GPM_OFFICIAL_ONLY_HELP: "Разрешать прямые установки только из официального хранилища GPM."
+ NO_CHILD_TYPE: "Нет дочернего типа для этого маршрута"
+ SORTABLE_PAGES: "Сортируемые страницы:"
+ UNSORTABLE_PAGES: "Несортируемые страницы:"
+ ADMIN_SPECIFIC_OVERRIDES: "Специальные переопределения"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Порядок отображения дочерних страниц"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "Порядок отображения дочерних элементов этой страницы в окне «Страницы» плагина Admin"
+ PWD_PLACEHOLDER: "Сложная строка длиной не менее 8 символов"
+ PWD_REGEX: "Пароль, регулярка"
+ PWD_REGEX_HELP: 'По умолчанию: Пароль должен содержать как минимум одно число, одну прописную и строчную буквы, и как минимум 8 символов.'
+ USERNAME_PLACEHOLDER: "только строчные символы, н. п. 'admin'"
+ USERNAME_REGEX: "Имя пользователя, регулярка"
+ USERNAME_REGEX_HELP: 'По умолчанию: Только строчные символы, цифры, дефисы и подчеркивания. 3-16 символов.'
+ CONTENT_PADDING: "Отступы для содержимого"
+ CONTENT_PADDING_HELP: "Включить/отключить добавление контента вокруг области содержимого, чтобы обеспечить больше места."
+ ENABLE_AUTO_METADATA: "Авто метаданные из Exif"
+ ENABLE_AUTO_METADATA_HELP: "Автоматическое создание файлов метаданных для изображений с помощью информации из Exif."
+ 2FA_INSTRUCTIONS: "##### 2-факторная аутентификация\nУ вас включена **2FA**. Пожалуйста, используйте ваше приложение **2FA**, чтобы ввести текущий **6-значный код**, для завершения процесса входа в систему."
+ 2FA_FAILED: "Недействительный код 2FA, пожалуйста попробуйте еще раз..."
+ 2FA_ENABLED: "2FA включен"
+ 2FA_SECRET_HELP: "Сканируйте этот QR-код в свое [приложение аутентификации] (https://learn.getgrav.org/admin-panel/2fa#apps). Также рекомендуется резервировать секрет в безопасном месте, если вам нужно переустановить приложение. Для получения дополнительной информации просмотрите документы [Grav docs] (https://learn.getgrav.org/admin-panel/2fa) "
diff --git a/user/plugins/admin/languages/sk.yaml b/user/plugins/admin/languages/sk.yaml
new file mode 100644
index 0000000..2cd8316
--- /dev/null
+++ b/user/plugins/admin/languages/sk.yaml
@@ -0,0 +1,500 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Toto je Beta verzia! Používajte v ostrej prevádzke na vlastné riziko..."
+ ADMIN_REPORT_ISSUE: "Vyskytla sa chyba? Prosím, nahláste to na GitHub."
+ EMAIL_FOOTER: "Poháňaný Grav-om - moderný flat-file redakčný systém"
+ LOGIN_BTN: "Prihlasovacie meno"
+ LOGIN_BTN_FORGOT: "Zabudli ste"
+ LOGIN_BTN_RESET: "Obnoviť heslo"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Poslať pokyny na obnovenie"
+ LOGIN_BTN_CLEAR: "Vyčistiť formulár"
+ LOGIN_BTN_CREATE_USER: "Vytvoriť používateľa"
+ LOGIN_LOGGED_IN: "Boli ste úspešne prihlásení"
+ LOGIN_FAILED: "Prihlásenie neúspešné"
+ LOGGED_OUT: "Boli ste odhlásení"
+ RESET_NEW_PASSWORD: "Zadajte nové heslo …"
+ RESET_LINK_EXPIRED: "Platnosť odkazu pre obnovenie hesla vypršala, prosím skúste to znovu"
+ RESET_PASSWORD_RESET: "Heslo bolo obnovené"
+ RESET_INVALID_LINK: "Neplatný odkaz pre obnovenie hesla. Prosím, skúste to znovu"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Pokyny na obnovenie hesla boli odoslané prostredníctvom e-mailu pre %s"
+ FORGOT_FAILED_TO_EMAIL: "Nepodarilo sa odoslanie emailu s pokynmi, skúste to prosím neskôr"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Nemožno obnoviť heslo pre %s, nie je nastavená žiadna e-mailová adresa"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Používateľ s prihlasovacím menom %s neexistuje"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Nemožno vytvoriť nové heslo. Táto stránka nie je nakonfigurovaná na odosielanie e-mailov"
+ FORGOT_EMAIL_SUBJECT: "%s žiadosť obnoviť heslo"
+ MANAGE_PAGES: "Spravovať stránky"
+ CONFIGURATION: "Nastavenia"
+ PAGES: "Stránky"
+ PLUGINS: "Rozšírenia"
+ PLUGIN: "Rozšírenie"
+ THEMES: "Šablóny"
+ LOGOUT: "Odhlásiť sa"
+ BACK: "Späť"
+ NEXT: "Ďalej"
+ PREVIOUS: "Späť"
+ ADD_PAGE: "Pridať stránku"
+ ADD_MODULAR: "Pridať modul"
+ MOVE: "Presunúť"
+ DELETE: "Odstrániť"
+ VIEW: "Náhľad"
+ SAVE: "Uložiť"
+ NORMAL: "Normálna"
+ EXPERT: "Expert"
+ EXPAND_ALL: "Rozbaliť všetko"
+ COLLAPSE_ALL: "Zbaliť všetko"
+ ERROR: "Chyba"
+ CLOSE: "Zavrieť"
+ CANCEL: "Zrušiť"
+ CONTINUE: "Pokračovať"
+ MODAL_DELETE_PAGE_CONFIRMATION_REQUIRED_TITLE: "Vyžadované potvrdenie"
+ MODAL_CHANGED_DETECTED_TITLE: "Zistené zmeny"
+ MODAL_CHANGED_DETECTED_DESC: "Neuložili ste zmeny. Ste si istí, že chcete odísť bez uloženia?"
+ MODAL_DELETE_FILE_CONFIRMATION_REQUIRED_TITLE: "Vyžadované potvrdenie"
+ MODAL_DELETE_FILE_CONFIRMATION_REQUIRED_DESC: "Naozaj chcete odstrániť tento súbor? Túto akciu nie je možné vrátiť späť."
+ ADD_FILTERS: "Pridať filtre"
+ SEARCH_PAGES: "Hľadať stránky"
+ VERSION: "Verzia"
+ WAS_MADE_WITH: "Bola vytvorená s"
+ BY: "Od"
+ UPDATE_THEME: "Aktualizovať tému"
+ UPDATE_PLUGIN: "Aktualizovať rozšírenie"
+ OF_THIS_THEME_IS_NOW_AVAILABLE: "tejto šablóny je k dispozícíi"
+ OF_THIS_PLUGIN_IS_NOW_AVAILABLE: "tohto rozšírenia je k dispozícíi"
+ AUTHOR: "Autor"
+ HOMEPAGE: "Domovská stránka"
+ DEMO: "Demo"
+ BUG_TRACKER: "Hlásenie chýb"
+ KEYWORDS: "Kľúčové slová"
+ LICENSE: "Licencia"
+ DESCRIPTION: "Popis"
+ README: "Súbor Readme"
+ REMOVE_THEME: "Odstrániť šablónu"
+ INSTALL_THEME: "Nainštalovať šablónu"
+ THEME: "Šablóna"
+ BACK_TO_THEMES: "Späť na šablóny"
+ BACK_TO_PLUGINS: "Späť na rozšírenia"
+ CHECK_FOR_UPDATES: "Skontrolovať aktualizácie"
+ ADD: "Pridať"
+ CLEAR_CACHE: "Vyprázdniť vyrovnávaciu pamäť"
+ CLEAR_CACHE_ALL_CACHE: "Všetky Cache"
+ CLEAR_CACHE_IMAGES_ONLY: "Iba obrázky"
+ CLEAR_CACHE_CACHE_ONLY: "Iba cache"
+ DASHBOARD: "Panel"
+ UPDATES_AVAILABLE: "K dispozícii je nová aktualizácia"
+ DAYS: "Dní"
+ UPDATE: "Aktualizovať"
+ BACKUP: "Zálohovanie"
+ STATISTICS: "Štatistiky"
+ TODAY: "Dnes"
+ WEEK: "Týždeň"
+ MONTH: "Mesiac"
+ LATEST_PAGE_UPDATES: "Posledná aktualizácia stránky"
+ MAINTENANCE: "Údržba"
+ UPDATED: "Aktualizované"
+ MON: "Po"
+ TUE: "Ut"
+ WED: "St"
+ THU: "Št"
+ FRI: "Pi"
+ SAT: "So"
+ SUN: "Ne"
+ COPY: "Kopírovať"
+ EDIT: "Upraviť"
+ CREATE: "Vytvoriť"
+ GRAV_ADMIN: "Grav administrácia"
+ GRAV_OFFICIAL_PLUGIN: "Oficiálne rozšírenie Grav"
+ GRAV_OFFICIAL_THEME: "Oficiálna šablóna Grav"
+ REMOVE_PLUGIN: "Odstrániť rozšírenie"
+ INSTALL_PLUGIN: "Nainštalovať rozšírenie"
+ AVAILABLE: "Dostupné"
+ INSTALLED: "Inštalované"
+ INSTALL: "Inštalácia"
+ ACTIVE_THEME: "Aktívna Šablóna"
+ SWITCHING_TO: "Prepnúť na"
+ SWITCHING_TO_DESCRIPTION: "Prepnutím na inú šablónu nejde zaručiť, že budú podporované všetky rozloženia stránok, čo môže spôsobiť ich nedostupnosť."
+ SWITCHING_TO_CONFIRMATION: "Chcete pokračovať a prepnúť na inú šablónu"
+ CREATE_NEW_USER: "Vytvoriť nového používateľa"
+ REMOVE_USER: "Odstrániť používateľa"
+ ACCESS_DENIED: "Prístup odmietnutý"
+ ACCOUNT_NOT_ADMIN: "vaše konto nemá oprávnenia správcu"
+ PHP_INFO: "PHP Info"
+ INSTALLER: "Inštalátor"
+ AVAILABLE_THEMES: "Dostupné šablóny"
+ AVAILABLE_PLUGINS: "Dostupné rozšírenia"
+ INSTALLED_THEMES: "Inštalované šablóny"
+ INSTALLED_PLUGINS: "Nainštalované rozšírenia"
+ BROWSE_ERROR_LOGS: "Prehliadať chybové hlášky"
+ SITE: "Stránka"
+ INFO: "Info"
+ SYSTEM: "Systém"
+ USER: "Používateľ"
+ ADD_ACCOUNT: "Pridať účet"
+ SWITCH_LANGUAGE: "Prepnúť jazyk"
+ SUCCESSFULLY_ENABLED_PLUGIN: "Úspešne povolené rozšírenie"
+ SUCCESSFULLY_DISABLED_PLUGIN: "Úspešne zakázané rozšírenie"
+ SUCCESSFULLY_CHANGED_THEME: "Úspešne zmenená predvolená šablóna"
+ INSTALLATION_FAILED: "Inštalácia zlyhala"
+ INSTALLATION_SUCCESSFUL: "Inštalácia prebehla úspešne"
+ UNINSTALL_FAILED: "Odinštalovanie zlyhalo"
+ UNINSTALL_SUCCESSFUL: "Odinštalovanie bolo úspešné"
+ SUCCESSFULLY_SAVED: "Úspešne uložené"
+ SUCCESSFULLY_COPIED: "Úspešne skopírované"
+ REORDERING_WAS_SUCCESSFUL: "Zmena poradia bola úspešná"
+ SUCCESSFULLY_DELETED: "Úspešne odstránené"
+ SUCCESSFULLY_SWITCHED_LANGUAGE: "Úspešne zmenený jazyk"
+ INSUFFICIENT_PERMISSIONS_FOR_TASK: "Nemáte dostatočné povolenia na vykonanie úlohy"
+ CACHE_CLEARED: "Vyrovnávacia pamäť bola vymazaná"
+ METHOD: "Metóda"
+ ERROR_CLEARING_CACHE: "Chyba pri vymazávaní vyrovnávacej pamäte"
+ AN_ERROR_OCCURRED: "Vyskytla sa chyba"
+ YOUR_BACKUP_IS_READY_FOR_DOWNLOAD: "Záloha je pripravená na stiahnutie"
+ DOWNLOAD_BACKUP: "Stiahni zálohu"
+ PAGES_FILTERED: "Stránky vyfiltrované"
+ NO_PAGE_FOUND: "Žiadna stránka nenájdená"
+ INVALID_PARAMETERS: "Neplatné parametre"
+ NO_FILES_SENT: "Žiadne súbory neboli odoslané"
+ UNKNOWN_ERRORS: "Neznáme chyby"
+ UNSUPPORTED_FILE_TYPE: "Nepodporovaný typ súboru"
+ FAILED_TO_MOVE_UPLOADED_FILE: "Nepodarilo sa presunúť nahraný súbor."
+ FILE_UPLOADED_SUCCESSFULLY: "Súbor bol úspešne nahraný"
+ FILE_DELETED: "Súbor bol vymazaný"
+ FILE_COULD_NOT_BE_DELETED: "Súbor sa nedá odstrániť"
+ FILE_NOT_FOUND: "Súbor sa nenašiel"
+ NO_FILE_FOUND: "Nenašli sa žiadne súbory"
+ GRAV_WAS_SUCCESSFULLY_UPDATED_TO: "Grav bol úspešne aktualizovaný na"
+ GRAV_UPDATE_FAILED: "Aktualizácia Grav zlyhala"
+ EVERYTHING_UPDATED: "Všetko aktualizované"
+ UPDATES_FAILED: "Aktualizácia zlyhala"
+ AVATAR_BY: "Avatar od"
+ LAST_BACKUP: "Posledná záloha"
+ FULL_NAME: "Celé meno"
+ USERNAME: "Meno používateľa"
+ EMAIL: "E-mail"
+ USERNAME_EMAIL: "Používateľské meno alebo email"
+ PASSWORD: "Heslo"
+ PASSWORD_CONFIRM: "Potvrdenie hesla"
+ TITLE: "Názov"
+ LANGUAGE: "Jazyk"
+ ACCOUNT: "Účet"
+ EMAIL_VALIDATION_MESSAGE: "Musí byť platná e-mailová adresa"
+ PASSWORD_VALIDATION_MESSAGE: "Heslo musí obsahovať najmenej jedno číslo a jedno veľké písmeno a malé písmeno a aspoň 8 znakov"
+ LANGUAGE_HELP: "Obľúbený jazyk"
+ MEDIA: "Médiá"
+ DEFAULTS: "Predvolené nastavenia"
+ SITE_TITLE: "Nadpis stránky"
+ SITE_TITLE_PLACEHOLDER: "Celý názov stránky"
+ SITE_TITLE_HELP: "Predvolený názov pre vaše stránky, často používaný v šablónach"
+ SITE_DEFAULT_LANG: "Predvolený jazyk"
+ DEFAULT_AUTHOR: "Predvolený autor"
+ DEFAULT_AUTHOR_HELP: "Predvolené meno autora, často používajú šablóny alebo obsah stránky"
+ DEFAULT_EMAIL: "Predvolený e-mail"
+ DEFAULT_EMAIL_HELP: "Predvolený e-mail pre odkazovanie v šablónach alebo stránkach"
+ TAXONOMY_TYPES: "Typy taxonómie"
+ TAXONOMY_TYPES_HELP: "Typy taxonómií musia byť definované tu, ak ich chcete používať stránky"
+ PAGE_SUMMARY: "Sumár stránky"
+ ENABLED: "Povolené"
+ ENABLED_HELP: "Umožňujú zhrnutie stránky (súhrn vráti rovnaký obsah ako obsah stránky)"
+ 'YES': "Áno"
+ 'NO': "Nie"
+ SUMMARY_SIZE: "Veľkosť sumáru"
+ SUMMARY_SIZE_HELP: "Počet znakov, ktoré slúžia ako sumár stránky"
+ FORMAT: "Formát"
+ FORMAT_HELP: "krátky = použitie prvého výskytu oddeľovača alebo veľkosť; dlhý = ignorovať oddeľovač"
+ SHORT: "Krátky"
+ LONG: "Dlhý"
+ DELIMITER: "Oddeľovač"
+ DELIMITER_HELP: "Oddeľovač sumáru (predvolené \"===\")"
+ METADATA: "Metadáta"
+ METADATA_HELP: "Predvolené hodnoty metaúdajov, ktoré sa zobrazia na každej stránke, pokiaľ nie sú prepísané v stránke"
+ NAME: "Meno"
+ CONTENT: "Obsah"
+ REDIRECTS_AND_ROUTES: "Presmerovanie & trasy"
+ CUSTOM_REDIRECTS: "Vlastné presmerovania"
+ CUSTOM_REDIRECTS_HELP: "linky na presmerovanie na iné stránky. Platí štandardné Regex nahradenie"
+ CUSTOM_REDIRECTS_PLACEHOLDER_KEY: "/váš/alias"
+ CUSTOM_REDIRECTS_PLACEHOLDER_VALUE: "/vaše/presmerovanie"
+ CUSTOM_ROUTES: "Vlastné cesty"
+ CUSTOM_ROUTES_HELP: "linky ako aliasy iných stránok. Platí štandardné Regex nahradenie"
+ CUSTOM_ROUTES_PLACEHOLDER_KEY: "/váš/alias"
+ CUSTOM_ROUTES_PLACEHOLDER_VALUE: "/vaša/cesta"
+ FILE_STREAMS: "Súbory"
+ DEFAULT: "Pôvodné"
+ PAGE_MEDIA: "Médiá stránky"
+ OPTIONS: "Možnosti"
+ PUBLISHED: "Uverejnené"
+ PUBLISHED_HELP: 'Štandardne je stránka zverejnená pokiaľ nenastavíte ''published: false'', ''publish_date'' do budúcnosti alebo ''unpublish_date'' do minulosti'
+ DATE: "Dátum"
+ DATE_HELP: "Ukazovateľ dátumu umožňuje nastaviť konkrétny dátum priradený k tejto stránke."
+ PUBLISHED_DATE: "Dátum publikovania"
+ PUBLISHED_DATE_HELP: "Môže poskytnúť dátum pre automatické uverejnenie."
+ UNPUBLISHED_DATE: "Dátum skrytia"
+ UNPUBLISHED_DATE_HELP: "Môže poskytnúť dátum pre automatické skrytie článku."
+ ROBOTS: "Roboty"
+ TAXONOMIES: "Taxonómie"
+ TAXONOMY: "Taxonómia"
+ ADVANCED: "Pokročilé"
+ SETTINGS: "Nastavenia"
+ FOLDER_NUMERIC_PREFIX: "Číselná predpona priečinku"
+ FOLDER_NUMERIC_PREFIX_HELP: "Číselná predpona umožňuje manuálne zoradenie"
+ FOLDER_NAME: "Názov priečinku"
+ FOLDER_NAME_HELP: "Názov, ktorý bude použitý ako názov priečinku v súborovom systéme"
+ PARENT: "Rodič"
+ DEFAULT_OPTION_ROOT: "-Koreň-"
+ DEFAULT_OPTION_SELECT: "-Vyberte-"
+ DISPLAY_TEMPLATE: "Šablóna zobrazenia"
+ DISPLAY_TEMPLATE_HELP: "Názov šablóny, ktorá bude použitá pre zobrazenie tejto stránky"
+ BODY_CLASSES: "CSS triedy pre telo"
+ ORDERING: "Zoradenie"
+ PAGE_ORDER: "Poradie stránok"
+ OVERRIDES: "Nahradenia"
+ MENU: "Menu"
+ MENU_HELP: "Reťazec, ktorý bude zobrazený v menu. Ak nie je nastavený, použije sa titulok."
+ SLUG: "Slug"
+ SLUG_HELP: "Slug umožňuje nastaviť časť URL pre túto stránku"
+ SLUG_VALIDATE_MESSAGE: "Slug môže obsahovať iba znaky malej abecedy, čísla a pomlčky"
+ PROCESS: "Zpracovanie stránky"
+ PROCESS_HELP: "Nastavte typ spracovanie stránky. Je možné nastaviť typ jednotlivo aj pre stránky"
+ DEFAULT_CHILD_TYPE: "Predvolený typ podstránky"
+ USE_GLOBAL: "Použi globálne"
+ ROUTABLE: "Má vlastnú URL"
+ ROUTABLE_HELP: "Určuje, či je táto stránka dostupná vlastnou URL"
+ CACHING: "Použiť cache"
+ VISIBLE: "Viditeľné"
+ VISIBLE_HELP: "Určuje, či stránka je viditeľná v navigácii."
+ DISABLED: "Vypnuté"
+ ITEMS: "Položky"
+ ORDER_BY: "Zoradiť podľa"
+ ORDER: "Poradie"
+ FOLDER: "Priečinok"
+ ASCENDING: "Vzostupne"
+ DESCENDING: "Zostupne"
+ ADD_MODULAR_CONTENT: "Pridať modulárny obsah"
+ PAGE_TITLE: "Nadpis stránky"
+ PAGE_TITLE_HELP: "Názov stránky"
+ PAGE: "Stránka"
+ MODULAR_TEMPLATE: "Modulárna šablóna"
+ FRONTMATTER: "Frontmatter"
+ FILENAME: "Názov súboru"
+ PARENT_PAGE: "Nadradená stránka"
+ HOME_PAGE: "Domovská stránka"
+ HOME_PAGE_HELP: "Stránka, ktorú Grav použije ako predvolenú"
+ DEFAULT_THEME: "Predvolená šablóna"
+ DEFAULT_THEME_HELP: "Nastaviť predvolenú šablónu pre Grav (predvolená je Antimatter)"
+ TIMEZONE: "Časové pásmo"
+ TIMEZONE_HELP: "Prepísať predvolené časové pásmo servera"
+ SHORT_DATE_FORMAT: "Krátke zobrazenie formátu dátumu"
+ SHORT_DATE_FORMAT_HELP: "Nastaviť formát krátkeho dátumu, ktorý môže byť použitý v šablónach"
+ LONG_DATE_FORMAT: "Zobrazovať dlhý formát dátumu"
+ LONG_DATE_FORMAT_HELP: "Nastaviť formát dlhého dátumu, ktorý môžu byť použitý v šablónach"
+ DEFAULT_ORDERING: "Predvolené zoradenie"
+ DEFAULT_ORDERING_HELP: "Stránky budú v zozname zobrazené v tomto poradí, ak nie je poradie nahradené v rámci jednotlivých stránok"
+ DEFAULT_ORDERING_DEFAULT: "Predvolené - podľa názvu priečinka"
+ DEFAULT_ORDERING_TITLE: "Titulok - podľa titulku nastaveného v hlavičke"
+ DEFAULT_ORDERING_DATE: "Dátum - dátum poľa hlavičky"
+ DEFAULT_ORDER_DIRECTION: "Predvolený smer zoradenia"
+ DEFAULT_ORDER_DIRECTION_HELP: "Smer zoradenia v zozname stránok"
+ DEFAULT_PAGE_COUNT: "Predvolený počet stránok"
+ DEFAULT_PAGE_COUNT_HELP: "Predvolený počet zobrazených stránok v zozname"
+ DATE_BASED_PUBLISHING: "Zverejnenie podľa dátumu"
+ EVENTS: "Udalosti"
+ EVENTS_HELP: "Povoliť alebo zakázať konkrétne akcie. Vypnutie môže poškodiť funkčnosť rozšírení"
+ REDIRECT_DEFAULT_ROUTE: "Presmerovanie predvolenej cesty"
+ LANGUAGES: "Jazyky"
+ SUPPORTED: "Podporované"
+ SUPPORTED_HELP: "Čiarkou oddelený zoznam dvojznakových jazykových kódov (napríklad \"en, fr, de\")"
+ TRANSLATIONS_ENABLED: "Preklady povolené"
+ TRANSLATIONS_ENABLED_HELP: "Podpora prekladov Grav, modulov a rozšírení"
+ TRANSLATIONS_FALLBACK: "Hľadať v ostatných jazykoch"
+ TRANSLATIONS_FALLBACK_HELP: "Ak neexistuje aktívny jazyk, prejsť preklady v ostatných jazykoch"
+ ACTIVE_LANGUAGE_IN_SESSION: "Aktívny jazyk relácie"
+ ACTIVE_LANGUAGE_IN_SESSION_HELP: "Uložiť aktívny jazyk v relácii"
+ HTTP_HEADERS: "HTTP hlavičky"
+ EXPIRES: "Vyprší"
+ EXPIRES_HELP: "Nastaví čas vypršania v hlavičke. Hodnota je v sekundách."
+ LAST_MODIFIED: "Naposledy upravené"
+ LAST_MODIFIED_HELP: "Určuje čas poslednej úpravy v hlavičke, ktorý môže pomôcť pri optimalizácii kešovania proxy servera a prehliadača"
+ ETAG: "ETag"
+ ETAG_HELP: "Nastaví 'ETag' záznam v HTTP hlavičke, ktorý pomáha rozoznať kedy bola stránka naposledy upravená"
+ VARY_ACCEPT_ENCODING: "Vary: Accept Encoding"
+ VARY_ACCEPT_ENCODING_HELP: 'Nastaví ''Vary: Accept Encoding'' záznam v HTTP hlavičke, ktorý pomáha s kešovaním na strane proxy a CDN'
+ MARKDOWN_EXTRA_HELP: "Povoliť štandardné nastavenie syntaxe Markdown Extra - https://michelf.ca/projects/php-markdown/extra/"
+ AUTO_LINE_BREAKS: "Automatické zalamovanie riadkov"
+ AUTO_LINE_BREAKS_HELP: "Zapnutie podpory pre automatické zalamovanie v markdown"
+ AUTO_URL_LINKS: "Automatické URL prepojenia"
+ AUTO_URL_LINKS_HELP: "Povoliť automatickú konverziu adries URL do HTML hypertextových prepojení"
+ ESCAPE_MARKUP: "Escapovat HTML špecifické znaky"
+ ESCAPE_MARKUP_HELP: "Automaticky escapovat tagy na ich HTML ekvivalenty"
+ CACHING_HELP: "Globálne vypnutie/zapnutie kešovania v Grav"
+ CACHE_CHECK_METHOD: "Typ kontroly kešovania"
+ CACHE_CHECK_METHOD_HELP: "Vyberte metódu, pomocou ktorej Grav môže kontrolovať, či boli súbory stránky upravené."
+ CACHE_DRIVER: "Cache driver"
+ CACHE_DRIVER_HELP: "Vyberte spôsob kešovania. 'Auto Detect' sa pokúsi nájsť optimálne nastavenie"
+ CACHE_PREFIX: "Prefix cache"
+ CACHE_PREFIX_HELP: "Identifikátor časti Grav kľúča. Neupravuje, ak si nie ste istý, čo robíte."
+ CACHE_PREFIX_PLACEHOLDER: "Odvodený od základnej adresy URL (prepíšte náhodným reťazcom)"
+ LIFETIME: "Životnosť"
+ LIFETIME_HELP: "Dĺžka platnosti záznamov v cache. 0 = bez obmedzenia"
+ GZIP_COMPRESSION: "Gzip kompresia"
+ GZIP_COMPRESSION_HELP: "Zapnúť GZip kompresiu stránok pre rýchlejšie načítanie."
+ TWIG_TEMPLATING: "Twig šablóny"
+ TWIG_CACHING: "Twig kešovanie"
+ TWIG_CACHING_HELP: "Nastavuje kešovanie Twig šablón. Nechajte zapnuté pre najlepší výkon."
+ TWIG_DEBUG: "Twig debug mód"
+ TWIG_DEBUG_HELP: "Umožňuje vypnúť načítanie rozšírenia Twig Debugger"
+ DETECT_CHANGES: "Detekovať zmeny"
+ DETECT_CHANGES_HELP: "Twig bude automaticky aktualizovať cache, ak nájde zmenu v šablóne Twig"
+ AUTOESCAPE_VARIABLES: "Automaticky escapovať premenné"
+ AUTOESCAPE_VARIABLES_HELP: "Autoescape všetkých premenných. Pravdepodobne dôjde k poškodeniu webu"
+ CSS_PIPELINE: "Zlúčiť CSS súbory"
+ CSS_PIPELINE_HELP: "Spojí všetky CSS súbory do jedného"
+ CSS_PIPELINE_INCLUDE_EXTERNALS: "Zahrnúť externé CSS do zlúčeného CSS"
+ CSS_PIPELINE_INCLUDE_EXTERNALS_HELP: "Externé URL adresy niekedy obsahujú relatívne odkazy na súbory a preto by nemali byť zlúčené"
+ CSS_PIPELINE_BEFORE_EXCLUDES: "Ako prvé vykresliť zlúčené CSS"
+ CSS_PIPELINE_BEFORE_EXCLUDES_HELP: "Vykresliť zlúčené CSS pred akékoľvek iné, nezahrnuté CSS odkazy"
+ CSS_MINIFY: "Minifikovat CSS"
+ CSS_MINIFY_HELP: "Minifikuje CSS súbory behom zlúčenia"
+ CSS_MINIFY_WINDOWS_OVERRIDE: "Minifikovať CSS na Windows"
+ CSS_MINIFY_WINDOWS_OVERRIDE_HELP: "Prepísať nastavenie minifikácie Css pre Windows. Štandardne vypnuté kvôli ThreadStackSize"
+ CSS_REWRITE: "Prepísať URL v rámci CSS"
+ JAVASCRIPT_PIPELINE: "Zlúčenie súborov JavaScriptu"
+ JAVASCRIPT_PIPELINE_INCLUDE_EXTERNALS: "Zahrnúť externé JS do zlúčeného JS"
+ JAVASCRIPT_PIPELINE_INCLUDE_EXTERNALS_HELP: "Externé URL adresy niekedy obsahujú relatívne odkazy na súbory a preto by nemali byť zlúčené"
+ JAVASCRIPT_PIPELINE_BEFORE_EXCLUDES: "Ako prvé vykresliť zlúčené CSS"
+ JAVASCRIPT_PIPELINE_BEFORE_EXCLUDES_HELP: "Vykresliť zlúčené CSS pred akékoľvek iné, nezahrnuté CSS odkazy"
+ JAVASCRIPT_MINIFY: "Minifikovať JavaScript"
+ JAVASCRIPT_MINIFY_HELP: "Minifikuje JavaScriptové súbory behom zlučovania"
+ COLLECTIONS: "Kolekcie"
+ ERROR_HANDLER: "Hlásenie chýb"
+ DISPLAY_ERRORS: "Zobrazenie chýb"
+ DISPLAY_ERRORS_HELP: "Zobraziť úplnú chybovú stránku štýlom backtrace"
+ LOG_ERRORS: "Denník chýb"
+ LOG_ERRORS_HELP: "Zaznamenať chyby do /logs priečinka"
+ DEBUGGER: "Ladiaci nástroj"
+ DEBUGGER_HELP: "Povoliť ladenie Grav a nasledovné nastavenia"
+ DEBUG_TWIG: "Ladenie Twig"
+ DEBUG_TWIG_HELP: "Povoliť ladenie Twig šablón"
+ SHUTDOWN_CLOSE_CONNECTION: "Uzatvárať spojenie"
+ SHUTDOWN_CLOSE_CONNECTION_HELP: "Uzavrieť spojenie pred zavolaním udalosti 'onShutdown()'. Vypnuté pri aktívnom ladení"
+ DEFAULT_IMAGE_QUALITY: "Predvolená kvalita obrázkov"
+ DEFAULT_IMAGE_QUALITY_HELP: "Predvolená kvalita obrázku pri úpravách a kešovaní(85%)"
+ CACHE_ALL: "Kešovať všetky obrázky"
+ CACHE_ALL_HELP: "Spracovať všetky obrázky kešovacím systémom Gravu, hoci nepotrebujú žiadne úpravy"
+ IMAGES_DEBUG: "Vodoznak obrázku pre ladenie"
+ IMAGES_DEBUG_HELP: "Zobraziť vrstvu ponad obrázok znázorňujúcu hustotu pixelov v obrázku napríklad pri ladení pre retina obrazovky"
+ UPLOAD_LIMIT: "Limit pre nahrávané súbory"
+ UPLOAD_LIMIT_HELP: "Nastaviť maximálnu veľkosť nahrávaných súborov v bytoch (0 je neobmedzená)"
+ ENABLE_MEDIA_TIMESTAMP: "Povoliť časové údaje pre médiá"
+ SESSION: "Relácia"
+ TIMEOUT: "Časový limit"
+ ABSOLUTE_URLS: "Absolútne URL"
+ PARAMETER_SEPARATOR: "Oddeľovač parameterov"
+ TASK_COMPLETED: "Úloha dokončená"
+ EVERYTHING_UP_TO_DATE: "Všetko je aktuálne"
+ IS_AVAILABLE_FOR_UPDATE: "je možné aktualizovať"
+ IS_NOW_AVAILABLE: "je teraz k dispozícii"
+ CURRENT: "Aktuálny"
+ UPDATE_GRAV_NOW: "Aktualizovať Grav teraz"
+ GRAV_SYMBOLICALLY_LINKED: "Grav je prepojený symbolicky, aktualizácia nebude k dispozícii"
+ UPDATING_PLEASE_WAIT: "Prebieha aktualizácia... prosím čakajte na stiahnutie"
+ OF_THIS: "tejto"
+ OF_YOUR: "Vašej"
+ HAVE_AN_UPDATE_AVAILABLE: "má k dispozícii novú verziu"
+ SAVE_AS: "Uložiť ako"
+ AND: "a"
+ UPDATE_AVAILABLE: "Aktualizácia k dispozícii"
+ METADATA_KEY: "Kľúč (napríklad 'Keywords')"
+ METADATA_VALUE: "Hodnota (napr. 'Blog, Grav')"
+ FULLY_UPDATED: "Úplne aktualizované"
+ SAVE_LOCATION: "Uložiť umiestnenie"
+ DEFAULT_DATE_FORMAT: "Formát dátumu stránky"
+ DEFAULT_DATE_FORMAT_PLACEHOLDER: "Automaticky odhadnúť"
+ IGNORE_FILES: "Ignorovať súbory"
+ IGNORE_FILES_HELP: "Ignorovať konkrétne súbory pri spracovaní stránky"
+ IGNORE_FOLDERS: "Ignorovať priečinky"
+ IGNORE_FOLDERS_HELP: "Ignorovať konkrétne priečinky pri spracovaní stránky"
+ HTTP_ACCEPT_LANGUAGE: "Nastaviť jazyk podľa prehliadača"
+ OVERRIDE_LOCALE: "Zmeniť miestne nastavenie"
+ REDIRECT: "Stránka presmerovania"
+ PLUGIN_STATUS: "Stav rozšírenia"
+ INCLUDE_DEFAULT_LANG: "Zahrnúť predvolený jazyk"
+ ALLOW_URL_TAXONOMY_FILTERS: "URL filtre taxonómie"
+ REDIRECT_DEFAULT_CODE: "Predvolený kód presmerovania"
+ IGNORE_HIDDEN: "Ignorovať skryté"
+ IGNORE_HIDDEN_HELP: "Ignorovať všetky súbory a priečinky, ktoré sa začínajú BODKOU"
+ FALLBACK_TYPES: "Povolené typy súborov"
+ INLINE_TYPES: "Inline záložné typy"
+ APPEND_URL_EXT: "Pridať URL príponu"
+ PAGE_MODES: "Mód stránky"
+ PAGE_TYPES: "Typ stránky"
+ ACCESS_LEVELS: "Úrovne prístupu"
+ GROUPS: "Skupiny"
+ GROUPS_HELP: "Zoznam skupín, v ktorých je používateľ"
+ ADMIN_ACCESS: "Administrátorský prístup"
+ SITE_ACCESS: "Prístup na stránku"
+ INVALID_SECURITY_TOKEN: "Neplatný bezpečnostný token"
+ ACTIVATE: "Povoliť"
+ CACHE_PERMS: "Cache povolenia"
+ REMOVE_SUCCESSFUL: "Odstránenie úspešné"
+ REMOVE_FAILED: "Odstránenie sa nepodarilo"
+ TWIG_FIRST: "Prvý spracovať Twig"
+ SESSION_SECURE: "Zabezpečenie"
+ SESSION_HTTPONLY: "Iba HTTP"
+ REVERSE_PROXY: "Reverzné proxy"
+ INVALID_FRONTMATTER_COULD_NOT_SAVE: "Nesprávny formát frontmatter, nemôžem uložiť"
+ ADD_FOLDER: "Pridať priečinok"
+ PROXY_URL: "Adresa URL servera proxy"
+ PROXY_URL_HELP: "Zadajte proxy hostiteľa alebo IP adresu a PORT"
+ NOTHING_TO_SAVE: "Nie je čo uložiť"
+ FILE_ERROR_ADD: "Pri pokuse o pridanie súboru sa vyskytla chyba"
+ FILE_ERROR_UPLOAD: "Pri pokuse o odovzdanie súboru sa vyskytla chyba"
+ FILE_UNSUPPORTED: "Nepodporovaný typ súboru"
+ ADD_ITEM: "Pridať položku"
+ FILE_TOO_LARGE: "Súbor je príliš veľký, maximálna povolená veľkosť je %s podľa
. Zvýšte prosím \"post_max_size\" v PHP nastaveniach"
+ INSTALLING: "Inštalujem"
+ LOADING: "Nahrávam.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "Najprv musia byť nasledujúce závislosti splnené:"
+ ERROR_INSTALLING_PACKAGES: "Chyba pri inštalácii balíčka(ov)"
+ INSTALLING_DEPENDENCIES: "Inštalácia závislostí..."
+ INSTALLING_PACKAGES: "Inštalácia balíčka(ov)..."
+ READY_TO_INSTALL_PACKAGES: "Pripravený na inštaláciu balíka(ov)"
+ PACKAGES_NOT_INSTALLED: "Neinštalované balíky"
+ PACKAGES_NEED_UPDATE: "Balíky, ktoré už sú nainštalované, ale sú príliš staré"
+ PACKAGES_SUGGESTED_UPDATE: "Balíky, ktoré už sú nainštalované a verzia je v poriadku, ale budú aktualizované na najnovšie"
+ REMOVE_THE: "Odstrániť %s"
+ CONFIRM_REMOVAL: "Určite chcete zmazať %s?"
+ REMOVED_SUCCESSFULLY: "%s úspešne odstránený"
+ ERROR_REMOVING_THE: "Chyba pri odstraňovaní %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "%s vyžaduje nasledujúce závislosti, ktoré nie sú potrebné ďalšie nainštalované balíky. Ak ich nepoužívate, môžete ich odstrániť priamo odtiaľto."
+ READY_TO_UPDATE_PACKAGES: "Pripravený na aktualizáciu balíka(ov)"
+ ERROR_UPDATING_PACKAGES: "Chyba pri aktualizácii balíka(ov)"
+ UPDATING_PACKAGES: "Aktualizácia balíka(ov).."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Balík(y) boli úspešne aktualizované."
+ UPDATING: "Aktualizuje sa"
+ GPM_RELEASES: "GPM verzie"
+ GPM_RELEASES_HELP: "Zvoľte 'Testovací' pre inštaláciu beta alebo testovacej verzie"
+ STABLE: "Stabilná"
+ TESTING: "Testovanie"
+ FRONTMATTER_PROCESS_TWIG: "Spracovať Twig frontmatterom"
+ FRONTMATTER_PROCESS_TWIG_HELP: "Ak je povolené môžete použiť Twig premenné v oblasti prednej stránky"
+ FRONTMATTER_IGNORE_FIELDS: "Ignorovať polia vo frontmatteri"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "Balík %s, bol úspešne nainštalovaný"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Stránka nie je viditeľná, zoraďovanie nepovolené"
+ INSERT: "Vložiť"
+ UNDO: "Vrátiť späť"
+ REDO: "Znova"
+ HEADERS: "Hlavičky"
+ BOLD: "Tučné písmo"
+ ITALIC: "Kurzíva"
+ STRIKETHROUGH: "Prečiarknutie"
+ SUMMARY_DELIMITER: "Oddeľovač sumáru"
+ LINK: "Odkaz"
+ IMAGE: "Obrázok"
+ BLOCKQUOTE: "Citát"
+ UNORDERED_LIST: "Nečíslovaný zoznam"
+ ORDERED_LIST: "Číslovaný zoznam"
+ EDITOR: "Editor"
+ PREVIEW: "Náhľad"
+ FULLSCREEN: "Celá obrazovka"
+ MODULAR: "Modulárny"
+ NON_VISIBLE: "Neviditeľné"
+ NON_PUBLISHED: "Neuverejnené"
diff --git a/user/plugins/admin/languages/sl.yaml b/user/plugins/admin/languages/sl.yaml
new file mode 100644
index 0000000..c4279dc
--- /dev/null
+++ b/user/plugins/admin/languages/sl.yaml
@@ -0,0 +1,37 @@
+---
+PLUGIN_ADMIN:
+ LOGIN_BTN: "Prijava"
+ LOGIN_BTN_RESET: "Ponastavi geslo"
+ LOGIN_BTN_CREATE_USER: "Ustvarjanje uporabnika"
+ LOGIN_LOGGED_IN: "Ste se uspešno prijavili v"
+ LOGIN_FAILED: "Prijava ni uspela"
+ LOGGED_OUT: "Odjavili ste se"
+ RESET_NEW_PASSWORD: "Vnesite novo geslo …"
+ RESET_PASSWORD_RESET: "Geslo je bilo ponastavljeno"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Povezava za ponastavitev gesla je bila poslana na vaš e-poštni naslov"
+ MANAGE_PAGES: "Upravljanje strani"
+ CONFIGURATION: "Nastavitve"
+ PAGES: "Strani"
+ PLUGINS: "Vtičniki"
+ PLUGIN: "Vtičnik"
+ THEMES: "Teme"
+ LOGOUT: "Odjava"
+ BACK: "Nazaj"
+ NEXT: "Naprej"
+ PREVIOUS: "Prejšnji"
+ ADD_PAGE: "Dodaj stran"
+ ADD_MODULAR: "Dodaj modular"
+ MOVE: "Premakni"
+ DELETE: "Izbriši"
+ VIEW: "Poglej"
+ SAVE: "Shrani"
+ ERROR: "Napaka"
+ CLOSE: "Zapri"
+ CANCEL: "Prekliči"
+ CONTINUE: "Nadaljuj"
+ MODAL_DELETE_PAGE_CONFIRMATION_REQUIRED_TITLE: "Potrebna je potrditev"
+ README: "Preberi me"
+ REMOVE_THEME: "Odstrani predlogo"
+ INSTALL_THEME: "Namesti predlogo"
+ THEME: "Predloga"
+ BACK_TO_THEMES: "Nazaj na predloge"
diff --git a/user/plugins/admin/languages/sv.yaml b/user/plugins/admin/languages/sv.yaml
new file mode 100644
index 0000000..68625d5
--- /dev/null
+++ b/user/plugins/admin/languages/sv.yaml
@@ -0,0 +1,513 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Detta är en betaversion! Använd i produktion på egen risk..."
+ ADMIN_REPORT_ISSUE: "Hittat ett fel? Vänligen rapportera det på GitHub."
+ EMAIL_FOOTER: "Powered by Grav - The Modern Flat File CMS"
+ LOGIN_BTN: "Logga in"
+ LOGIN_BTN_FORGOT: "Glömt"
+ LOGIN_BTN_RESET: "Återställ Lösenord"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Skicka återställningsinstruktioner"
+ LOGIN_BTN_CLEAR: "Rensa Formulär"
+ LOGIN_BTN_CREATE_USER: "Skapa Användare"
+ LOGIN_LOGGED_IN: "Inloggning lyckades"
+ LOGIN_FAILED: "Inloggning misslyckades"
+ LOGGED_OUT: "Utloggad"
+ RESET_NEW_PASSWORD: "Vänligen ange ett nytt lösenord …"
+ RESET_LINK_EXPIRED: "Återställningslänken är inte giltig, försök igen"
+ RESET_PASSWORD_RESET: "Lösenordet har återställts"
+ RESET_INVALID_LINK: "Återställningslänken är inte giltig, försök igen"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Instruktioner för att återställa ditt lösenord har skickats via e-post till %s"
+ FORGOT_FAILED_TO_EMAIL: "Misslyckades att skicka instruktioner via e-post, försök igen senare"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Kan inte återställa lösenord för %s, e-postadress saknas"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "Användare med användarnamn %s finns inte"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Kan inte återställa lösenord. Denna webbplats är inte konfigurerad för att skicka e-post"
+ FORGOT_EMAIL_SUBJECT: "%s Begäran om lösenordsåterställning"
+ FORGOT_EMAIL_BODY: "Återställning av lösenord
รีเซ็ตรหัสผ่าน
นับถือ, < br/ > < br / >%3$s
การตั้งค่า PHP เพิ่มการตั้งค่า PHP ของคุณใน 'post_max_size'"
+ INSTALLING: "กำลังติดตั้ง"
+ LOADING: "กำลังโหลดข้อมูล.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "การอ้างอิงต่อไปนี้จำเป็นกรอกให้ครบก่อน:"
+ ERROR_INSTALLING_PACKAGES: "ข้อผิดพลาดขณะติดตั้งแพคเกจ"
+ INSTALLING_DEPENDENCIES: "กำลังติดตั้งส่วนที่เกี่ยวข้อง.."
+ INSTALLING_PACKAGES: "กำลังติดตั้งแพคเกจ"
+ PACKAGES_SUCCESSFULLY_INSTALLED: "ติดตั้งแพคเกจสำเร็จแล้ว"
+ READY_TO_INSTALL_PACKAGES: "พร้อมติดตั้งแพคเกจ"
+ PACKAGES_NOT_INSTALLED: "แพคเกจไม่ได้ติดตั้ง"
+ PACKAGES_NEED_UPDATE: "ติดตั้งแพคเกจเรียบร้อย แต่มันเก่ามาก"
+ PACKAGES_SUGGESTED_UPDATE: "แพคเกจการติดตั้ง และเวอร์ชั่นโอเค แต่จะถูกปรับปรุงให้ทันสมัย"
+ REMOVE_THE: "ลบ %s"
+ CONFIRM_REMOVAL: "คุณต้องการลบ %s นี้แน่ใจหรือไม่"
+ REMOVED_SUCCESSFULLY: "%s เอาออกเสร็จสมบูรณ์"
+ ERROR_REMOVING_THE: "ข้อผิดพลาดในการลบ %s"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "%s ต้องใช้อ้างอิงต่อไปนี้ ซึ่งไม่ต้องการใช้แพคเกจอื่น ๆ ติดตั้ง ถ้าคุณไม่ได้ใช้พวกเขา คุณสามารถเอาออกโดยตรงจากที่นี่"
+ READY_TO_UPDATE_PACKAGES: "พร้อมที่จะปรับปรุงแพคเกจ"
+ ERROR_UPDATING_PACKAGES: "มีข้อผิดพลาดขณะทำการอัพเดดแพคเกจ"
+ UPDATING_PACKAGES: "กำลังปรับปรุงแพคเกจ"
+ PACKAGES_SUCCESSFULLY_UPDATED: "แพคเกจปรับปรุงสำเร็จแล้ว"
+ UPDATING: "การปรับปรุง"
+ GPM_RELEASES: "รุ่น GPM"
+ GPM_RELEASES_HELP: "เลือก 'Testing' เพื่อติดตั้งรุ่น beta หรือเวอร์ชันทดสอบ"
+ GPM_METHOD: "วิธีดึงข้อมูลระยะไกล"
+ GPM_METHOD_HELP: "เมื่อตั้งค่าเป็นอัตโนมัติ Grav จะตรวจสอบว่า fopen และใช้ หรือ ถอยกลับไปดัด การบังคับ ใช้ของสิ่งหนึ่งไปเปลี่ยนการตั้งค่า"
+ GPM_VERIFY_PEER: "ระยะไกลตรวจสอบเพียร์ (SSL)"
+ GPM_VERIFY_PEER_HELP: "ผู้ให้บริการบางอย่างดูเหมือนล้ม getgrav.org ที่การตรวจสอบว่าใบรับรอง SSL สาเหตุครับไม่ทำงาน ถ้าเป็นกรณีนี้สำหรับคุณ การปิดการตั้งค่านี้อาจช่วย"
+ AUTO: "อัตโนมัติ"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "เสถียร"
+ TESTING: "การทดสอบ"
+ FRONTMATTER_PROCESS_TWIG: "กระบวนการ frontmatter Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "เมื่อเปิดใช้งานคุณสามารถใช้ Twig พร้อมกำหนดค่าตัวแปรในหน้าหน้าเรื่อง"
+ FRONTMATTER_IGNORE_FIELDS: "ละเว้น frontmatter ฟิลด์"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "ฟิลด์บางฟิลด์ frontmatter อาจประกอบด้วย Twig แต่จะไม่สามารถประมวล ผล เช่น 'forms'"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "แพคเกจ %s ที่ติดตั้งเสร็จเรียบร้อยแล้ว"
+ NEEDS_GRAV_1_1: " คุณกำลังใช้ Grav v%sคุณจะต้องอัพเดดใช้เวอร์ชั่นล่าสุด Grav v1.1.x เพื่อความแน่ใจในการเข้ากันได้นี้ บางทีจำเป็นต้องสลับไปใช้ รุ่นทดสอบ GPM ในการตั้งค่าระบบ"
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "การตั้งค่าการเรียงในตัวหลัก ปิดการเรียงลำดับ"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "เพจไม่เปิดให้เห็น, ปิดการเรียงลำดับ"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "การจัดเรียงผ่านทางผู้ดูแลไม่รองรับเนื่องจากมีส่วนที่เกี่ยวข้องมากกว่า 200"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "การเรียงลำดับหน้าถูกปิดใช้งานสำหรับหน้านี้ เพราะว่าตัวเลขอยู่หน้าโฟลเดอร์ใช้ไม่ได้"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'หมายเหตุ: คุณไม่สามารถเพิ่มมีเดียไฟล์จนกระทั่งคุณบันทึกหน้า เพียงคลิก ''บันทึก'' ด้านบน'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'หมายเหตุ: เพจต้องถูกบันทึกก่อนที่คุณจะสามารถอัปโหลดไฟล์ไป'
+ DROP_FILES_HERE_TO_UPLOAD: "วางไฟล์ตรงนี้ หรือ คลิกในพื้นที่นี้"
+ INSERT: "แทรก"
+ UNDO: "เรียกคืน"
+ REDO: "ทำซ้ำ"
+ HEADERS: "ส่วนหัว"
+ BOLD: "ตัวหนา"
+ ITALIC: "ตัวเอียง"
+ STRIKETHROUGH: "ขีดทับ"
+ SUMMARY_DELIMITER: "สรุปคั่น"
+ LINK: "ลิงก์"
+ IMAGE: "รูปภาพ"
+ BLOCKQUOTE: "Blockquote"
+ UNORDERED_LIST: "รายการที่ไม่ได้จัดเรียง"
+ ORDERED_LIST: "รายการจัดเรียง"
+ EDITOR: "ตัวแก้ไข"
+ PREVIEW: "ดูตัวอย่าง"
+ FULLSCREEN: "เต็มหน้าจอ"
+ MODULAR: "โมดูลาร์"
+ NON_ROUTABLE: "ไม่ Routable"
+ NON_MODULAR: "Non-Modular"
+ NON_VISIBLE: "มองไม่เห็น"
+ NON_PUBLISHED: "ไม่ได้เผยแพร่"
+ CHARACTERS: "ตัวอักษร"
+ PUBLISHING: "เผยแพร่"
+ NOTIFICATIONS: "การแจ้งเตือน"
+ MEDIA_TYPES: "ชนิดมีเดีย"
+ IMAGE_OPTIONS: "ตัวเลือกภาพ"
+ MIME_TYPE: "ชนิด mime"
+ THUMB: "รูปย่อ"
+ TYPE: "ชนิด"
+ FILE_EXTENSION: "นามสกุลไฟล์"
+ LEGEND: "เพจ Legend"
+ MEMCACHE_SERVER: "เซิร์ฟเวอร์ Memcache"
+ MEMCACHE_SERVER_HELP: "ที่อยู่เซิร์ฟเวอร์ Memcache"
+ MEMCACHE_PORT: "Memcache พอร์ต"
+ MEMCACHE_PORT_HELP: "Memcache เซิร์ฟเวอร์พอร์ต"
+ MEMCACHED_SERVER: "เซิร์ฟเวอร์ Memcache"
+ MEMCACHED_SERVER_HELP: "ที่อยู่เซิร์ฟเวอร์ Memcache"
+ MEMCACHED_PORT: "Memcache พอร์ต"
+ MEMCACHED_PORT_HELP: "Memcache เซิร์ฟเวอร์พอร์ต"
+ REDIS_SERVER: "Redis เซิร์ฟเวอร์"
+ REDIS_SERVER_HELP: "ที่อยู่ Redis เซิร์ฟเวอร์"
+ REDIS_PORT: "Redis port"
+ REDIS_PORT_HELP: "Redis เซิร์ฟเวอร์พอร์ต"
+ ALL: "ทั้งหมด"
+ FROM: "จาก"
+ TO: "ถึง"
+ RELEASE_DATE: "วันที่เผยแพร่"
+ SORT_BY: "เรียงลำดับตาม"
+ RESOURCE_FILTER: "กรอง..."
+ FORCE_SSL: "บังคับใช้ SSL"
+ FORCE_SSL_HELP: "ทั่วโลกบังคับใช้ SSL ถ้าเปิดการใช้งานให้เข้าถึงเว็บไซต์ผ่าน HTTP, Grav จะเปลี่ยนเส้นทางไปยังหน้า HTTPS"
+ NEWS_FEED: "ฟีดข่าว"
+ EXTERNAL_URL: "URL ภายนอก"
+ SESSION_PATH: "Session Path"
+ SESSION_PATH_HELP: "ใช้เฉพาะเมื่อคุณเลือก URL หลักที่กำหนดขึ้นเอง (ชื่อโดเมน / โฟลเดอร์ย่อย)"
+ CUSTOM_BASE_URL: "กำหนด URL หลักเอง"
+ CUSTOM_BASE_URL_HELP: 'ถ้าคุณต้องการกำหนดเว็บไซต์โดเมน หรือใช้โฟลเดอร์ย่อยแตกต่างกันกับที่ใช้ โดย Grav ตัวอย่าง: http://localhost'
+ FILEUPLOAD_PREVENT_SELF: 'ไม่สามารถใช้ "%s" ข้างนอก หน้าเพจ ได้'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'ไม่สามารถอัปโหลดไฟล์ %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: 'ไม่สามารถย้ายไฟล์ %s ไป "%s"'
+ DROPZONE_CANCEL_UPLOAD: 'ยกเลิกการอัปโหลด'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'คุณแน่ใจหรือไม่ว่าต้องการยกเลิกการอัปโหลดนี้'
+ DROPZONE_DEFAULT_MESSAGE: 'วางไฟล์ที่นี่ หรือ คลิกที่นี่'
+ DROPZONE_FALLBACK_MESSAGE: 'เบราว์เซอร์ของคุณไม่สนับสนุน การลากและปล่อย เพื่ออัปโหลดไฟล์'
+ DROPZONE_FALLBACK_TEXT: 'กรุณาใช้แบบฟอร์มย้อนกลับที่ด้านล่างในการอัปโหลดไฟล์ของคุณเช่นในวันเก่า'
+ DROPZONE_FILE_TOO_BIG: 'ไฟล์มีขนาดใหญ่เกินไป ({{filesize}}MiB) ขนาดของไฟล์ข้อมูลสูงสุด: {{maxFilesize}}MiB'
+ DROPZONE_INVALID_FILE_TYPE: "ไม่สามารถอัปโหลดไฟล์ประเภทนี้ได้"
+ DROPZONE_MAX_FILES_EXCEEDED: "ไม่สามารถอัปโหลดไฟล์เพิ่มได้"
+ DROPZONE_REMOVE_FILE: "ลบไฟล์"
+ DROPZONE_RESPONSE_ERROR: "เซิร์ฟเวอร์ตอบสนอง ด้วยรหัส {{statusCode}}."
+ PREMIUM_PRODUCT: "พรีเมี่ยม"
+ ADMIN_CACHING: "เปิดใช้งานแคชด้าน Admin"
+ ADMIN_CACHING_HELP: "แคชในด้าน admin สามารถควบคุมได้อย่างอิสระจากด้านหน้าเว็บไซต์"
+ DESTINATION_NOT_SPECIFIED: "ยังไม่ได้ระบุปลายทาง"
+ UPLOAD_ERR_NO_TMP_DIR: "ไม่พบโฟลเดอร์ชั่วคราว"
+ SESSION_SPLIT: "แยกเซสชั่น"
+ SESSION_SPLIT_HELP: "เซสชันระหว่างเว็บไซต์และปลั๊กอินอื่น ๆ (เช่น admin) แยกอิสระ"
+ ERROR_FULL_BACKTRACE: "ข้อผิดพลาดย้อนหลังทั้งหมด"
+ ERROR_SIMPLE: "ผิดพลาดเล็กน้อย"
+ ERROR_SYSTEM: "ข้อผิดพลาดจากระบบ"
+ IMAGES_AUTO_FIX_ORIENTATION: "แนวทางการแก้ไขปัญหาโดยอัตโนมัติ"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "การวางแนวภาพตามข้อมูล Exif ที่แก้ไขโดยอัตโนมัติ"
+ REDIS_SOCKET: "Redis socket"
+ REDIS_SOCKET_HELP: "Redis ซ็อกเก็ต"
+ NOT_SET: "ไม่ได้ตั้งค่า"
+ PERMISSIONS: "การอนุญาต"
+ NEVER_CACHE_TWIG: "ไม่ต้องแคช Twig"
+ NEVER_CACHE_TWIG_HELP: "เพียง แคเนื้อหา และกระบวนการกิ่งไม้ทุกครั้งสำหรับหน้า ละเว้นการตั้งค่า twig_first"
+ ALLOW_WEBSERVER_GZIP: "อนุญาตให้เซิร์ฟเวอร์ Gzip"
+ ALLOW_WEBSERVER_GZIP_HELP: "ปิด โดยค่าเริ่มต้น เมื่อเปิดใช้งาน การบีบอัด Gzip/Deflate เซิร์ฟเวอร์การกำหนดค่าจะทำ แต่จะไม่ปิดการเชื่อมต่อ http ก่อน onShutDown() เหตุการณ์ที่ทำให้การโหลดหน้าเว็บช้า"
+ OFFLINE_WARNING: "ไม่สามารถสร้างการเชื่อมต่อ GPM ได้"
+ CLI_COMPATIBILITY: "CLI เข้ากันได้กับ"
+ CLI_COMPATIBILITY_HELP: "ใจว่า มีใช้โปรแกรมควบคุมแคระเหยเท่านั้น (ไฟล์ redis, memcache ฯลฯ)"
+ REINSTALL_PLUGIN: "ติดตั้งปลั๊กอินใหม่"
+ REINSTALL_THEME: "ติดตั้งธีมใหม่"
+ REINSTALL_THE: "%s ติดตั้งใหม่"
+ CONFIRM_REINSTALL: "คุณแน่ใจหรือไม่ว่าคุณต้องการติดตั้งใหม่ %s?"
+ REINSTALLED_SUCCESSFULLY: "%s ติดตั้งใหม่เสร็จเรียบร้อยแล้ว"
+ ERROR_REINSTALLING_THE: "ข้อผิดพลาดในการติดตั้ง %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "แพคเกจ %s ติดตั้งเสร็จเรียบร้อยแล้ว"
+ REINSTALLATION_FAILED: "ติดตั้งใหม่ ล้มเหลว"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "รุ่นที่ติดตั้งไม่ใช่รุ่นล่าสุด คลิกดำเนินการต่อ เพื่อถอนการติดตั้งรุ่นปัจจุบันและติดตั้งรุ่นล่าสุด"
+ TOOLS: "เครื่องมือ"
+ DIRECT_INSTALL: "ติดตั้งโดยตรง"
+ NO_PACKAGE_NAME: "ไม่ได้ระบุชื่อของแพคเกจ"
+ PACKAGE_EXTRACTION_FAILED: "แยกแพคเกจล้มเหลว"
+ NOT_VALID_GRAV_PACKAGE: "ไม่ใช่เพคเกจ Grav ที่ถูกต้อง"
+ NAME_COULD_NOT_BE_DETERMINED: "ไม่ระบุชื่อ"
+ CANNOT_OVERWRITE_SYMLINKS: "ไม่สามารถเขียนทับ symlink"
+ ZIP_PACKAGE_NOT_FOUND: "ไม่พบไฟล์ zip"
+ GPM_OFFICIAL_ONLY: "GPM อย่างเป็นทางการเท่านั้น"
+ GPM_OFFICIAL_ONLY_HELP: "อนุญาตให้ติดตั้งโดยตรงจาก GPM อย่างเป็นทางการเท่านั้น"
+ NO_CHILD_TYPE: "ไม่มีชนิดเด็กสำหรับ rawroute นี้"
+ SORTABLE_PAGES: "เรียงหน้า:"
+ UNSORTABLE_PAGES: "ไม่เรียงหน้า:"
+ ADMIN_SPECIFIC_OVERRIDES: "เฉพาะผู้ดูแลแทน"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "เด็กแสดงลำดับ"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "สั่งว่า เด็กของหน้านี้ควรถูกแสดงในมุมมอง 'เพจ' ของปลั๊กอินของ Admin"
+ PWD_PLACEHOLDER: "สายอักขระที่ซับซ้อนอย่างน้อย 8 ตัวอักษรยาว"
+ PWD_REGEX: "รหัสผ่าน Regex"
+ PWD_REGEX_HELP: 'โดยค่าเริ่มต้น: รหัสผ่านต้องประกอบด้วย ตัวเลข ตัวพิมพ์ใหญ่ และอักษรพิมพ์เล็ก ย่างน้อย 8 ตัวอักษรขึ้นไป'
+ USERNAME_PLACEHOLDER: "ตัวอักษรพิมพ์เล็กเท่านั้น เช่น 'admin'"
+ USERNAME_REGEX: "ชื่อผู้ใช้ Regex"
+ USERNAME_REGEX_HELP: 'โดยค่าเริ่มต้น: ตัวอักษรพิมพ์เล็กเท่านั้น ตัวเลข, เส้นประ และขีด 3 - 16 ตัวอักษร'
+ CONTENT_PADDING: "ขยายเนื้อหา"
+ CONTENT_PADDING_HELP: "เปิด/ปิด ใช้งานเนื้อหาขยายทั่วพื้นที่เนื้อหาเพื่อให้พื้นที่มากขึ้น"
diff --git a/user/plugins/admin/languages/tlh.yaml b/user/plugins/admin/languages/tlh.yaml
new file mode 100644
index 0000000..2460f6d
--- /dev/null
+++ b/user/plugins/admin/languages/tlh.yaml
@@ -0,0 +1,8 @@
+---
+PLUGIN_ADMIN:
+ LOGIN_BTN_FORGOT: "lIj"
+ BACK: "chap"
+ NORMAL: "motlh"
+ 'YES': "HIja'"
+ 'NO': "Qo'"
+ DISABLED: "Qotlh"
diff --git a/user/plugins/admin/languages/tr.yaml b/user/plugins/admin/languages/tr.yaml
new file mode 100644
index 0000000..d395aa8
--- /dev/null
+++ b/user/plugins/admin/languages/tr.yaml
@@ -0,0 +1,693 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Bu bir beta sürümüdür! Sunucunuzda kullanmak sizin sorumluluğunuzdadır..."
+ ADMIN_REPORT_ISSUE: "Hata mı var? Lütfen GitHub aracılığıyla bildirin."
+ EMAIL_FOOTER: "Grav ile güçlendirilmiştir - Modern Düz Dosya CMS"
+ LOGIN_BTN: "Giriş"
+ LOGIN_BTN_FORGOT: "Şifremi Unuttum"
+ LOGIN_BTN_RESET: "Şifreni Sıfırla"
+ LOGIN_BTN_SEND_INSTRUCTIONS: "Sıfırlama Yönergesini Gönder"
+ LOGIN_BTN_CLEAR: "Formu Temizle"
+ LOGIN_BTN_CREATE_USER: "Kullanıcı Oluştur"
+ LOGIN_LOGGED_IN: "Başarıyla oturum açtınız"
+ LOGIN_FAILED: "Giriş başarısız"
+ LOGGED_OUT: "Oturum kapatıldı"
+ RESET_NEW_PASSWORD: "Lütfen yeni bir parola girin …"
+ RESET_LINK_EXPIRED: "Sıfırlama bağlantısının süresi doldu, lütfen tekrar deneyin"
+ RESET_PASSWORD_RESET: "Şifreniz sıfırlandı"
+ RESET_INVALID_LINK: "Hatalı sıfırlama bağlantısı, lütfen tekrar deneyin"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Şifre sıfırlama yönergesi %s adresine gönderilmiştir"
+ FORGOT_FAILED_TO_EMAIL: "Eposta yönergeleri başarısız, lütfen daha sonra tekrar deneyin"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "%s: şifre sıfırlanamıyor, eposta adresi atanmamış"
+ FORGOT_USERNAME_DOES_NOT_EXIST: "%s adlı kullanıcı mevcut değil"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Şifre sıfırlaması gönderilemiyor. Eposta sistemi yapılandırılmadı"
+ FORGOT_EMAIL_SUBJECT: "%s Şifre Sıfırlama İsteği"
+ FORGOT_EMAIL_BODY: "Şifre Sıfırlama
Şifrenizi sıfırlamak için bu bağlantıya tıklayın
Saygılarımızla,
%3$s
`post_max_size` değerini artırın"
+ INSTALLING: "Kuruluyor"
+ LOADING: "Yükleniyor.."
+ DEPENDENCIES_NOT_MET_MESSAGE: "The following dependencies need to be fulfilled first:"
+ ERROR_INSTALLING_PACKAGES: "Paket(ler) kurulurken hata oluştu"
+ INSTALLING_DEPENDENCIES: "Gereksinimler kuruluyor..."
+ INSTALLING_PACKAGES: "Paket(ler) kuruluyor.."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "Paket(ler) başarıyla kuruldu."
+ READY_TO_INSTALL_PACKAGES: "Kuruluma hazır paket(ler)"
+ PACKAGES_NOT_INSTALLED: "Yüklü olmayan paketler"
+ PACKAGES_NEED_UPDATE: "Paketler zaten yüklü, fakat eski"
+ PACKAGES_SUGGESTED_UPDATE: "Paketler zaten yüklü ve en güncel sürümlerinde"
+ REMOVE_THE: "Kaldır: %s"
+ CONFIRM_REMOVAL: "Bunu silmek istediğinizden emin misiniz: %s?"
+ REMOVED_SUCCESSFULLY: "%s başarıyla kaldırıldı"
+ ERROR_REMOVING_THE: "%s kaldırılırken hata"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "%s diğer kurulu paketler tarafından kullanılmayan birtakım gereksinimler içeriyor. Kullanmıyorsanız direkt olarak silebilirsiniz."
+ READY_TO_UPDATE_PACKAGES: "Güncellemeye hazır paket(ler)"
+ ERROR_UPDATING_PACKAGES: "Paket(ler) günceleştirilirken hata oluştu"
+ UPDATING_PACKAGES: "Paket(ler) güncelleştiriliyor.."
+ PACKAGES_SUCCESSFULLY_UPDATED: "Paket(ler) başarıyla güncellendi."
+ UPDATING: "Güncelleniyor"
+ GPM_RELEASES: "GPM Duyuruları"
+ GPM_RELEASES_HELP: "Beta sürümünü veya test sürümlerini yüklemek için 'Test' seçeneğini belirleyin"
+ GPM_METHOD: "Remote Fetch Method"
+ GPM_METHOD_HELP: "When set to Auto, Grav will determine if fopen is available and use it, otherwise fall back to cURL. To force the use of one or the other switch the setting."
+ GPM_VERIFY_PEER: "Remote Verify Peer (SSL)"
+ GPM_VERIFY_PEER_HELP: "Some providers seems to fail verifying getgrav.org SSL certificate, causing GPM to not work. If this is the case for you, turning off this setting might help"
+ AUTO: "Otomatik"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "Kararlı"
+ TESTING: "Test ediliyor"
+ FRONTMATTER_PROCESS_TWIG: "Process frontmatter Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "When enabled you can use Twig config variables in page front matter"
+ FRONTMATTER_IGNORE_FIELDS: "Ignore frontmatter fields"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "Certain frontmatter fields may contain Twig but should not be processed, such as 'forms'"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "%s başarıyla yüklendi"
+ NEEDS_GRAV_1_1: " You are running Grav v%s. You must update to the latest Grav v1.1.x release in order to ensure compatibility. This may require switching to Testing GPM releases in the System configuration."
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Parent setting order, ordering disabled"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "Sayfa görüntülenebilir değil, sıralama devredışı"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "Ordering via the admin is unsupported because there are more than 200 siblings"
+ ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX: "Page ordering is disabled for this page because Folder Numeric Prefix is not enabled"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 'NOTE: You cannot add media files until you save the page. Just click ''Save'' on top'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 'NOTE: Page must be saved before you can upload files to it.'
+ DROP_FILES_HERE_TO_UPLOAD: "Drop your files here or click in this area"
+ INSERT: "Ekle"
+ UNDO: "Geri al"
+ REDO: "İleri al"
+ HEADERS: "Başlıklar"
+ BOLD: "Kalın"
+ ITALIC: "Eğik"
+ STRIKETHROUGH: "Üstü Çizili"
+ SUMMARY_DELIMITER: "Özet ayracı"
+ LINK: "Bağlantı"
+ IMAGE: "Resim"
+ BLOCKQUOTE: "Alıntı"
+ UNORDERED_LIST: "Sırasız Liste"
+ ORDERED_LIST: "Sıralı Liste"
+ EDITOR: "Düzenleyici"
+ PREVIEW: "Önizleme"
+ FULLSCREEN: "Tam Ekran"
+ MODULAR: "Modüler"
+ NON_ROUTABLE: "Yönlendirilemeyen"
+ NON_MODULAR: "Modüler Olmayan"
+ NON_VISIBLE: "Görünür Olmayan"
+ NON_PUBLISHED: "Yayımlanmamış"
+ CHARACTERS: "karakter"
+ PUBLISHING: "Yayımlanıyor"
+ NOTIFICATIONS: "Bildirimler"
+ MEDIA_TYPES: "Ortam Türleri"
+ IMAGE_OPTIONS: "Görüntü Seçenekleri"
+ MIME_TYPE: "Mime Türü"
+ THUMB: "Küçük Resim"
+ TYPE: "Tür"
+ FILE_EXTENSION: "Dosya Uzantısı"
+ LEGEND: "Sayfa Göstergesi"
+ MEMCACHE_SERVER: "Memcache sunucusu"
+ MEMCACHE_SERVER_HELP: "Memcache sunucu adresi"
+ MEMCACHE_PORT: "Memcache bağlantı noktası"
+ MEMCACHE_PORT_HELP: "Memcache sunucusu bağlantı noktası"
+ MEMCACHED_SERVER: "Memcached sunucusu"
+ MEMCACHED_SERVER_HELP: "Memcached sunucu adresi"
+ MEMCACHED_PORT: "Memcached bağlantı noktası"
+ MEMCACHED_PORT_HELP: "Memcached sunucusu bağlantı noktası"
+ REDIS_SERVER: "Redis sunucusu"
+ REDIS_SERVER_HELP: "Redis sunucu adresi"
+ REDIS_PORT: "Redis bağlantı noktası"
+ REDIS_PORT_HELP: "Redis sunucusu bağlantı noktası"
+ REDIS_PASSWORD: "Redis password/secret"
+ ALL: "Tümü"
+ FROM: "Başlangıç"
+ TO: "ile"
+ RELEASE_DATE: "Yayınlanma Tarihi"
+ SORT_BY: "Sıralama Ölçütü"
+ RESOURCE_FILTER: "Filtrele..."
+ FORCE_SSL: "SSL Kullanmaya Zorla"
+ FORCE_SSL_HELP: "Globally force SSL, if enabled when the site is reached through HTTP, Grav sends a redirect to the HTTPS page"
+ NEWS_FEED: "Haber Kaynağı"
+ EXTERNAL_URL: "Harici Bağlantı"
+ SESSION_PATH: "The session path"
+ SESSION_PATH_HELP: "Use only if you choose a custom base URL (you rewrite the site domain / subfolder)"
+ CUSTOM_BASE_URL: "Özelleştirilmiş kök URL"
+ CUSTOM_BASE_URL_HELP: 'Use if you want to rewrite the site domain or use a different subfolder than the one used by Grav. Example: http://localhost'
+ FILEUPLOAD_PREVENT_SELF: '"%s" sayfalar dışarısında kullanılamaz.'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: 'Unable to upload file %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: '%s dosyası "%s" konumuna taşınamadı'
+ DROPZONE_CANCEL_UPLOAD: 'Yüklemeyi iptal et'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Bu yüklemeyi iptal etmek istediğinizden emin misiniz?'
+ DROPZONE_DEFAULT_MESSAGE: 'Dosyalarınızı buraya sürükleyin ya da bu alana tıklayın'
+ DROPZONE_FALLBACK_MESSAGE: 'Tarayıcınız sürükle bırak şeklinde yüklemeleri desteklemiyor.'
+ DROPZONE_FALLBACK_TEXT: 'Please use the fallback form below to upload your files like in the older days.'
+ DROPZONE_FILE_TOO_BIG: Dosya fazla büyük ({{filesize}}MiB), maksimum dosya boyutu {{maxFilesize}} MiB’dir.
+ DROPZONE_INVALID_FILE_TYPE: "Bu türdeki dosyaları yükleyemezsiniz."
+ DROPZONE_MAX_FILES_EXCEEDED: "Daha fazla dosya yükleyemezsiniz."
+ DROPZONE_REMOVE_FILE: "Dosyayı Kaldır"
+ DROPZONE_RESPONSE_ERROR: "Sunucu {{statusCode}} koduyla cevap verdi."
+ PREMIUM_PRODUCT: "Premium"
+ ADMIN_CACHING: "Admin sayfasında önbelleği etkinleştir"
+ ADMIN_CACHING_HELP: "Caching in the admin can be controlled independently from the front-end site"
+ DESTINATION_NOT_SPECIFIED: "Hedef belirtilmedi"
+ UPLOAD_ERR_NO_TMP_DIR: "Missing a temporary folder"
+ SESSION_SPLIT: "Session Split"
+ SESSION_SPLIT_HELP: "Independent split sessions between site and other plugins (such as admin)"
+ ERROR_FULL_BACKTRACE: "Tam Backtrace Hatası"
+ ERROR_SIMPLE: "Basit Hata"
+ ERROR_SYSTEM: "Sistem Hatası"
+ IMAGES_AUTO_FIX_ORIENTATION: "Fix orientation automatically"
+ IMAGES_AUTO_FIX_ORIENTATION_HELP: "Automatically fix the image orientation based on the Exif data"
+ REDIS_SOCKET: "Redis socket"
+ REDIS_SOCKET_HELP: "The Redis socket"
+ NOT_SET: "Not set"
+ PERMISSIONS: "İzinler"
+ NEVER_CACHE_TWIG: "Twig'i asla önbelleğe alma"
+ NEVER_CACHE_TWIG_HELP: "Sadece içeriği önbelleğe al ve sayfalar için her seferinde Twig çalışsın. twig_first seçeneği yoksayılacaktır."
+ ALLOW_WEBSERVER_GZIP: "Sunucu Gzip sıkıştırmasına izin ver"
+ ALLOW_WEBSERVER_GZIP_HELP: "Off by default. When enabled, WebServer-configured Gzip/Deflate compression will work, but http connection will not be closed before onShutDown() event causing slower page loading"
+ OFFLINE_WARNING: "GPM ile bağlantı kurulamadı"
+ CLEAR_IMAGES_BY_DEFAULT: "Clear image cache by default"
+ CLEAR_IMAGES_BY_DEFAULT_HELP: "By default processed images are cleared for all cache clears, this can be disabled"
+ CLI_COMPATIBILITY: "CLI Uyumluluğu"
+ CLI_COMPATIBILITY_HELP: "Ensures that only non-volatile Cache drivers are used (file, redis, memcache, etc.)"
+ REINSTALL_PLUGIN: "Eklentiyi yeniden kur"
+ REINSTALL_THEME: "Temayı yeniden kur"
+ REINSTALL_THE: "Reinstall the %s"
+ CONFIRM_REINSTALL: "Are you sure you want to reinstall this %s?"
+ REINSTALLED_SUCCESSFULLY: "%s reinstalled successfully"
+ ERROR_REINSTALLING_THE: "Error reinstalling the %s"
+ PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Package %s reinstalled successfully"
+ REINSTALLATION_FAILED: "Yeniden kurulum hatasi"
+ WARNING_REINSTALL_NOT_LATEST_RELEASE: "The installed version is not the latest release. By clicking Continue, you'll remove the current version and install the latest available release"
+ TOOLS: "Araçlar"
+ DIRECT_INSTALL: "Yükleme yolu"
+ NO_PACKAGE_NAME: "Package name not specified"
+ PACKAGE_EXTRACTION_FAILED: "Package extraction failed"
+ NOT_VALID_GRAV_PACKAGE: "Not a valid Grav package"
+ NAME_COULD_NOT_BE_DETERMINED: "Name could not be determined"
+ CANNOT_OVERWRITE_SYMLINKS: "Cannot overwrite symlinks"
+ ZIP_PACKAGE_NOT_FOUND: "ZIP package could not be found"
+ GPM_OFFICIAL_ONLY: "Official GPM Only"
+ GPM_OFFICIAL_ONLY_HELP: "Only allow direct installs from the official GPM repository only."
+ NO_CHILD_TYPE: "No child type for this rawroute"
+ SORTABLE_PAGES: "Sortable Pages:"
+ UNSORTABLE_PAGES: "Unsortable Pages:"
+ ADMIN_SPECIFIC_OVERRIDES: "Admin Specific Overrides"
+ ADMIN_CHILDREN_DISPLAY_ORDER: "Children Display Order"
+ ADMIN_CHILDREN_DISPLAY_ORDER_HELP: "The order that children of this page should be displayed in the 'Pages' view of Admin plugin"
+ PWD_PLACEHOLDER: "complex string at least 8 chars long"
+ PWD_REGEX: "Password Regex"
+ PWD_REGEX_HELP: 'By default: Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters'
+ USERNAME_PLACEHOLDER: "lowercase chars only, e.g. 'admin'"
+ USERNAME_REGEX: "Username Regex"
+ USERNAME_REGEX_HELP: 'By default: Only lowercase chars, digits, dashes, and underscores. 3 - 16 chars'
+ CONTENT_PADDING: "Content padding"
+ CONTENT_PADDING_HELP: "Enable/Disable content padding around content area to provide more space"
+ ENABLE_AUTO_METADATA: "Auto metadata from Exif"
+ ENABLE_AUTO_METADATA_HELP: "Automatically generate metadata files for images with exif information"
+ 2FA_TITLE: "2-Factor Authentication"
+ 2FA_INSTRUCTIONS: "##### 2-Factor Authentication\nYou have **2FA** enabled on this account. Please use your **2FA** app to enter the current **6-digit code** to complete the login process."
+ 2FA_REGEN_HINT: "regenerating the secret this will require you to update your authenticator app"
+ 2FA_LABEL: "Yönetici Erişimi"
+ 2FA_FAILED: "Invalid 2-Factor Authentication code, please try again..."
+ 2FA_ENABLED: "2FA Aktif"
+ 2FA_CODE_INPUT: "000000"
+ 2FA_SECRET: "2FA Onay sistemi"
+ 2FA_SECRET_HELP: "Scan this QR code into your [Authenticator App](https://learn.getgrav.org/admin-panel/2fa#apps). Also it's a good idea to backup the secret in a safe location, in case you need to reinstall your app. Check the [Grav docs](https://learn.getgrav.org/admin-panel/2fa) for more information "
+ 2FA_REGENERATE: "Yeniden oluştur"
diff --git a/user/plugins/admin/languages/uk.yaml b/user/plugins/admin/languages/uk.yaml
new file mode 100644
index 0000000..9312ba4
--- /dev/null
+++ b/user/plugins/admin/languages/uk.yaml
@@ -0,0 +1,267 @@
+---
+PLUGIN_ADMIN:
+ ADMIN_BETA_MSG: "Це бета-реліз! Використовуйте його на продуктовому сервері на свій страх і ризик..."
+ ADMIN_REPORT_ISSUE: "Виявила проблему? Будь ласка, повідомте про це на GitHub."
+ LOGIN_BTN: "Увійти"
+ LOGIN_BTN_FORGOT: "Забув"
+ LOGIN_BTN_RESET: "Скинути пароль"
+ LOGIN_BTN_CLEAR: "Очистити форму"
+ LOGIN_BTN_CREATE_USER: "Створити користувача"
+ LOGIN_LOGGED_IN: "Ви успішно увійшли"
+ LOGIN_FAILED: "Не вдалося увійти"
+ FORGOT_FAILED_TO_EMAIL: "Не вдалося надіслати інструкції, будь ласка спробуйте пізніше"
+ FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Не вдалося скинути пароль для %s, не вказано емейл"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Не вдалося скинути пароль. Сайт не налаштований для відправлення листів."
+ FORGOT_EMAIL_BODY: "Скидання паролю
Клацніть тут, щоб скинути пароль
З найкращими побажаннями,
%3$s重設密碼
。增加你 'post_max_size' PHP 設置"
+ INSTALLING: "正在安裝"
+ LOADING: "讀取中..."
+ DEPENDENCIES_NOT_MET_MESSAGE: "The following dependencies need to be fulfilled first:"
+ ERROR_INSTALLING_PACKAGES: "安裝套裝程式時出錯"
+ INSTALLING_DEPENDENCIES: "正在安裝dependencies..."
+ INSTALLING_PACKAGES: "正在安裝套裝程式.."
+ PACKAGES_SUCCESSFULLY_INSTALLED: "成功安裝的套裝程式。"
+ READY_TO_INSTALL_PACKAGES: "準備安裝套裝程式"
+ PACKAGES_NOT_INSTALLED: "套件未安裝"
+ PACKAGES_NEED_UPDATE: "Packages already installed, but too old"
+ PACKAGES_SUGGESTED_UPDATE: "已安裝套裝軟體和版本是好的,但將會更新令你保持最新"
+ REMOVE_THE: "Remove the %s"
+ CONFIRM_REMOVAL: "是否確實要刪除此 %s?"
+ REMOVED_SUCCESSFULLY: "%s 已成功刪除"
+ ERROR_REMOVING_THE: "刪除 %s 時出錯"
+ ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED: "The %s required the following dependencies, which are not required by other installed packages. If you are not using them, you can remove them directly from here."
+ READY_TO_UPDATE_PACKAGES: "準備更新程式封裝"
+ ERROR_UPDATING_PACKAGES: "更新資料包時出現錯誤"
+ UPDATING_PACKAGES: "更新程式封裝中"
+ PACKAGES_SUCCESSFULLY_UPDATED: "已成功更新套裝程式"
+ UPDATING: "更新中"
+ GPM_RELEASES: "GPM 發佈"
+ GPM_RELEASES_HELP: "Choose 'Testing' to install beta or testing versions"
+ GPM_METHOD: "Remote Fetch Method"
+ GPM_METHOD_HELP: "當設置為 Auto,重力將確定 fopen 可用和使用它,否則回退到捲曲。要強制使用一個或其他切換設置。"
+ GPM_VERIFY_PEER: "Remote Verify Peer (SSL)"
+ GPM_VERIFY_PEER_HELP: "一些提供者似乎驗證失敗 getgrav.org SSL 證書,引起 GPM 不運行。如果這是您相符的情況,關閉此設置可能會有幫助"
+ AUTO: "自動"
+ FOPEN: "fopen"
+ CURL: "cURL"
+ STABLE: "穩定"
+ TESTING: "測試中"
+ FRONTMATTER_PROCESS_TWIG: "處理frontmatter Twig"
+ FRONTMATTER_PROCESS_TWIG_HELP: "當啟用時你可以在頁中front matter使用Twig 設定變數"
+ FRONTMATTER_IGNORE_FIELDS: "忽略 frontmatter 欄位"
+ FRONTMATTER_IGNORE_FIELDS_HELP: "某些Frontmatter 的欄位可能包含Twig,但不應被處理,如 '表格'"
+ PACKAGE_X_INSTALLED_SUCCESSFULLY: "安裝包 %s成功安裝"
+ NEEDS_GRAV_1_1: " 你正在運行Grav v%s。你必須更新到最新的 Grav v1.1.x 版本,以確保相容性。這可能需要切換到 測試 GPM 發布 系統組態中。"
+ ORDERING_DISABLED_BECAUSE_PARENT_SETTING_ORDER: "Parent setting order,排序失效"
+ ORDERING_DISABLED_BECAUSE_PAGE_NOT_VISIBLE: "不可見的頁面,排序失效"
+ ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS: "通過管理員排序是不受支援的,因為多過200 多個手足"
+ CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED: 注意︰ 您不能添加媒體檔案直到您保存網頁。只需按一下在上面的'保存'
+ CANNOT_ADD_FILES_PAGE_NOT_SAVED: 注意︰ 網頁必須保存之前你可以將檔上載到它。
+ DROP_FILES_HERE_TO_UPLOAD: "拖曳您的檔在這裡或 在此區域中按一下"
+ INSERT: "插入"
+ UNDO: "還原"
+ REDO: "恢复"
+ HEADERS: "標題"
+ BOLD: "粗體"
+ ITALIC: "斜體"
+ STRIKETHROUGH: "刪除線"
+ SUMMARY_DELIMITER: "摘要分隔符號"
+ LINK: "鏈結"
+ IMAGE: "圖片"
+ BLOCKQUOTE: "引用文字"
+ UNORDERED_LIST: "項目符號清單"
+ ORDERED_LIST: "編號清單"
+ EDITOR: "编辑器"
+ PREVIEW: "預覽"
+ FULLSCREEN: "全螢幕"
+ MODULAR: "模組化"
+ NON_ROUTABLE: "非路由"
+ NON_MODULAR: "非模組化"
+ NON_VISIBLE: "非可見"
+ NON_PUBLISHED: "不被出版"
+ CHARACTERS: "字元"
+ PUBLISHING: "出版中"
+ NOTIFICATIONS: "通知"
+ MEDIA_TYPES: "媒體類型"
+ IMAGE_OPTIONS: "圖像選項"
+ MIME_TYPE: "Mime 類型"
+ THUMB: "縮圖"
+ TYPE: "類型"
+ FILE_EXTENSION: "檔案延伸檔名"
+ LEGEND: "頁面 Legend"
+ MEMCACHE_SERVER: "Memcache 伺服器"
+ MEMCACHE_SERVER_HELP: "Memcache 伺服器位址"
+ MEMCACHE_PORT: "Memcache 埠"
+ MEMCACHE_PORT_HELP: "Memcache 伺服器埠"
+ MEMCACHED_SERVER: "Memcache 伺服器"
+ MEMCACHED_SERVER_HELP: "Memcache 伺服器位址"
+ MEMCACHED_PORT: "Memcache 埠"
+ MEMCACHED_PORT_HELP: "Memcache 伺服器埠"
+ REDIS_SERVER: "Redis伺服器"
+ REDIS_SERVER_HELP: "Redis伺服器位址"
+ REDIS_PORT: "Redis埠"
+ REDIS_PORT_HELP: "Redis伺服器埠"
+ ALL: "所有"
+ FROM: "從"
+ TO: "到"
+ RELEASE_DATE: "發佈日期 "
+ SORT_BY: "排序按"
+ RESOURCE_FILTER: "篩選..."
+ FORCE_SSL: "強制 SSL"
+ FORCE_SSL_HELP: "整體的強制 SSL,如果啟用時網站達到通過 HTTP,GRAV發送一個重定向到 HTTPS 頁"
+ NEWS_FEED: "動態消息"
+ EXTERNAL_URL: "外部URL"
+ SESSION_PATH: "Session路徑"
+ SESSION_PATH_HELP: "只有使用在如您選擇自訂的base URL (你重寫網站域名稱 / 子資料夾)"
+ CUSTOM_BASE_URL: "自訂的基本 URL"
+ CUSTOM_BASE_URL_HELP: '如果你想要重寫網站域名或使用一個不同子的資料夾,使用。示例︰ Http://localhost'
+ FILEUPLOAD_PREVENT_SELF: '在頁面之外不能使用"%s"'
+ FILEUPLOAD_UNABLE_TO_UPLOAD: '無法上載檔 %s: %s'
+ FILEUPLOAD_UNABLE_TO_MOVE: '無法將檔案"%s"移到 %s'
+ DROPZONE_CANCEL_UPLOAD: '取消上傳'
+ DROPZONE_CANCEL_UPLOAD_CONFIRMATION: '你確定想要取消這個上傳?'
+ DROPZONE_DEFAULT_MESSAGE: '拖曳您的檔在這裡或 在此區域中按一下'
+ DROPZONE_FALLBACK_MESSAGE: '您的瀏覽器並不支援拖曳放置檔案上傳。'
+ DROPZONE_FALLBACK_TEXT: '請使用下面的回退表單上傳你的檔案'
+ DROPZONE_FILE_TOO_BIG: 檔太大 ({{filesize}}MiB)。最大檔案大小︰ {{maxFilesize}}MiB。
+ DROPZONE_INVALID_FILE_TYPE: "您不能上傳該類型的文件"
+ DROPZONE_MAX_FILES_EXCEEDED: "您不能上傳更多任何的檔案。"
+ DROPZONE_REMOVE_FILE: "移除檔案"
+ DROPZONE_RESPONSE_ERROR: "伺服器回應 {{statusCode}} 代碼。"
+ ADMIN_CACHING: "啟用緩存管理"
+ ADMIN_CACHING_HELP: "緩存在管理員能夠進行獨立控制從前端網站"
+ DESTINATION_NOT_SPECIFIED: "未指定目標位置"
+ UPLOAD_ERR_NO_TMP_DIR: "遺失暫存資料夾"
+ SESSION_SPLIT: "Session 拆分"
+ SESSION_SPLIT_HELP: "獨立拆分session在網站和其他外掛程式之間(如 admin)"
+ ERROR_FULL_BACKTRACE: "Full Backtrace 錯誤"
+ ERROR_SIMPLE: "簡易錯誤"
+ ERROR_SYSTEM: "出現系統錯誤"
diff --git a/user/plugins/admin/pages/admin/ajax.md b/user/plugins/admin/pages/admin/ajax.md
new file mode 100644
index 0000000..0692fd8
--- /dev/null
+++ b/user/plugins/admin/pages/admin/ajax.md
@@ -0,0 +1,7 @@
+---
+title: Generic Ajax
+template: default
+
+access:
+ admin.login: true
+---
diff --git a/user/plugins/admin/pages/admin/backup.md b/user/plugins/admin/pages/admin/backup.md
new file mode 100644
index 0000000..0e092d7
--- /dev/null
+++ b/user/plugins/admin/pages/admin/backup.md
@@ -0,0 +1,8 @@
+---
+title: Backup
+template: default
+
+access:
+ admin.maintenance: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/cache.md b/user/plugins/admin/pages/admin/cache.md
new file mode 100644
index 0000000..af7f42b
--- /dev/null
+++ b/user/plugins/admin/pages/admin/cache.md
@@ -0,0 +1,9 @@
+---
+title: Cache
+template: default
+
+access:
+ admin.cache: true
+ admin.super: true
+ admin.maintenance: true
+---
diff --git a/user/plugins/admin/pages/admin/config.md b/user/plugins/admin/pages/admin/config.md
new file mode 100644
index 0000000..aa5fef1
--- /dev/null
+++ b/user/plugins/admin/pages/admin/config.md
@@ -0,0 +1,7 @@
+---
+title: Config
+
+access:
+ admin.configuration: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/dashboard.md b/user/plugins/admin/pages/admin/dashboard.md
new file mode 100644
index 0000000..8396202
--- /dev/null
+++ b/user/plugins/admin/pages/admin/dashboard.md
@@ -0,0 +1,7 @@
+---
+title: Dashboard
+
+access:
+ admin.login: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/denied.md b/user/plugins/admin/pages/admin/denied.md
new file mode 100644
index 0000000..1dc329d
--- /dev/null
+++ b/user/plugins/admin/pages/admin/denied.md
@@ -0,0 +1,4 @@
+---
+title: Access Denied
+---
+
diff --git a/user/plugins/admin/pages/admin/feed.md b/user/plugins/admin/pages/admin/feed.md
new file mode 100644
index 0000000..828d867
--- /dev/null
+++ b/user/plugins/admin/pages/admin/feed.md
@@ -0,0 +1,7 @@
+---
+title: News Feed
+template: ajax
+
+access:
+ admin.login: true
+---
diff --git a/user/plugins/admin/pages/admin/forgot.md b/user/plugins/admin/pages/admin/forgot.md
new file mode 100644
index 0000000..993a35f
--- /dev/null
+++ b/user/plugins/admin/pages/admin/forgot.md
@@ -0,0 +1,12 @@
+---
+title: Forgot password
+
+form:
+ fields:
+ - name: username
+ type: text
+ placeholder: PLUGIN_ADMIN.USERNAME
+ autofocus: true
+ validate:
+ required: true
+---
diff --git a/user/plugins/admin/pages/admin/info.md b/user/plugins/admin/pages/admin/info.md
new file mode 100644
index 0000000..ca950fd
--- /dev/null
+++ b/user/plugins/admin/pages/admin/info.md
@@ -0,0 +1,7 @@
+---
+title: PHP Info
+template: config
+access:
+ admin.settings: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/installer.md b/user/plugins/admin/pages/admin/installer.md
new file mode 100644
index 0000000..85a7d08
--- /dev/null
+++ b/user/plugins/admin/pages/admin/installer.md
@@ -0,0 +1,7 @@
+---
+title: Installer
+
+access:
+ admin.install: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/login.md b/user/plugins/admin/pages/admin/login.md
new file mode 100644
index 0000000..f1363ee
--- /dev/null
+++ b/user/plugins/admin/pages/admin/login.md
@@ -0,0 +1,37 @@
+---
+title: Admin Login
+
+forms:
+ login:
+ action:
+ method: post
+
+ fields:
+ username:
+ type: text
+ placeholder: PLUGIN_ADMIN.USERNAME_EMAIL
+ autofocus: true
+ validate:
+ required: true
+
+ password:
+ type: password
+ placeholder: PLUGIN_ADMIN.PASSWORD
+ validate:
+ required: true
+
+ login-twofa:
+ action:
+ method: post
+
+ fields:
+ 2fa_instructions:
+ type: display
+ markdown: true
+ content: PLUGIN_ADMIN.2FA_INSTRUCTIONS
+ 2fa_code:
+ type: text
+ id: twofa-code
+ autofocus: true
+ placeholder: PLUGIN_ADMIN.2FA_CODE_INPUT
+---
diff --git a/user/plugins/admin/pages/admin/media.md b/user/plugins/admin/pages/admin/media.md
new file mode 100644
index 0000000..e3c1118
--- /dev/null
+++ b/user/plugins/admin/pages/admin/media.md
@@ -0,0 +1,8 @@
+---
+title: Media
+template: default
+
+access:
+ admin.pages: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/notifications.md b/user/plugins/admin/pages/admin/notifications.md
new file mode 100644
index 0000000..df8aff4
--- /dev/null
+++ b/user/plugins/admin/pages/admin/notifications.md
@@ -0,0 +1,7 @@
+---
+title: Notifications
+template: default
+
+access:
+ admin.login: true
+---
diff --git a/user/plugins/admin/pages/admin/pages-filter.md b/user/plugins/admin/pages/admin/pages-filter.md
new file mode 100644
index 0000000..f196f0d
--- /dev/null
+++ b/user/plugins/admin/pages/admin/pages-filter.md
@@ -0,0 +1,8 @@
+---
+title: Pages Filter
+template: default
+
+access:
+ admin.pages: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/pages.md b/user/plugins/admin/pages/admin/pages.md
new file mode 100644
index 0000000..b1f7fc4
--- /dev/null
+++ b/user/plugins/admin/pages/admin/pages.md
@@ -0,0 +1,7 @@
+---
+title: Pages
+
+access:
+ admin.pages: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/plugins.md b/user/plugins/admin/pages/admin/plugins.md
new file mode 100644
index 0000000..d61155f
--- /dev/null
+++ b/user/plugins/admin/pages/admin/plugins.md
@@ -0,0 +1,7 @@
+---
+title: Plugins
+
+access:
+ admin.plugins: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/preview.md b/user/plugins/admin/pages/admin/preview.md
new file mode 100644
index 0000000..9699499
--- /dev/null
+++ b/user/plugins/admin/pages/admin/preview.md
@@ -0,0 +1,7 @@
+---
+title: Preview
+
+access:
+ admin.pages: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/register.md b/user/plugins/admin/pages/admin/register.md
new file mode 100644
index 0000000..aec3858
--- /dev/null
+++ b/user/plugins/admin/pages/admin/register.md
@@ -0,0 +1,56 @@
+---
+form:
+ fields:
+ - name: username
+ type: text
+ label: PLUGIN_ADMIN.USERNAME
+ autofocus: true
+ placeholder: PLUGIN_ADMIN.USERNAME_PLACEHOLDER
+ validate:
+ required: true
+ message: PLUGIN_LOGIN.USERNAME_NOT_VALID
+ config-pattern@: system.username_regex
+
+ - name: email
+ type: email
+ label: PLUGIN_ADMIN.EMAIL
+ placeholder: "valid email address"
+ validate:
+ type: email
+ message: PLUGIN_ADMIN.EMAIL_VALIDATION_MESSAGE
+ required: true
+
+ - name: password1
+ type: password
+ label: PLUGIN_ADMIN.PASSWORD
+ placeholder: PLUGIN_ADMIN.PWD_PLACEHOLDER
+ validate:
+ required: true
+ message: PLUGIN_ADMIN.PASSWORD_VALIDATION_MESSAGE
+ config-pattern@: system.pwd_regex
+
+ - name: password2
+ type: password
+ label: PLUGIN_ADMIN.PASSWORD_CONFIRM
+ placeholder: PLUGIN_ADMIN.PWD_PLACEHOLDER
+ validate:
+ required: true
+ message: PLUGIN_ADMIN.PASSWORD_VALIDATION_MESSAGE
+ config-pattern@: system.pwd_regex
+
+ - name: fullname
+ type: text
+ placeholder: "e.g. 'Joe Schmoe'"
+ label: PLUGIN_ADMIN.FULL_NAME
+
+ - name: title
+ type: text
+ placeholder: "e.g. 'Administrator'"
+ label: PLUGIN_ADMIN.TITLE
+
+ process:
+ register_admin_user: true
+
+---
+
+The Admin plugin has been installed, but no **admin accounts** could be found. Please create an admin account to ensure your Grav install is secure...
diff --git a/user/plugins/admin/pages/admin/reset.md b/user/plugins/admin/pages/admin/reset.md
new file mode 100644
index 0000000..71108da
--- /dev/null
+++ b/user/plugins/admin/pages/admin/reset.md
@@ -0,0 +1,16 @@
+---
+title: Reset password
+
+form:
+ fields:
+ - name: username
+ type: text
+ placeholder: PLUGIN_ADMIN.USERNAME
+ readonly: true
+ - name: password
+ type: password
+ placeholder: PLUGIN_ADMIN.PASSWORD
+ autofocus: true
+ - name: token
+ type: hidden
+---
diff --git a/user/plugins/admin/pages/admin/site.md b/user/plugins/admin/pages/admin/site.md
new file mode 100644
index 0000000..437c289
--- /dev/null
+++ b/user/plugins/admin/pages/admin/site.md
@@ -0,0 +1,7 @@
+---
+title: Site Settings
+template: config
+access:
+ admin.settings: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/statistics.md b/user/plugins/admin/pages/admin/statistics.md
new file mode 100644
index 0000000..9a6f968
--- /dev/null
+++ b/user/plugins/admin/pages/admin/statistics.md
@@ -0,0 +1,7 @@
+---
+title: Statistics
+
+access:
+ admin.statistics: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/system.md b/user/plugins/admin/pages/admin/system.md
new file mode 100644
index 0000000..7656018
--- /dev/null
+++ b/user/plugins/admin/pages/admin/system.md
@@ -0,0 +1,7 @@
+---
+title: Configuration
+template: config
+access:
+ admin.configuration: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/themes.md b/user/plugins/admin/pages/admin/themes.md
new file mode 100644
index 0000000..57d6217
--- /dev/null
+++ b/user/plugins/admin/pages/admin/themes.md
@@ -0,0 +1,7 @@
+---
+title: Grav Themes
+
+access:
+ admin.themes: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/tools.md b/user/plugins/admin/pages/admin/tools.md
new file mode 100644
index 0000000..50c13d6
--- /dev/null
+++ b/user/plugins/admin/pages/admin/tools.md
@@ -0,0 +1,7 @@
+---
+title: Grav Tools
+
+access:
+ admin.tools: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/update.md b/user/plugins/admin/pages/admin/update.md
new file mode 100644
index 0000000..1343a62
--- /dev/null
+++ b/user/plugins/admin/pages/admin/update.md
@@ -0,0 +1,8 @@
+---
+title: Updates
+template: default
+
+access:
+ admin.maintenance: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/pages/admin/user.md b/user/plugins/admin/pages/admin/user.md
new file mode 100644
index 0000000..eb7561e
--- /dev/null
+++ b/user/plugins/admin/pages/admin/user.md
@@ -0,0 +1,8 @@
+---
+title: User
+
+access:
+ admin.users: true
+ admin.login: true
+ admin.super: true
+---
diff --git a/user/plugins/admin/tests/_bootstrap.php b/user/plugins/admin/tests/_bootstrap.php
new file mode 100644
index 0000000..9b932bd
--- /dev/null
+++ b/user/plugins/admin/tests/_bootstrap.php
@@ -0,0 +1,11 @@
+controller = new \Grav\Plugin\Admin\AdminController();
+ }
+
+ protected function _after()
+ {
+
+ }
+
+ public function testDetermineFilenameIncludingLanguage()
+ {
+ $language = 'en-GB';
+
+ $this->assertSame('testing.en-GB.md', $this->controller->determineFilenameIncludingLanguage('testing.md', $language));
+ $this->assertSame('testing.en-GB.md', $this->controller->determineFilenameIncludingLanguage('testing.en.md', $language));
+ $this->assertSame('testing.en-GB.md', $this->controller->determineFilenameIncludingLanguage('testing.it.md', $language));
+ $this->assertSame('testing.en-GB.md', $this->controller->determineFilenameIncludingLanguage('testing.en-GB.md', $language));
+
+ $language = 'it';
+
+ $this->assertSame('testing.it.md', $this->controller->determineFilenameIncludingLanguage('testing.md', $language));
+ $this->assertSame('testing.it.md', $this->controller->determineFilenameIncludingLanguage('testing.en.md', $language));
+ $this->assertSame('testing.it.md', $this->controller->determineFilenameIncludingLanguage('testing.it.md', $language));
+ $this->assertSame('testing.it.md', $this->controller->determineFilenameIncludingLanguage('testing.en-GB.md', $language));
+ }
+}
+
diff --git a/user/plugins/admin/themes/grav/.eslintrc b/user/plugins/admin/themes/grav/.eslintrc
new file mode 100644
index 0000000..1e57de5
--- /dev/null
+++ b/user/plugins/admin/themes/grav/.eslintrc
@@ -0,0 +1,165 @@
+{
+ "env": {
+ "browser": true,
+ "node": true
+ },
+
+ "parserOptions": {
+ "ecmaVersion": 6,
+ "sourceType": "module"
+ },
+
+ "rules": {
+ "accessor-pairs": 2,
+ "array-bracket-spacing": 0,
+ "block-scoped-var": 0,
+ "brace-style": [2, "1tbs", { "allowSingleLine": true }],
+ "camelcase": 0,
+ "comma-dangle": [2, "never"],
+ "comma-spacing": [2, { "before": false, "after": true }],
+ "comma-style": [2, "last"],
+ "complexity": 0,
+ "computed-property-spacing": 0,
+ "consistent-return": 0,
+ "consistent-this": 0,
+ "constructor-super": 2,
+ "curly": [2, "multi-line"],
+ "default-case": 0,
+ "dot-location": [2, "property"],
+ "dot-notation": 0,
+ "eol-last": 2,
+ "eqeqeq": [2, "allow-null"],
+ "func-names": 0,
+ "func-style": 0,
+ "generator-star-spacing": [2, { "before": true, "after": true }],
+ "guard-for-in": 0,
+ "handle-callback-err": [2, "^(err|error)$" ],
+ "indent": [2, 4, { "SwitchCase": 1 }],
+ "key-spacing": [2, { "beforeColon": false, "afterColon": true }],
+ "linebreak-style": 0,
+ "lines-around-comment": 0,
+ "max-nested-callbacks": 0,
+ "new-cap": [2, { "newIsCap": true, "capIsNew": false }],
+ "new-parens": 2,
+ "newline-after-var": 0,
+ "no-alert": 0,
+ "no-array-constructor": 2,
+ "no-caller": 2,
+ "no-catch-shadow": 0,
+ "no-cond-assign": 2,
+ "no-console": 0,
+ "no-constant-condition": 0,
+ "no-continue": 0,
+ "no-control-regex": 2,
+ "no-debugger": 2,
+ "no-delete-var": 2,
+ "no-div-regex": 0,
+ "no-dupe-args": 2,
+ "no-dupe-keys": 2,
+ "no-duplicate-case": 2,
+ "no-else-return": 0,
+ "no-empty": 0,
+ "no-empty-character-class": 2,
+ "no-eq-null": 0,
+ "no-eval": 2,
+ "no-ex-assign": 2,
+ "no-extend-native": 2,
+ "no-extra-bind": 2,
+ "no-extra-boolean-cast": 2,
+ "no-extra-parens": 0,
+ "no-extra-semi": 0,
+ "no-fallthrough": 2,
+ "no-floating-decimal": 2,
+ "no-func-assign": 2,
+ "no-implied-eval": 2,
+ "no-inline-comments": 0,
+ "no-inner-declarations": [2, "functions"],
+ "no-invalid-regexp": 2,
+ "no-irregular-whitespace": 2,
+ "no-iterator": 2,
+ "no-label-var": 2,
+ "no-labels": 2,
+ "no-lone-blocks": 2,
+ "no-lonely-if": 0,
+ "no-loop-func": 0,
+ "no-mixed-requires": 0,
+ "no-mixed-spaces-and-tabs": 2,
+ "no-multi-spaces": 2,
+ "no-multi-str": 2,
+ "no-multiple-empty-lines": [2, { "max": 1 }],
+ "no-native-reassign": 2,
+ "no-negated-in-lhs": 2,
+ "no-nested-ternary": 0,
+ "no-new": 2,
+ "no-new-func": 0,
+ "no-new-object": 2,
+ "no-new-require": 2,
+ "no-new-wrappers": 2,
+ "no-obj-calls": 2,
+ "no-octal": 2,
+ "no-octal-escape": 2,
+ "no-param-reassign": 0,
+ "no-path-concat": 0,
+ "no-process-env": 0,
+ "no-process-exit": 0,
+ "no-proto": 0,
+ "no-redeclare": 2,
+ "no-regex-spaces": 2,
+ "no-restricted-modules": 0,
+ "no-return-assign": 2,
+ "no-script-url": 0,
+ "no-self-compare": 2,
+ "no-sequences": 2,
+ "no-shadow": 0,
+ "no-shadow-restricted-names": 2,
+ "no-spaced-func": 2,
+ "no-sparse-arrays": 2,
+ "no-sync": 0,
+ "no-ternary": 0,
+ "no-this-before-super": 2,
+ "no-throw-literal": 2,
+ "no-trailing-spaces": 2,
+ "no-undef": 2,
+ "no-undef-init": 2,
+ "no-undefined": 0,
+ "no-underscore-dangle": 0,
+ "no-unexpected-multiline": 2,
+ "no-unneeded-ternary": 2,
+ "no-unreachable": 2,
+ "no-unused-expressions": 0,
+ "no-unused-vars": [2, { "vars": "all", "args": "none" }],
+ "no-use-before-define": 0,
+ "no-var": 0,
+ "no-void": 0,
+ "no-warning-comments": 0,
+ "no-with": 2,
+ "object-curly-spacing": 0,
+ "object-shorthand": 0,
+ "one-var": [2, { "initialized": "never" }],
+ "operator-assignment": 0,
+ "operator-linebreak": [2, "after", { "overrides": { "?": "before", ":": "before" } }],
+ "padded-blocks": 0,
+ "prefer-const": 0,
+ "quote-props": 0,
+ "quotes": [2, "single", "avoid-escape"],
+ "radix": 2,
+ "semi": [2, "always"],
+ "semi-spacing": 0,
+ "sort-vars": 0,
+ "keyword-spacing": [2, {"after": true, "overrides": {"throw": { "after": true}, "return": { "before": true }}}],
+ "space-before-blocks": [2, "always"],
+ "space-before-function-paren": [2, "never"],
+ "space-in-parens": [2, "never"],
+ "space-infix-ops": 2,
+ "space-unary-ops": [2, { "words": true, "nonwords": false }],
+ "spaced-comment": [2, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!"] }],
+ "strict": 0,
+ "use-isnan": 2,
+ "valid-jsdoc": 0,
+ "valid-typeof": 2,
+ "vars-on-top": 0,
+ "wrap-iife": [2, "any"],
+ "wrap-regex": 0,
+ "yoda": [2, "never"]
+ }
+}
diff --git a/user/plugins/admin/themes/grav/app/dashboard/backup.js b/user/plugins/admin/themes/grav/app/dashboard/backup.js
new file mode 100644
index 0000000..f7eaecb
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/dashboard/backup.js
@@ -0,0 +1,24 @@
+import $ from 'jquery';
+import { translations } from 'grav-config';
+import request from '../utils/request';
+import { Instances as Charts } from './chart';
+
+$('[data-ajax*="task:backup"]').on('click', function() {
+ let element = $(this);
+ let url = element.data('ajax');
+
+ element
+ .attr('disabled', 'disabled')
+ .find('> .fa').removeClass('fa-database').addClass('fa-spin fa-refresh');
+
+ request(url, (/* response */) => {
+ if (Charts && Charts.backups) {
+ Charts.backups.updateData({ series: [0, 100] });
+ Charts.backups.element.find('.numeric').html(`0 ${translations.PLUGIN_ADMIN.DAYS.toLowerCase()}`);
+ }
+
+ element
+ .removeAttr('disabled')
+ .find('> .fa').removeClass('fa-spin fa-refresh').addClass('fa-database');
+ });
+});
diff --git a/user/plugins/admin/themes/grav/app/dashboard/cache.js b/user/plugins/admin/themes/grav/app/dashboard/cache.js
new file mode 100644
index 0000000..e65fd49
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/dashboard/cache.js
@@ -0,0 +1,49 @@
+import $ from 'jquery';
+import { config } from 'grav-config';
+import request from '../utils/request';
+
+const getUrl = (type = '') => {
+ if (type) {
+ type = `cleartype:${type}/`;
+ }
+
+ return `${config.base_url_relative}/cache.json/task${config.param_sep}clearCache/${type}admin-nonce${config.param_sep}${config.admin_nonce}`;
+};
+
+export default class Cache {
+ constructor() {
+ this.element = $('[data-clear-cache]');
+ $('body').on('click', '[data-clear-cache]', (event) => this.clear(event, event.target));
+ }
+
+ clear(event, element) {
+ let type = '';
+
+ if (event && event.preventDefault) { event.preventDefault(); }
+ if (typeof event === 'string') { type = event; }
+
+ element = element ? $(element) : $(`[data-clear-cache-type="${type}"]`);
+ type = type || $(element).data('clear-cache-type') || '';
+ let url = element.data('clearCache') || getUrl(type);
+
+ this.disable();
+
+ request(url, () => this.enable());
+ }
+
+ enable() {
+ this.element
+ .removeAttr('disabled')
+ .find('> .fa').removeClass('fa-refresh fa-spin').addClass('fa-trash');
+ }
+
+ disable() {
+ this.element
+ .attr('disabled', 'disabled')
+ .find('> .fa').removeClass('fa-trash').addClass('fa-refresh fa-spin');
+ }
+}
+
+let Instance = new Cache();
+
+export { Instance };
diff --git a/user/plugins/admin/themes/grav/app/dashboard/chart.js b/user/plugins/admin/themes/grav/app/dashboard/chart.js
new file mode 100644
index 0000000..1963894
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/dashboard/chart.js
@@ -0,0 +1,138 @@
+import $ from 'jquery';
+import chartist from 'chartist';
+import { translations } from 'grav-config';
+import { Instance as gpm } from '../utils/gpm';
+import { Instance as updates } from '../updates';
+
+let isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
+
+export const defaults = {
+ data: {
+ series: [100, 0]
+ },
+ options: {
+ Pie: {
+ donut: true,
+ donutWidth: 10,
+ startAngle: 0,
+ total: 100,
+ showLabel: false,
+ height: 150,
+ // chartPadding: !isFirefox ? 10 : 25 // workaround for older versions of firefox
+ chartPadding: 5
+ },
+ Bar: {
+ height: 164,
+ chartPadding: !isFirefox ? 5 : 10, // workaround for older versions of firefox
+
+ axisX: {
+ showGrid: false,
+ labelOffset: {
+ x: 0,
+ y: 0
+ }
+ },
+ axisY: {
+ offset: 15,
+ showLabel: true,
+ showGrid: true,
+ labelOffset: {
+ x: 5,
+ y: 5
+ },
+ scaleMinSpace: !isFirefox ? 20 : 10
+ }
+ }
+ }
+};
+
+export default class Chart {
+ constructor(element, options = {}, data = {}) {
+ this.element = $(element) || [];
+ if (!this.element[0]) { return; }
+
+ let type = (this.element.data('chart-type') || 'pie').toLowerCase();
+ this.type = type.charAt(0).toUpperCase() + type.substr(1).toLowerCase();
+
+ options = Object.assign({}, defaults.options[this.type], options);
+ data = Object.assign({}, defaults.data, data);
+ Object.assign(this, {
+ options,
+ data
+ });
+ this.chart = chartist[this.type](this.element.find('.ct-chart').empty()[0], this.data, this.options);
+ this.chart.on('created', () => {
+ this.element.find('.hidden').removeClass('hidden');
+
+ // FIX: workaround for chartist issue not allowing HTML in labels anymore
+ // https://github.com/gionkunz/chartist-js/issues/937
+ this.element.find('.ct-label').each((index, label) => {
+ label = $(label);
+ const text = label.html().replace('<', '<').replace('>', '>');
+ label.html(text);
+ });
+ });
+ }
+
+ updateData(data) {
+ Object.assign(this.data, data);
+ this.chart.update(this.data);
+ }
+};
+
+export class UpdatesChart extends Chart {
+ constructor(element, options = {}, data = {}) {
+ super(element, options, data);
+
+ this.chart.on('draw', (data) => this.draw(data));
+
+ gpm.on('fetched', (response) => {
+ if (!response.payload) { return; }
+
+ let payload = response.payload.grav;
+ let missing = (response.payload.resources.total + (payload.isUpdatable ? 1 : 0)) * 100 / (response.payload.installed + (payload.isUpdatable ? 1 : 0));
+ let updated = 100 - missing;
+
+ this.updateData({ series: [updated, missing] });
+
+ if (response.payload.resources.total) {
+ updates.maintenance('show');
+ }
+ });
+ }
+
+ draw(data) {
+ if (data.index) { return; }
+
+ let notice = translations.PLUGIN_ADMIN[data.value === 100 ? 'FULLY_UPDATED' : 'UPDATES_AVAILABLE'];
+ this.element.find('.numeric span').text(`${Math.round(data.value)}%`);
+ this.element.find('.js__updates-available-description').html(notice);
+ this.element.find('.hidden').removeClass('hidden');
+ }
+
+ updateData(data) {
+ super.updateData(data);
+
+ // missing updates
+ if (this.data.series[0] < 100) {
+ this.element.closest('#updates').find('[data-update-packages]').fadeIn();
+ }
+ }
+}
+
+let charts = {};
+
+$('[data-chart-name]').each(function() {
+ let element = $(this);
+ let name = element.data('chart-name') || '';
+ let options = element.data('chart-options') || {};
+ let data = element.data('chart-data') || {};
+
+ if (name === 'updates') {
+ charts[name] = new UpdatesChart(element, options, data);
+ } else {
+ charts[name] = new Chart(element, options, data);
+ }
+});
+
+export let Instances = charts;
diff --git a/user/plugins/admin/themes/grav/app/dashboard/index.js b/user/plugins/admin/themes/grav/app/dashboard/index.js
new file mode 100644
index 0000000..7adee0d
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/dashboard/index.js
@@ -0,0 +1,12 @@
+import Chart, { UpdatesChart, Instances } from './chart';
+import { Instance as Cache } from './cache';
+import './backup';
+
+export default {
+ Chart: {
+ Chart,
+ UpdatesChart,
+ Instances
+ },
+ Cache
+};
diff --git a/user/plugins/admin/themes/grav/app/dashboard/update.js b/user/plugins/admin/themes/grav/app/dashboard/update.js
new file mode 100644
index 0000000..acf1bb7
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/dashboard/update.js
@@ -0,0 +1 @@
+// See ../updates/update.js
diff --git a/user/plugins/admin/themes/grav/app/forms/fields/array.js b/user/plugins/admin/themes/grav/app/forms/fields/array.js
new file mode 100644
index 0000000..2b6ead5
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/forms/fields/array.js
@@ -0,0 +1,187 @@
+import $ from 'jquery';
+import Sortable from 'sortablejs';
+
+let body = $('body');
+
+class Template {
+ constructor(container) {
+ this.container = $(container);
+
+ if (this.getName() === undefined) {
+ this.container = this.container.closest('[data-grav-array-name]');
+ }
+ }
+
+ getName() {
+ return this.container.data('grav-array-name') || '';
+ }
+
+ getKeyPlaceholder() {
+ return this.container.data('grav-array-keyname') || 'Key';
+ }
+
+ getValuePlaceholder() {
+ return this.container.data('grav-array-valuename') || 'Value';
+ }
+
+ isValueOnly() {
+ return this.container.find('[data-grav-array-mode="value_only"]:first').length || false;
+ }
+
+ shouldBeDisabled() {
+ // check for toggleables, if field is toggleable and it's not enabled, render disabled
+ let toggle = this.container.closest('.form-field').find('[data-grav-field="toggleable"] input[type="checkbox"]');
+ return toggle.length && toggle.is(':not(:checked)');
+ }
+
+ getNewRow() {
+ let tpl = '';
+
+ if (this.isValueOnly()) {
+ tpl += `
+ ');
+ Buttons[map[type]].forEach((button) => this.renderButton(button, type));
+ });
+ }
+
+ renderButton(button, type, location = null) {
+ Object.keys(button).forEach((key) => {
+ let obj = button[key];
+ if (!obj.modes) { obj.modes = []; }
+ if (!~this.codemirror.options.ignore.indexOf(key) && (!obj.modes.length || obj.modes.indexOf(this.codemirror.options.mode) > -1)) {
+ let hint = obj.title ? `data-hint="${obj.title}"` : '';
+ let element = $(`
`;
+ }
+
+ return `
+
${response.message}`
+ });
+ }
+
+ onDropzoneComplete(file) {
+ if (!file.accepted && !file.rejected) {
+ let data = {
+ status: 'error',
+ message: `${translations.PLUGIN_ADMIN.FILE_UNSUPPORTED}: ${file.name.match(/\..+/).join('')}`
+ };
+
+ return this.handleError({
+ file,
+ data,
+ mode: 'removeFile',
+ msg: `${data.message}`
+ });
+ }
+
+ if (this.options.reloadPage) {
+ global.location.reload();
+ }
+ }
+
+ b64_to_utf8(str) {
+ str = str.replace(/\s/g, '');
+ return decodeURIComponent(escape(window.atob(str)));
+ }
+
+ onDropzoneRemovedFile(file, ...extra) {
+ if (!file.accepted || file.rejected) { return; }
+ let url = file.removeUrl || this.urls.delete;
+ let path = (url || '').match(/path:(.*)\//);
+ let body = { filename: file.name, uri: this.getURI() };
+
+ if (file.sessionParams) {
+ body.task = 'filessessionremove';
+ body.session = file.sessionParams;
+ }
+
+ request(url, { method: 'post', body }, () => {
+ if (!path) { return; }
+
+ path = this.b64_to_utf8(path[1]);
+ let input = this.container.find('[name][type="hidden"]');
+ let data = JSON.parse(input.val() || '{}');
+ delete data[path];
+ input.val(JSON.stringify(data));
+ });
+ }
+
+ onDropzoneError(file, response, xhr) {
+ let message = xhr ? response.error.message : response;
+ $(file.previewElement).find('[data-dz-errormessage]').html(message);
+
+ return this.handleError({
+ file,
+ data: { status: 'error' },
+ msg: `${message}`
+ });
+ }
+
+ handleError(options) {
+ let { file, data, mode, msg } = options;
+ if (data.status !== 'error' && data.status !== 'unauthorized') { return; }
+
+ switch (mode) {
+ case 'addBack':
+ if (file instanceof File) {
+ this.dropzone.addFile.call(this.dropzone, file);
+ } else {
+ this.dropzone.files.push(file);
+ this.dropzone.options.addedfile.call(this.dropzone, file);
+ this.dropzone.options.thumbnail.call(this.dropzone, file, file.extras.url);
+ }
+
+ break;
+ case 'removeFile':
+ default:
+ if (~this.dropzone.files.indexOf(file)) {
+ file.rejected = true;
+ this.dropzone.removeFile.call(this.dropzone, file, { silent: true });
+ }
+
+ break;
+ }
+
+ let modal = $('[data-remodal-id="generic"]');
+ modal.find('.error-content').html(msg);
+ $.remodal.lookup[modal.data('remodal')].open();
+ }
+}
+
+export function UriToMarkdown(uri) {
+ uri = uri.replace(/@3x|@2x|@1x/, '');
+ uri = uri.replace(/\(/g, '%28');
+ uri = uri.replace(/\)/g, '%29');
+
+ return uri.match(/\.(jpe?g|png|gif|svg|mp4|webm|ogv|mov)$/i) ? `` : `[${decodeURI(uri)}](${uri})`;
+}
+
+let instances = [];
+let cache = $();
+const onAddedNodes = (event, target/* , record, instance */) => {
+ let files = $(target).find('.dropzone.files-upload');
+ if (!files.length) { return; }
+
+ files.each((index, file) => {
+ file = $(file);
+ if (!~cache.index(file)) {
+ addNode(file);
+ }
+ });
+};
+
+const addNode = (container) => {
+ container = $(container);
+ let input = container.find('input[type="file"]');
+ let settings = container.data('grav-file-settings') || {};
+
+ if (settings.accept && ~settings.accept.indexOf('*')) {
+ settings.accept = [''];
+ }
+
+ let options = {
+ url: container.data('file-url-add') || (container.closest('form').attr('action') || config.current_url) + '.json',
+ paramName: settings.paramName || 'file',
+ dotNotation: settings.name || 'file',
+ acceptedFiles: settings.accept ? settings.accept.join(',') : input.attr('accept') || container.data('media-types'),
+ maxFilesize: typeof settings.filesize !== 'undefined' ? settings.filesize : 256,
+ maxFiles: settings.limit || null,
+ resizeWidth: settings.resizeWidth || null,
+ resizeHeight: settings.resizeHeight || null,
+ resizeQuality: settings.resizeQuality || null,
+ accept: function(file, done) { ACCEPT_FUNC(file, done, settings); }
+ };
+
+ cache = cache.add(container);
+ container = container[0];
+ instances.push(new FilesField({ container, options }));
+};
+
+export let Instances = (() => {
+ $('.dropzone.files-upload').each((i, container) => addNode(container));
+ $('body').on('mutation._grav', onAddedNodes);
+
+ return instances;
+})();
diff --git a/user/plugins/admin/themes/grav/app/forms/fields/iconpicker.js b/user/plugins/admin/themes/grav/app/forms/fields/iconpicker.js
new file mode 100755
index 0000000..244f3a8
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/forms/fields/iconpicker.js
@@ -0,0 +1,298 @@
+import $ from 'jquery';
+
+/* Icon Picker by QueryLoop
+ * Author: @eliorivero
+ * URL: http://queryloop.com/
+ * License: GPLv2
+ */
+
+var defaults = {
+ 'mode': 'dialog', // show overlay 'dialog' panel or slide down 'inline' panel
+ 'closeOnPick': true, // whether to close panel after picking or 'no'
+ 'save': 'class', // save icon 'class' or 'code'
+ 'size': '',
+ 'classes': {
+ 'launcher': '', // extra classes for launcher buttons
+ 'clear': 'remove-times', // extra classes for button that removes preview and clears field
+ 'highlight': '', // extra classes when highlighting an icon
+ 'close': '' // extra classes for close button
+ },
+ 'iconSets': { // example data structure. Used to specify which launchers will be created
+ 'genericon': 'Genericon', // create a launcher to pick genericon icons
+ 'fa': 'FontAwesome' // create a launcher to pick fontawesome icons
+ }
+};
+
+class QL_Icon_Picker {
+
+ constructor(element, options) {
+ this.iconSet = '';
+ this.iconSetName = '';
+ this.$field = '';
+ this.element = element;
+ this.settings = $.extend({}, defaults, options);
+ this._defaults = defaults;
+ this.init();
+ }
+
+ init() {
+ var $brick = $(this.element);
+ var pickerId = $brick.data('pickerid');
+ var $preview = $('');
+
+ this.$field = $brick.find('input');
+
+ // Add preview area
+ this.makePreview($brick, pickerId, $preview);
+
+ // Make button to clear field and remove preview
+ this.makeClear(pickerId, $preview);
+
+ // Make buttons that open the panel of icons
+ this.makeLaunchers($brick, pickerId);
+
+ // Prepare display styles, inline and dialog
+ this.makeDisplay($brick);
+ }
+
+ makePreview($brick, pickerId, $preview) {
+ var $icon = $('');
+ var iconValue = this.$field.val();
+
+ $preview.prependTo($brick);
+ $icon.prependTo($preview);
+ if (iconValue !== '') {
+ $preview.addClass('icon-preview-on');
+ $icon.addClass(iconValue);
+ }
+ }
+
+ makeClear(pickerId, $preview) {
+ var base = this;
+ var $clear = $('');
+
+ // Hide button to remove icon and preview and append it to preview area
+ $clear.hide().prependTo($preview);
+ // If there's a icon saved in the field, show remove icon button
+ if (base.$field.val() !== '') {
+ $clear.show();
+ }
+
+ $preview.on('click', '.remove-icon', function(e) {
+ e.preventDefault();
+ base.$field.val('');
+ $preview.removeClass('icon-preview-on').find('i').removeClass();
+ $(this).hide();
+ });
+ }
+
+ makeDisplay($brick) {
+ var base = this;
+ var close = base.settings.classes.close;
+ var $body = $('body');
+
+ var $close = $('');
+
+ if (base.settings.mode === 'inline') {
+ $brick.find('.icon-set').append($close).removeClass('dialog').addClass('ip-inline ' + base.settings.size).parent().addClass('icon-set-wrap');
+ } else if (base.settings.mode === 'dialog') {
+ $('.icon-set').addClass('dialog ' + base.settings.size);
+ if ($('.icon-picker-overlay').length <= 0) {
+ $body.append('').append($close);
+ }
+ }
+ $body
+ .on('click', '.icon-picker-close, .icon-picker-overlay', function(e) {
+ e.preventDefault();
+ base.closePicker($brick, $(base.iconSet), base.settings.mode);
+ })
+ .on('mouseenter mouseleave', '.icon-picker-close', function(e) {
+ if (e.type === 'mouseenter') {
+ $(this).addClass(close);
+ } else {
+ $(this).removeClass(close);
+ }
+ });
+ }
+
+ makeLaunchers($brick) {
+ var base = this;
+ var dataIconSets = $brick.data('iconsets');
+ var iconSet;
+
+ if (typeof dataIconSets === 'undefined') {
+ dataIconSets = base.settings.iconSets;
+ }
+ for (iconSet in dataIconSets) {
+ if (dataIconSets.hasOwnProperty(iconSet)) {
+ $brick.append('' + dataIconSets[iconSet] + '');
+ }
+ }
+
+ $brick.find('.launch-icons').on('click', function(e) {
+ e.preventDefault();
+ var $self = $(this);
+ var theseIcons = $self.data('icons');
+
+ base.iconSetName = theseIcons;
+ base.iconSet = '.' + theseIcons + '-set';
+
+ // Initialize picker
+ base.iconPick($brick);
+
+ // Show icon picker
+ base.showPicker($brick, $(base.iconSet), base.settings.mode);
+ });
+ }
+
+ iconPick($brick) {
+ var base = this;
+ var highlight = 'icon-highlight ' + base.settings.classes.highlight;
+
+ $(base.iconSet).on('click', 'li', function(e) {
+ e.preventDefault();
+ var $icon = $(this);
+ var icon = $icon.data(base.settings.save);
+
+ // Mark as selected
+ $('.icon-selected').removeClass('icon-selected');
+ $icon.addClass('icon-selected');
+ if (base.$field.data('format') === 'short') {
+ icon = icon.slice(6);
+ }
+
+ // Save icon value to field
+ base.$field.val(icon);
+
+ // Close icon picker
+ if (base.settings.closeOnPick) {
+ base.closePicker($brick, $icon.closest(base.iconSet), base.settings.mode);
+ }
+
+ // Set preview
+ base.setPreview($icon.data('class'));
+
+ // Broadcast event passing the selected icon.
+ $('body').trigger('iconselected.queryloop', icon);
+ });
+ $(base.iconSet).on('mouseenter mouseleave', 'li', function(e) {
+ if (e.type === 'mouseenter') {
+ $(this).addClass(highlight);
+ } else {
+ $(this).removeClass(highlight);
+ }
+ });
+ }
+
+ showPicker($brick, $icons, mode) {
+ if (mode === 'inline') {
+ $('.icon-set').removeClass('ip-inline-open');
+ $brick.find($icons).toggleClass('ip-inline-open');
+ } else if (mode === 'dialog') {
+ $brick.find('.icon-picker-close').addClass('make-visible');
+ $brick.find('.icon-picker-overlay').addClass('make-visible');
+ $icons.addClass('dialog-open');
+ }
+
+ $icons.find('.icon-selected').removeClass('icon-selected');
+ var selectedIcon = this.$field.val().replace(' ', '.');
+ if (selectedIcon !== '') {
+ if (this.settings.save === 'class') {
+ $icons.find('.' + selectedIcon).addClass('icon-selected');
+ } else {
+ $icons.find('[data-code="' + selectedIcon + '"]').addClass('icon-selected');
+ }
+ }
+ // Broadcast event when the picker is shown passing the picker mode.
+ $('body').trigger('iconpickershow.queryloop', mode);
+ }
+
+ closePicker($brick, $icons, mode) {
+ // Remove event so they don't fire from a different picker
+ $(this.iconSet).off('click', 'li');
+
+ if (mode === 'inline') {
+ $brick.find($icons).removeClass('ip-inline-open');
+ } else if (mode === 'dialog') {
+ $('.icon-picker-close, .icon-picker-overlay').removeClass('make-visible');
+ }
+ // Broadcast event when the picker is closed passing the picker mode.
+ $('body').trigger('iconpickerclose.queryloop', mode);
+ $('.icon-set').removeClass('dialog-open');
+ }
+
+ setPreview(preview) {
+ var $preview = $(this.element).find('.icon-preview');
+
+ $preview.addClass('icon-preview-on').find('i').removeClass()
+ .addClass(this.iconSetName)
+ .addClass(preview);
+ $preview.find('a').show();
+ }
+}
+
+/* Grav */
+// extend $ with 3rd party QL Icon Picker
+$.fn.qlIconPicker = function(options) {
+ this.each(function() {
+ if (!$.data(this, 'plugin_qlIconPicker')) {
+ $.data(this, 'plugin_qlIconPicker', new QL_Icon_Picker(this, options));
+ }
+ });
+
+ return this;
+};
+
+export default class IconpickerField {
+
+ constructor(options) {
+ this.items = $();
+ this.options = Object.assign({}, this.defaults, options);
+
+ $('[data-grav-iconpicker]').each((index, element) => this.addItem(element));
+ $('body').on('mutation._grav', this._onAddedNodes.bind(this));
+ }
+
+ _onAddedNodes(event, target/* , record, instance */) {
+ let fields = $(target).find('[data-grav-iconpicker]');
+ if (!fields.length) { return; }
+
+ fields.each((index, field) => {
+ field = $(field);
+ if (!~this.items.index(field)) {
+ this.addItem(field);
+ }
+ });
+ }
+
+ addItem(element) {
+ element = $(element);
+ this.items = this.items.add(element);
+ element.find('.icon-picker').qlIconPicker({
+ 'save': 'class'
+ });
+
+ // hack to remove extra icon sets that are just copies
+ $('.icon-set:not(:first)').remove();
+ }
+}
+
+export let Instance = new IconpickerField();
+
+// Fix to close the dialog when clicking outside
+$(document).on('click', (event) => {
+ const target = $(event.target);
+ const match = '.icon-set.dialog-open, .launch-icons[data-icons]';
+ if (!target.is(match) && !target.closest(match).length) {
+ const dialogs = $('.icon-set.dialog-open');
+
+ // skip if there's no dialog open
+ if (dialogs.length) {
+ dialogs.each((index, dialog) => {
+ const picker = $(dialog).siblings('.icon-picker');
+ const data = picker.data('plugin_qlIconPicker');
+ data.closePicker(picker, $(data.iconSet), data.settings.mode);
+ });
+ }
+ }
+});
diff --git a/user/plugins/admin/themes/grav/app/forms/fields/index.js b/user/plugins/admin/themes/grav/app/forms/fields/index.js
new file mode 100644
index 0000000..0d88680
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/forms/fields/index.js
@@ -0,0 +1,64 @@
+import FilepickerField, { Instance as FilepickerFieldInstance } from './filepicker';
+import SelectizeField, { Instance as SelectizeFieldInstance } from './selectize';
+import ArrayField, { Instance as ArrayFieldInstance } from './array';
+import CollectionsField, { Instance as CollectionsFieldInstance } from './collections';
+import DateTimeField, { Instance as DateTimeFieldInstance } from './datetime';
+import EditorField, { Instance as EditorFieldInstance } from './editor';
+import ColorpickerField, { Instance as ColorpickerFieldInstance } from './colorpicker';
+import FilesField, { Instance as FilesFieldInstance } from './files';
+import MediapickerField, { Instance as MediapickerInstance } from './mediapicker';
+import MultilevelField, { Instance as MultilevelInstance } from './multilevel';
+import SelectUniqueField, { Instance as SelectUniqueInstance } from './selectunique';
+import IconpickerField, { Instance as IconpickerInstance } from './iconpicker';
+
+export default {
+ FilepickerField: {
+ FilepickerField,
+ Instance: FilepickerFieldInstance
+ },
+ SelectizeField: {
+ SelectizeField,
+ Instance: SelectizeFieldInstance
+ },
+ ArrayField: {
+ ArrayField,
+ Instance: ArrayFieldInstance
+ },
+ CollectionsField: {
+ CollectionsField,
+ Instance: CollectionsFieldInstance
+ },
+ DateTimeField: {
+ DateTimeField,
+ Instance: DateTimeFieldInstance
+ },
+ EditorField: {
+ EditorField,
+ Instance: EditorFieldInstance
+ },
+ ColorpickerField: {
+ ColorpickerField,
+ Instance: ColorpickerFieldInstance
+ },
+ FilesField: {
+ FilesField,
+ Instance: FilesFieldInstance
+ },
+ SelectUniqueField: {
+ SelectUniqueField,
+ Instance: SelectUniqueInstance
+ },
+ MediapickerField: {
+ MediapickerField,
+ Instance: MediapickerInstance
+ },
+ MultilevelField: {
+ MultilevelField,
+ Instance: MultilevelInstance
+ },
+ IconpickerField: {
+ IconpickerField,
+ Instance: IconpickerInstance
+ }
+};
+
diff --git a/user/plugins/admin/themes/grav/app/forms/fields/mediapicker.js b/user/plugins/admin/themes/grav/app/forms/fields/mediapicker.js
new file mode 100644
index 0000000..9769738
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/forms/fields/mediapicker.js
@@ -0,0 +1,92 @@
+import $ from 'jquery';
+import Scrollbar from '../../utils/scrollbar';
+import { Instance as pagesTree } from '../../pages/tree';
+
+const queries = {
+ tree: '.pages-list-container .mediapicker-scroll',
+ thumb: '.thumbs-list-container .mediapicker-scroll'
+};
+
+$(function() {
+ let modal = '';
+ let body = $('body');
+
+ let treescrolls = [];
+ let thumbscrolls = [];
+
+ $(queries.tree).each((index, element) => {
+ treescrolls.push(new Scrollbar(element, { autoshow: true }));
+ });
+
+ $(queries.thumb).each((index, element) => {
+ thumbscrolls.push(new Scrollbar(element, { autoshow: true }));
+ });
+
+ // let treescroll = new Scrollbar('.pages-list-container .mediapicker-scroll', { autoshow: true });
+ // let thumbscroll = new Scrollbar('.thumbs-list-container .mediapicker-scroll', { autoshow: true });
+
+ // Thumb Resizer
+ $(document).on('input change', '.media-container .media-range', function(event) {
+ const target = $(event.currentTarget);
+ const container = target.closest('.remodal');
+ let cards = container.find('.media-container div.card-item');
+ let width = target.val() + 'px';
+ cards.each(function() {
+ $(this).css('width', width);
+ });
+
+ treescrolls.forEach((tree) => tree.update());
+ thumbscrolls.forEach((thumb) => thumb.update());
+ });
+
+ $(document).on('opened', '.remodal', function() {
+ setTimeout(function() {
+ treescrolls.forEach((tree) => tree.update());
+ thumbscrolls.forEach((thumb) => thumb.update());
+ }, 10);
+ });
+
+ body.on('click', '[data-mediapicker-modal-trigger]', function(event) {
+ const element = $(event.currentTarget);
+ let modal_identifier = $(this).data('grav-mediapicker-unique-identifier');
+ let modal_element = body.find(`[data-remodal-unique-identifier="${modal_identifier}"]`);
+ modal = $.remodal.lookup[modal_element.data('remodal')];
+
+ if (!modal) {
+ modal_element.remodal();
+ modal = $.remodal.lookup[modal_element.data('remodal')];
+ }
+
+ $(queries.tree).filter((index, item) => !$(item).data('scrollbar')).each((index, item) => {
+ treescrolls.push(new Scrollbar(item, { autoshow: true }));
+ });
+
+ $(queries.thumb).filter((index, item) => !$(item).data('scrollbar')).each((index, item) => {
+ thumbscrolls.push(new Scrollbar(item, { autoshow: true }));
+ });
+
+ modal.open();
+ modal.dataField = element.find('input');
+
+ treescrolls.forEach((tree) => tree.update());
+ thumbscrolls.forEach((thumb) => thumb.update());
+
+ // load all media
+ modal_element.find('.js__files').trigger('fillView');
+
+ setTimeout(() => pagesTree.reload(), 100);
+ });
+
+ /* handle media modal click actions */
+ body.on('click', '[data-remodal-mediapicker] .media-container.in-modal .admin-media-details a', (event) => {
+ event.preventDefault();
+ event.stopPropagation();
+
+ let val = $(event.target).parents('.js__media-element').data('file-url');
+ let string = val.replace(/ /g, '%20');
+
+ modal.dataField.val(string);
+
+ modal.close();
+ });
+});
diff --git a/user/plugins/admin/themes/grav/app/forms/fields/multilevel.js b/user/plugins/admin/themes/grav/app/forms/fields/multilevel.js
new file mode 100644
index 0000000..fc008ec
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/forms/fields/multilevel.js
@@ -0,0 +1,279 @@
+import $ from 'jquery';
+
+$(function() {
+
+ const getField = function getField(level, name) {
+ let levelMargin = level * 50;
+ let top = (level === 0 ? 'top' : '');
+
+ let the_name = 'name="' + name + '"';
+ if (level === 0) {
+ // top
+ the_name = 'data-attr-name="' + name + '"';
+ }
+
+ let field = `
+
+
`);
+ }
+
+ const container = modal_element.find('.meta-content').html('
').find('ul');
+ Object.keys(fileObj.metadata).forEach((meta) => {
+ container.append(`
` : '';
+ toastr.error(`Fetch Failed: ${error.stack}
${error.message} ${stack}`);
+ console.error(`${error.message} at ${error.stack}`);
+}
+
+$(global).on('beforeunload._ajax', () => {
+ UNLOADING = true;
+});
diff --git a/user/plugins/admin/themes/grav/app/utils/scrollbar.js b/user/plugins/admin/themes/grav/app/utils/scrollbar.js
new file mode 100644
index 0000000..774f624
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/utils/scrollbar.js
@@ -0,0 +1,40 @@
+import $ from 'jquery';
+import GeminiScrollbar from 'gemini-scrollbar';
+
+const defaults = {
+ autoshow: false,
+ createElements: true,
+ forceGemini: false
+};
+
+export default class Scrollbar {
+ constructor(element, options) {
+ this.element = $(element);
+ this.created = false;
+ if (!this.element.length) { return; }
+
+ this.options = Object.assign({}, defaults, options, { element: this.element[0] });
+
+ this.element.css('overflow', 'auto');
+ this.instance = new GeminiScrollbar(this.options);
+ this.create();
+ this.element.data('scrollbar', this.instance);
+ }
+
+ create() {
+ this.instance.create();
+ this.created = true;
+ }
+
+ update() {
+ if (!this.created) { return false; }
+ this.instance.update();
+ }
+
+ destroy() {
+ if (!this.created) { return false; }
+ this.instance.destroy();
+ }
+}
+
+export let Instance = new Scrollbar('#admin-main .content-wrapper');
diff --git a/user/plugins/admin/themes/grav/app/utils/selectize-required-fix.js b/user/plugins/admin/themes/grav/app/utils/selectize-required-fix.js
new file mode 100644
index 0000000..c0a5bed
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/utils/selectize-required-fix.js
@@ -0,0 +1,28 @@
+/**
+ * This is a plugin to override the `.refreshValidityState` method of
+ * the Selectize library (https://selectize.github.io/selectize.js/).
+ * The library is not maintained anymore (as of 2017-09-13) and contains
+ * a bug which causes Microsoft Edge to not work with selectized [required]
+ * form fields. This plugin should be removed if
+ * https://github.com/selectize/selectize.js/pull/1320 is ever merged
+ * and a new version of Selectize gets released.
+ */
+
+import Selectize from 'selectize';
+
+Selectize.define('required-fix', function(options) {
+ this.refreshValidityState = () => {
+ if (!this.isRequired) return false;
+
+ let invalid = !this.items.length;
+ this.isInvalid = invalid;
+
+ if (invalid) {
+ this.$control_input.attr('required', '');
+ this.$input.removeAttr('required');
+ } else {
+ this.$control_input.removeAttr('required');
+ this.$input.attr('required');
+ }
+ };
+});
diff --git a/user/plugins/admin/themes/grav/app/utils/sidebar.js b/user/plugins/admin/themes/grav/app/utils/sidebar.js
new file mode 100644
index 0000000..85543e0
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/utils/sidebar.js
@@ -0,0 +1,161 @@
+import $ from 'jquery';
+import Scrollbar from './scrollbar';
+import Map from 'es6-map';
+
+const MOBILE_BREAKPOINT = 48 - 0.062;
+const DESKTOP_BREAKPOINT = 75 + 0.063;
+const EVENTS = 'touchstart._grav click._grav';
+const TARGETS = '[data-sidebar-mobile-toggle], #overlay';
+const MOBILE_QUERY = `(max-width: ${MOBILE_BREAKPOINT}em)`;
+const DESKTOP_QUERY = `(min-width: ${DESKTOP_BREAKPOINT}em)`;
+
+let map = new Map();
+
+export default class Sidebar {
+ constructor() {
+ this.timeout = null;
+ this.isOpen = false;
+ this.body = $('body');
+ this.matchMedia = global.matchMedia(MOBILE_QUERY);
+ this.scroller = new Scrollbar('.admin-menu-wrapper', { autoshow: true });
+ this.enable();
+ }
+
+ enable() {
+ const sidebar = $('#admin-sidebar');
+
+ this.matchMedia.addListener(this._getBound('checkMatch'));
+ this.checkMatch(this.matchMedia);
+ this.body.on(EVENTS, '[data-sidebar-toggle]', this._getBound('toggleSidebarState'));
+
+ if (sidebar.data('quickopen')) {
+ sidebar.hover(this._getBound('quickOpenIn'), this._getBound('quickOpenOut'));
+ }
+ }
+
+ disable() {
+ const sidebar = $('#admin-sidebar');
+
+ this.close();
+ this.matchMedia.removeListener(this._getBound('checkMatch'));
+ this.body.off(EVENTS, '[data-sidebar-toggle]', this._getBound('toggleSidebarState'));
+ if (sidebar.data('quickopen')) {
+ sidebar.off('mouseenter mouseleave');
+ }
+ }
+
+ attach() {
+ this.body.on(EVENTS, TARGETS, this._getBound('toggle'));
+ }
+
+ detach() {
+ this.body.off(EVENTS, TARGETS, this._getBound('toggle'));
+ }
+
+ quickOpenIn(/* event */) {
+ let isDesktop = global.matchMedia(DESKTOP_QUERY).matches;
+ let delay = $('#admin-sidebar').data('quickopen-delay') || 500;
+ if (this.body.hasClass('sidebar-mobile-open')) { return; }
+
+ let shouldQuickOpen = isDesktop ? this.body.hasClass('sidebar-closed') : !this.body.hasClass('sidebar-open');
+ if (!shouldQuickOpen && !this.body.hasClass('sidebar-quickopen')) { return this.quickOpenOut(); }
+
+ this.timeout = setTimeout(() => {
+ this.body.addClass('sidebar-open sidebar-quickopen');
+ $(global).trigger('sidebar_state._grav', isDesktop);
+ }, delay);
+ }
+
+ quickOpenOut(/* event */) {
+ clearTimeout(this.timeout);
+ if (this.body.hasClass('sidebar-quickopen')) {
+ this.body.removeClass('sidebar-open sidebar-quickopen');
+ }
+
+ return true;
+ }
+
+ open(event) {
+ if (event) { event.preventDefault(); }
+ let overlay = $('#overlay');
+ let sidebar = $('#admin-sidebar');
+ let scrollbar = $('#admin-menu').data('scrollbar');
+
+ this.body.addClass('sidebar-mobile-open');
+ overlay.css('display', 'block');
+ sidebar.css('display', 'block').animate({
+ opacity: 1
+ }, 200, () => { this.isOpen = true; });
+
+ if (scrollbar) { scrollbar.update(); }
+ }
+
+ close(event) {
+ if (event) { event.preventDefault(); }
+ let overlay = $('#overlay');
+ let sidebar = $('#admin-sidebar');
+ let scrollbar = $('#admin-menu').data('scrollbar');
+
+ this.body.removeClass('sidebar-mobile-open');
+ overlay.css('display', 'none');
+ sidebar.animate({
+ opacity: 0
+ }, 200, () => {
+ sidebar.css('display', 'none');
+ this.isOpen = false;
+ });
+
+ if (scrollbar) { scrollbar.update(); }
+ }
+
+ toggle(event) {
+ if (event) { event.preventDefault(); }
+ return this[this.isOpen ? 'close' : 'open'](event);
+ }
+
+ toggleSidebarState(event) {
+ if (event) { event.preventDefault(); }
+ clearTimeout(this.timeout);
+ let isDesktop = global.matchMedia(DESKTOP_QUERY).matches;
+
+ if (isDesktop) {
+ this.body.removeClass('sidebar-open');
+ }
+
+ if (!isDesktop) {
+ this.body.removeClass('sidebar-closed');
+ this.body.removeClass('sidebar-mobile-open');
+ }
+
+ this.body.toggleClass(`sidebar-${isDesktop ? 'closed' : 'open'}`);
+ $(global).trigger('sidebar_state._grav', isDesktop);
+ }
+
+ checkMatch(data) {
+ let sidebar = $('#admin-sidebar');
+ let overlay = $('#overlay');
+ this.isOpen = false;
+
+ overlay.css('display', 'none');
+ sidebar.css({
+ display: data.matches ? 'none' : 'inherit',
+ opacity: data.matches ? 0 : 1
+ });
+
+ if (data.matches) {
+ this.body.removeClass('sidebar-open sidebar-closed');
+ }
+
+ this[data.matches ? 'attach' : 'detach']();
+ }
+
+ _getBound(fn) {
+ if (map.has(fn)) {
+ return map.get(fn);
+ }
+
+ return map.set(fn, this[fn].bind(this)).get(fn);
+ }
+}
+
+export let Instance = new Sidebar();
diff --git a/user/plugins/admin/themes/grav/app/utils/storage.js b/user/plugins/admin/themes/grav/app/utils/storage.js
new file mode 100644
index 0000000..03b95d3
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/utils/storage.js
@@ -0,0 +1,41 @@
+// localStorage
+(function() {
+ function isSupported() {
+ var item = 'localStoragePollyfill';
+ try {
+ localStorage.setItem(item, item);
+ localStorage.removeItem(item);
+ sessionStorage.setItem(item, item);
+ sessionStorage.removeItem(item);
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }
+
+ if (!isSupported()) {
+ try {
+ Storage.prototype._data = {};
+
+ Storage.prototype.setItem = function(id, val) {
+ this._data[id] = String(val);
+ return this._data[id];
+ };
+
+ Storage.prototype.getItem = function(id) {
+ return this._data.hasOwnProperty(id) ? this._data[id] : undefined;
+ };
+
+ Storage.prototype.removeItem = function(id) {
+ return delete this._data[id];
+ };
+
+ Storage.prototype.clear = function() {
+ this._data = {};
+ return this._data;
+ };
+ } catch (e) {
+ console.error('localStorage pollyfill error: ', e);
+ }
+ }
+}());
diff --git a/user/plugins/admin/themes/grav/app/utils/tabs-memory.js b/user/plugins/admin/themes/grav/app/utils/tabs-memory.js
new file mode 100644
index 0000000..2206cdf
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/utils/tabs-memory.js
@@ -0,0 +1,29 @@
+import $ from 'jquery';
+import Cookies from 'cookies-js';
+import { Instance as Editors } from '../forms/fields/editor';
+
+let Data = JSON.parse(Cookies.get('grav-tabs-state') || '{}');
+
+$('body').on('touchstart click', '[data-tabid]', (event) => {
+ event && event.stopPropagation();
+ let target = $(event.currentTarget);
+
+ Data[target.data('tabkey')] = target.data('scope');
+ Cookies.set('grav-tabs-state', JSON.stringify(Data), { expires: Infinity });
+
+ const panel = $(`[id="${target.data('tabid')}"]`);
+
+ target.siblings('[data-tabid]').removeClass('active');
+ target.addClass('active');
+
+ panel.siblings('[id]').removeClass('active');
+ panel.addClass('active');
+
+ Editors.editors.each((index, editor) => {
+ let codemirror = $(editor).data('codemirror');
+ if (!codemirror) { return; }
+ if (codemirror.display.lastWrapWidth === 0) {
+ codemirror.refresh();
+ }
+ });
+});
diff --git a/user/plugins/admin/themes/grav/app/utils/toastr.js b/user/plugins/admin/themes/grav/app/utils/toastr.js
new file mode 100644
index 0000000..8010965
--- /dev/null
+++ b/user/plugins/admin/themes/grav/app/utils/toastr.js
@@ -0,0 +1,6 @@
+import toastr from 'toastr';
+
+toastr.options.positionClass = 'toast-top-right';
+toastr.options.preventDuplicates = true;
+
+export default toastr;
diff --git a/user/plugins/admin/themes/grav/css-compiled/fonts.css b/user/plugins/admin/themes/grav/css-compiled/fonts.css
new file mode 100644
index 0000000..0dc8985
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css-compiled/fonts.css
@@ -0,0 +1,3 @@
+@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500|Inconsolata:400,700|&subset=latin-ext");body,h5,h6,.badge,.note,.grav-mdeditor-preview,input,select,textarea,button,.selectize-input{font-family:"Roboto","Helvetica","Tahoma","Geneva","Arial",sans-serif}h1,h2,h3,h4,.form-tabs>label,.label{font-family:"Josefin Slab","Helvetica","Tahoma","Geneva","Arial",sans-serif}code,kbd,pre,samp,body .CodeMirror{font-family:"Inconsolata","Monaco","Consolas","Lucida Console",monospace !important}
+
+/*# sourceMappingURL=../css-compiled/fonts.css.map */
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css-compiled/fonts.css.map b/user/plugins/admin/themes/grav/css-compiled/fonts.css.map
new file mode 100644
index 0000000..29b3f54
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css-compiled/fonts.css.map
@@ -0,0 +1,11 @@
+{
+ "version": 3,
+ "file": "../scss/fonts.css",
+ "sources": [
+ "../scss/fonts.scss",
+ "../hdr0",
+ "../scss/configuration/fonts/_support.scss"
+ ],
+ "mappings": "AE+DA,OAAO,CAAC,uGAAI,CAtBR,AAAA,IAAI,CAAE,AAAA,EAAE,CAAE,AAAA,EAAE,CACZ,AAAA,MAAM,CAAE,AAAA,KAAK,CAAE,AAAA,sBAAsB,CACrC,AAAA,KAAK,CAAE,AAAA,MAAM,CAAE,AAAA,QAAQ,CAAE,AAAA,MAAM,CAAE,AAAA,gBAAgB,AAAC,CAC9C,WAAW,CAAE,QAAU,CAAE,WAAW,CAAE,QAAQ,CAAE,QAAQ,CAAE,OAAO,CAAE,UAAU,CAChF,AAID,AAAA,EAAE,CAAE,AAAA,EAAE,CAAE,AAAA,EAAE,CAAE,AAAA,EAAE,CACd,AAAa,UAAH,CAAG,KAAK,CAAE,AAAA,MAAM,AAAC,CACvB,WAAW,CAAE,cAAU,CAAE,WAAW,CAAE,QAAQ,CAAE,QAAQ,CAAE,OAAO,CAAE,UAAU,CAChF,AAID,AAAA,IAAI,CAAE,AAAA,GAAG,CAAE,AAAA,GAAG,CAAE,AAAA,IAAI,CACpB,AAAK,IAAD,CAAC,WAAW,AAAC,CACb,WAAW,CAAE,aAAU,CAAE,QAAQ,CAAE,UAAU,CAAE,gBAAgB,CAAE,SAAS,CAAC,UAAU,CACxF",
+ "names": []
+}
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css-compiled/nucleus.css b/user/plugins/admin/themes/grav/css-compiled/nucleus.css
new file mode 100644
index 0000000..3d4f1e5
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css-compiled/nucleus.css
@@ -0,0 +1,3 @@
+*,*::before,*::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-webkit-viewport{width:device-width}@-moz-viewport{width:device-width}@-ms-viewport{width:device-width}@-o-viewport{width:device-width}@viewport{width:device-width}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent;text-decoration:none}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}mark{background:#ff0;color:#000}sub,sup{font-size:.65rem;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0}pre{overflow:auto}code,kbd,pre,samp{font-size:.9rem}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0;table-layout:fixed;width:100%}tr,td,th{vertical-align:middle}th,td{padding:.375rem 0}th{text-align:left}.container{width:75em;margin:0 auto;padding:0}@media only all and (min-width: 60em) and (max-width: 74.938em){.container{width:60em}}@media only all and (min-width: 48em) and (max-width: 59.938em){.container{width:48em}}@media only all and (min-width: 30.063em) and (max-width: 47.938em){.container{width:30em}}@media only all and (max-width: 30em){.container{width:100%}}.grid{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row;-moz-flex-flow:row;flex-flow:row;list-style:none;margin:0;padding:0}@media only all and (max-width: 47.938em){.grid{-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;flex-flow:row wrap}}.block{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}@media only all and (max-width: 47.938em){.block{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 100%;-moz-flex:0 100%;-ms-flex:0 100%;flex:0 100%}}.content{margin:.625rem;padding:.938rem}@media only all and (max-width: 47.938em){body [class*="size-"]{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 100%;-moz-flex:0 100%;-ms-flex:0 100%;flex:0 100%}}.size-1-2{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 50%;-moz-flex:0 50%;-ms-flex:0 50%;flex:0 50%}.size-1-3{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 33.33333%;-moz-flex:0 33.33333%;-ms-flex:0 33.33333%;flex:0 33.33333%}.size-1-4{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 25%;-moz-flex:0 25%;-ms-flex:0 25%;flex:0 25%}.size-1-5{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 20%;-moz-flex:0 20%;-ms-flex:0 20%;flex:0 20%}.size-1-6{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 16.66667%;-moz-flex:0 16.66667%;-ms-flex:0 16.66667%;flex:0 16.66667%}.size-1-7{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 14.28571%;-moz-flex:0 14.28571%;-ms-flex:0 14.28571%;flex:0 14.28571%}.size-1-8{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 12.5%;-moz-flex:0 12.5%;-ms-flex:0 12.5%;flex:0 12.5%}.size-1-9{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 11.11111%;-moz-flex:0 11.11111%;-ms-flex:0 11.11111%;flex:0 11.11111%}.size-1-10{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 10%;-moz-flex:0 10%;-ms-flex:0 10%;flex:0 10%}.size-1-11{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 9.09091%;-moz-flex:0 9.09091%;-ms-flex:0 9.09091%;flex:0 9.09091%}.size-1-12{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 8.33333%;-moz-flex:0 8.33333%;-ms-flex:0 8.33333%;flex:0 8.33333%}@media only all and (min-width: 48em) and (max-width: 59.938em){.size-tablet-1-2{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 50%;-moz-flex:0 50%;-ms-flex:0 50%;flex:0 50%}.size-tablet-1-3{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 33.33333%;-moz-flex:0 33.33333%;-ms-flex:0 33.33333%;flex:0 33.33333%}.size-tablet-1-4{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 25%;-moz-flex:0 25%;-ms-flex:0 25%;flex:0 25%}.size-tablet-1-5{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 20%;-moz-flex:0 20%;-ms-flex:0 20%;flex:0 20%}.size-tablet-1-6{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 16.66667%;-moz-flex:0 16.66667%;-ms-flex:0 16.66667%;flex:0 16.66667%}.size-tablet-1-7{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 14.28571%;-moz-flex:0 14.28571%;-ms-flex:0 14.28571%;flex:0 14.28571%}.size-tablet-1-8{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 12.5%;-moz-flex:0 12.5%;-ms-flex:0 12.5%;flex:0 12.5%}.size-tablet-1-9{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 11.11111%;-moz-flex:0 11.11111%;-ms-flex:0 11.11111%;flex:0 11.11111%}.size-tablet-1-10{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 10%;-moz-flex:0 10%;-ms-flex:0 10%;flex:0 10%}.size-tablet-1-11{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 9.09091%;-moz-flex:0 9.09091%;-ms-flex:0 9.09091%;flex:0 9.09091%}.size-tablet-1-12{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 8.33333%;-moz-flex:0 8.33333%;-ms-flex:0 8.33333%;flex:0 8.33333%}}@media only all and (max-width: 47.938em){@supports not (flex-wrap: wrap){.grid{display:block;-webkit-box-lines:inherit;-moz-box-lines:inherit;box-lines:inherit;-webkit-flex-wrap:inherit;-moz-flex-wrap:inherit;-ms-flex-wrap:inherit;flex-wrap:inherit}.block{display:block;-webkit-box-flex:inherit;-moz-box-flex:inherit;box-flex:inherit;-webkit-flex:inherit;-moz-flex:inherit;-ms-flex:inherit;flex:inherit}}}.first-block{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.last-block{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.fixed-blocks{-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;flex-flow:row wrap}.fixed-blocks .block{-webkit-box-flex:inherit;-moz-box-flex:inherit;box-flex:inherit;-webkit-flex:inherit;-moz-flex:inherit;-ms-flex:inherit;flex:inherit;width:25%}@media only all and (min-width: 60em) and (max-width: 74.938em){.fixed-blocks .block{width:33.33333%}}@media only all and (min-width: 48em) and (max-width: 59.938em){.fixed-blocks .block{width:50%}}@media only all and (max-width: 47.938em){.fixed-blocks .block{width:100%}}@supports not (flex-wrap: wrap){.fixed-blocks{display:block;-webkit-flex-flow:inherit;-moz-flex-flow:inherit;flex-flow:inherit}}body{font-size:.9rem;line-height:1.5}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 .75rem 0;text-rendering:optimizeLegibility}h1{font-size:3.1rem}h2{font-size:2.4rem}h3{font-size:2rem}h4{font-size:1.65rem}h5{font-size:1.25rem}h6{font-size:.75rem}p{margin:.75rem 0 1.5rem}ul,ol{margin-top:1.5rem;margin-bottom:1.5rem}ul ul,ul ol,ol ul,ol ol{margin-top:0;margin-bottom:0}blockquote{margin:1.5rem 0;padding-left:.75rem}cite{display:block;font-size:.775rem}cite:before{content:"\2014 \0020"}pre{margin:1.5rem 0;padding:.938rem}code{vertical-align:bottom}small{font-size:.775rem}hr{border-left:none;border-right:none;border-top:none;margin:1.5rem 0}fieldset{border:0;padding:.938rem;margin:0 0 1.5rem 0}input,label,select{display:block}label{margin-bottom:.375rem}label.required:after{content:"*"}label abbr{display:none}textarea,input[type="email"],input[type="number"],input[type="password"],input[type="search"],input[type="tel"],input[type="text"],input[type="url"],input[type="color"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="time"],input[type="week"],select[multiple=multiple]{-webkit-transition:border-color;-moz-transition:border-color;transition:border-color;border-radius:.1875rem;padding:.375rem .375rem;width:100%}textarea:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="password"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="text"]:focus,input[type="url"]:focus,input[type="color"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,select[multiple=multiple]:focus{outline:none}textarea{resize:vertical}input[type="checkbox"],input[type="radio"]{display:inline;margin-right:.375rem}input[type="file"]{width:100%}select{width:auto;max-width:100%;margin-bottom:1.5rem}button,input[type="submit"]{cursor:pointer;user-select:none;vertical-align:middle;white-space:nowrap;border:inherit}
+
+/*# sourceMappingURL=../css-compiled/nucleus.css.map */
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css-compiled/nucleus.css.map b/user/plugins/admin/themes/grav/css-compiled/nucleus.css.map
new file mode 100644
index 0000000..2ff5953
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css-compiled/nucleus.css.map
@@ -0,0 +1,93 @@
+{
+ "version": 3,
+ "file": "../scss/nucleus.css",
+ "sources": [
+ "../scss/nucleus.scss",
+ "../hdr0",
+ "../scss/vendor/bourbon/_bourbon.scss",
+ "../scss/vendor/bourbon/settings/_prefixer.scss",
+ "../scss/vendor/bourbon/settings/_px-to-em.scss",
+ "../scss/vendor/bourbon/helpers/_convert-units.scss",
+ "../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss",
+ "../scss/vendor/bourbon/helpers/_is-num.scss",
+ "../scss/vendor/bourbon/helpers/_linear-angle-parser.scss",
+ "../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss",
+ "../scss/vendor/bourbon/helpers/_linear-positions-parser.scss",
+ "../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss",
+ "../scss/vendor/bourbon/helpers/_radial-arg-parser.scss",
+ "../scss/vendor/bourbon/helpers/_radial-positions-parser.scss",
+ "../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss",
+ "../scss/vendor/bourbon/helpers/_render-gradients.scss",
+ "../scss/vendor/bourbon/helpers/_shape-size-stripper.scss",
+ "../scss/vendor/bourbon/helpers/_str-to-num.scss",
+ "../scss/vendor/bourbon/functions/_assign.scss",
+ "../scss/vendor/bourbon/functions/_color-lightness.scss",
+ "../scss/vendor/bourbon/functions/_flex-grid.scss",
+ "../scss/vendor/bourbon/functions/_golden-ratio.scss",
+ "../scss/vendor/bourbon/functions/_grid-width.scss",
+ "../scss/vendor/bourbon/functions/_modular-scale.scss",
+ "../scss/vendor/bourbon/functions/_px-to-em.scss",
+ "../scss/vendor/bourbon/functions/_px-to-rem.scss",
+ "../scss/vendor/bourbon/functions/_strip-units.scss",
+ "../scss/vendor/bourbon/functions/_tint-shade.scss",
+ "../scss/vendor/bourbon/functions/_transition-property-name.scss",
+ "../scss/vendor/bourbon/functions/_unpack.scss",
+ "../scss/vendor/bourbon/css3/_animation.scss",
+ "../scss/vendor/bourbon/css3/_appearance.scss",
+ "../scss/vendor/bourbon/css3/_backface-visibility.scss",
+ "../scss/vendor/bourbon/css3/_background.scss",
+ "../scss/vendor/bourbon/css3/_background-image.scss",
+ "../scss/vendor/bourbon/css3/_border-image.scss",
+ "../scss/vendor/bourbon/css3/_border-radius.scss",
+ "../scss/vendor/bourbon/css3/_box-sizing.scss",
+ "../scss/vendor/bourbon/css3/_calc.scss",
+ "../scss/vendor/bourbon/css3/_columns.scss",
+ "../scss/vendor/bourbon/css3/_filter.scss",
+ "../scss/vendor/bourbon/css3/_flex-box.scss",
+ "../scss/vendor/bourbon/css3/_font-face.scss",
+ "../scss/vendor/bourbon/css3/_hyphens.scss",
+ "../scss/vendor/bourbon/css3/_hidpi-media-query.scss",
+ "../scss/vendor/bourbon/css3/_image-rendering.scss",
+ "../scss/vendor/bourbon/css3/_keyframes.scss",
+ "../scss/vendor/bourbon/css3/_linear-gradient.scss",
+ "../scss/vendor/bourbon/css3/_perspective.scss",
+ "../scss/vendor/bourbon/css3/_radial-gradient.scss",
+ "../scss/vendor/bourbon/css3/_transform.scss",
+ "../scss/vendor/bourbon/css3/_transition.scss",
+ "../scss/vendor/bourbon/css3/_user-select.scss",
+ "../scss/vendor/bourbon/css3/_placeholder.scss",
+ "../scss/vendor/bourbon/addons/_button.scss",
+ "../scss/vendor/bourbon/addons/_clearfix.scss",
+ "../scss/vendor/bourbon/addons/_directional-values.scss",
+ "../scss/vendor/bourbon/addons/_ellipsis.scss",
+ "../scss/vendor/bourbon/addons/_font-family.scss",
+ "../scss/vendor/bourbon/addons/_hide-text.scss",
+ "../scss/vendor/bourbon/addons/_html5-input-types.scss",
+ "../scss/vendor/bourbon/addons/_position.scss",
+ "../scss/vendor/bourbon/addons/_prefixer.scss",
+ "../scss/vendor/bourbon/addons/_retina-image.scss",
+ "../scss/vendor/bourbon/addons/_size.scss",
+ "../scss/vendor/bourbon/addons/_timing-functions.scss",
+ "../scss/vendor/bourbon/addons/_triangle.scss",
+ "../scss/vendor/bourbon/addons/_word-wrap.scss",
+ "../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss",
+ "../scss/configuration/nucleus/_base.scss",
+ "../scss/configuration/nucleus/_core.scss",
+ "../scss/configuration/nucleus/_breakpoints.scss",
+ "../scss/configuration/nucleus/_layout.scss",
+ "../scss/configuration/nucleus/_typography.scss",
+ "../scss/configuration/nucleus/_nav.scss",
+ "../scss/nucleus/functions/_base.scss",
+ "../scss/nucleus/functions/_direction.scss",
+ "../scss/nucleus/functions/_range.scss",
+ "../scss/nucleus/mixins/_base.scss",
+ "../scss/nucleus/mixins/_breakpoints.scss",
+ "../scss/nucleus/mixins/_utilities.scss",
+ "../scss/nucleus/_core.scss",
+ "../scss/nucleus/_flex.scss",
+ "../scss/nucleus/_typography.scss",
+ "../scss/nucleus/_forms.scss"
+ ],
+ "mappings": "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",
+ "names": []
+}
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css-compiled/preset.css b/user/plugins/admin/themes/grav/css-compiled/preset.css
new file mode 100644
index 0000000..014b21a
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css-compiled/preset.css
@@ -0,0 +1,3 @@
+body{background:#F6F6F6;color:#6f7b8a}a{color:#0090D9}a:hover{color:#007fc0}blockquote{border-left:10px solid #e6e6e6;background:#fafafa}blockquote p{color:#646e7c}blockquote cite{color:#6f7b8a}code{background:#f9f2f4;color:#9c1d3d}pre{background:#f6f6f6;border:1px solid #ddd}pre code{color:#237794}hr{border-bottom:2px solid #f7f7f7}.label{background:#0090D9;color:#fff}.badge{background:#77559D;color:#fff}.light-border{border-color:#f7f7f7 !important}.subtle-text{color:#8b95a1 !important}td{border-bottom:1px solid #f7f7f7}tr td.gpm-details{background-color:#fafafa}.tab-bar{background:#e3e3e3;color:gray}.tab-bar li.active span,.tab-bar li.active a{background:#fff;color:#6f7b8a}.tab-bar span,.tab-bar a{color:gray}.tab-bar span:hover,.tab-bar a:hover{color:#9a9a9a;background:#fdfdfd}.button{color:rgba(255,255,255,0.85);border-radius:4px;background:#0090D9}.button:hover{background:#26a1df;color:#fff}.button.dropdown-toggle{border-left:1px solid #007fc0}.button.dropdown-toggle{border-left:1px solid #007fc0}.button.secondary{color:rgba(255,255,255,0.85);border-radius:4px;background:#0073ae}.button.secondary:hover{background:#2688ba;color:#fff}.button.secondary.dropdown-toggle{border-left:1px solid #006295}.button.secondary.dropdown-toggle{border-left:1px solid #006295}.button-group .dropdown-menu{background-color:#0090D9;box-shadow:0 6px 12px rgba(0,0,0,0.175)}.button-group .dropdown-menu .divider{background-color:#0090D9}.button-group .dropdown-menu li>a{color:#fff}.button-group .dropdown-menu li>a:focus,.button-group .dropdown-menu li>a:hover{color:#fff;background-color:#0090D9}.button-group .dropdown-menu.language-switcher a.active{background-color:#0daeff}#admin-main .admin-block a.gumroad-button{background:#F45857 !important;color:#fff !important}#admin-login-wrapper{background:radial-gradient(circle at center, #535a6b 40%, #272a31 100%)}#admin-login{background:#3D424E}#admin-login.wide form label{color:#B7B9BD}#admin-login.wide form input::-webkit-input-placeholder{color:rgba(183,185,189,0.6)}#admin-login.wide form input::-moz-placeholder{color:rgba(183,185,189,0.6)}#admin-login.wide form input:-moz-placeholder{color:rgba(183,185,189,0.6)}#admin-login.wide form input:-ms-input-placeholder{color:rgba(183,185,189,0.6)}#admin-login .wrapper-spacer h3{color:rgba(255,255,255,0.4);border-bottom:3px solid rgba(255,255,255,0.1)}#admin-login .instructions{color:rgba(183,185,189,0.8)}#admin-login h1{background:#323640 url(../images/logo.svg) 50% 50% no-repeat}#admin-login form input{background:#444957;color:#fff;border:1px solid #31353e}#admin-login form input::-webkit-input-placeholder{color:#9c9da1}#admin-login form input::-moz-placeholder{color:#9c9da1}#admin-login form input:-moz-placeholder{color:#9c9da1}#admin-login form input:-ms-input-placeholder{color:#9c9da1}#admin-sidebar{background:#3D424E}#admin-sidebar a{color:rgba(255,255,255,0.9)}#admin-sidebar a:hover{color:#fff}#admin-logo{background-color:#323640}#admin-logo .grav-logo path{fill:rgba(255,255,255,0.9) !important}#admin-logo .grav-logo:hover path{fill:#fff !important}#admin-logo a,#admin-logo i{color:#e6e6e6}#admin-logo a:hover,#admin-logo i:hover{color:#fff}#open-handle{background-color:#272a32;border-left:1px solid #3d424e}#open-handle i{color:gray}#open-handle i:hover{color:#ccc}#admin-nav-quick-tray{background:#393d48;border-bottom:1px solid #363b45;color:#fff}#admin-nav-quick-tray i:hover{color:#fff}.block-userinfo img{border:4px solid #e6e6e6}#offline-status{background-color:#77559D;color:#fff}#admin-user-details,.admin-user-details{border-bottom:1px solid #484e5c}#admin-user-details:hover img,.admin-user-details:hover img{box-shadow:0px 0px 0 50px #444957}#admin-user-details .admin-user-names h4,#admin-user-details .admin-user-names h5,.admin-user-details .admin-user-names h4,.admin-user-details .admin-user-names h5{color:#fff}#admin-menu li .badges .count{color:#fff;background-color:#323640}#admin-menu li .badges .updates{color:#fff;background-color:#06A599}#admin-menu li a:hover{background:#434753;color:#fff}#admin-menu li a:hover .fa{color:#fff}#admin-menu li.selected a{background:#323640;color:#fff;border-left:9px solid #007ab8}#admin-menu li.selected a .fa{color:#fff}#admin-main .grav-update{background:#77559D;color:#fff}#admin-main .grav-update a.button,#admin-main .grav-update span.button,#admin-main .grav-update button.button{color:rgba(255,255,255,0.85);border-radius:4px;background:#5f447e}#admin-main .grav-update a.button:hover,#admin-main .grav-update span.button:hover,#admin-main .grav-update button.button:hover{background:#513a6b;color:#fff}#admin-main .grav-update a.button.dropdown-toggle,#admin-main .grav-update span.button.dropdown-toggle,#admin-main .grav-update button.button.dropdown-toggle{border-left:1px solid #6b4d8f}#admin-main .titlebar{background:#fff;color:#3D424E}#admin-main .titlebar .button-bar .button{color:rgba(255,255,255,0.85);border-radius:4px;background:#0090D9}#admin-main .titlebar .button-bar .button:hover{background:#26a1df;color:#fff}#admin-main .titlebar .button-bar .button.dropdown-toggle{border-left:1px solid #007fc0}#admin-main .lines-button{background:rgba(0,0,0,0.1)}#admin-main .lines-button .lines,#admin-main .lines-button .lines:before,#admin-main .lines-button .lines:after{background:#3D424E}#admin-main .admin-block{background:#fff;color:#6f7b8a}#admin-main .admin-block a{color:#0090D9}#admin-main .admin-block a:hover{color:#007fc0}#admin-main .admin-block h1{color:#414147;border-bottom:1px solid #f7f7f7}#admin-main .admin-block .button{color:rgba(255,255,255,0.85);border-radius:4px;background:#0090D9}#admin-main .admin-block .button:hover{background:#26a1df;color:#fff}#admin-main .admin-block .button.dropdown-toggle{border-left:1px solid #007fc0}#admin-main .danger.button-bar,#admin-main .success.button-bar{background:#f7f7f7}#admin-main .danger .button{color:rgba(255,255,255,0.85);border-radius:4px;background:#F45857}#admin-main .danger .button:hover{background:#cf4b4a;color:#fff}#admin-main .danger .button.dropdown-toggle{border-left:1px solid #f6706f}#admin-main .content-padding div[class*=notifications-container] .alert.note{background:#fff;color:#6f7b8a}#admin-main .content-padding div[class*=notifications-container] .alert.note.alert{border-bottom:2px solid #f2f2f2}#admin-main .content-padding div[class*=notifications-container] .alert.note a:not(.button){color:#0090D9}#admin-main .content-padding div[class*=notifications-container] .alert.note a:not(.button):hover{color:#007fc0}#admin-main .content-padding div[class*=notifications-container] .alert.warning{background:#F45857;color:#fff}#admin-main .content-padding div[class*=notifications-container] .alert.warning.alert{border-bottom:2px solid #f2403f}#admin-main .content-padding div[class*=notifications-container] .alert.warning a{color:#fff}#admin-main .content-padding div[class*=notifications-container] .alert.warning a:hover{color:#fff}#admin-main #notifications .badge.alert.note{background:#0090D9;color:#fff}#admin-main #notifications .badge.alert.warning{background:#F45857;color:#fff}.sidebar-mobile-open #admin-main .lines-button .lines,.sidebar-mobile-open #admin-main .lines-button .lines:before,.sidebar-mobile-open #admin-main .lines-button .lines:after{background:#fff}#admin-dashboard .admin-block li{border-bottom:1px solid #f7f7f7}#admin-dashboard .primary-accent{background-color:#0078b5;background-image:-webkit-linear-gradient(#0078b5,#0090D9);background-image:linear-gradient(#0078b5,#0090D9)}#admin-dashboard .primary-accent p{color:rgba(255,255,255,0.95)}#admin-dashboard .primary-accent .stat i{color:rgba(255,255,255,0.75)}#admin-dashboard .primary-accent .numeric em{color:rgba(255,255,255,0.85)}#admin-dashboard .primary-accent .chart-loader{color:#0073ae}#admin-dashboard .secondary-accent{background-color:#058379;background-image:-webkit-linear-gradient(#058379,#06A599);background-image:linear-gradient(#058379,#06A599)}#admin-dashboard .secondary-accent p{color:rgba(255,255,255,0.95)}#admin-dashboard .secondary-accent .stat i{color:rgba(255,255,255,0.75)}#admin-dashboard .secondary-accent .numeric em{color:rgba(255,255,255,0.85)}#admin-dashboard .secondary-accent .chart-loader{color:#05847a}form h1,form h3{border-bottom:3px solid #f7f7f7}form h1,form h2,form h3,form h4,form h5{color:#414147}form .note{color:#F45857}form .required{color:#da4b46}form .overlay{background:#f2f2f2}form .form-border{border:1px solid #e6e6e6}form .form-field-colors{background-color:#fcfcfc;color:#646e7c}form .form-select-wrapper:after,form .selectize-control.single .selectize-input:after{color:#99a2ad}form .selectize-control.single .selectize-input,form .selectize-control.single .selectize-input.full,form .selectize-control.single .selectize-input.items,form .selectize-control.single .selectize-input.active,form .selectize-control.multi .selectize-input,form .selectize-control.multi .selectize-input.full,form .selectize-control.multi .selectize-input.items,form .selectize-control.multi .selectize-input.active{color:#646e7c;border-color:#e6e6e6;background-color:#fcfcfc}form .selectize-control.single .selectize-input input,form .selectize-control.multi .selectize-input input{color:#646e7c}form .form-input-wrapper .form-input-addon{border:1px solid #e6e6e6;background:#fff}form .selectize-control.multi .selectize-input>div{color:#fff;background:#6f7b8a}form .selectize-control.multi .selectize-input>div.active{background:#06A599;color:#fff}form select{border:1px solid #e6e6e6;background:#fcfcfc;color:#646e7c}form input[type=text],form input[type=password],form input[type=email],form input[type=date],form input[type=tel],form input[type=time],form input[type=week],form input[type=month],form input[type=number],form input[type=color],form input[type=url]{border:1px solid #e6e6e6;background:#fcfcfc;color:#646e7c}form input[readonly=readonly]{background:#fff}form textarea{color:#646e7c;border:1px solid #e6e6e6;background:#fcfcfc}form .form-frontmatter-wrapper{border:1px solid #e6e6e6}form .button-bar{background:#f7f7f7}form .checkboxes label:before{background:#fcfcfc;border:1px solid #e6e6e6}form input::-webkit-input-placeholder,form textarea::-webkit-input-placeholder,form select::-webkit-input-placeholder{color:#a7afb8}form input::-moz-placeholder,form textarea::-moz-placeholder,form select::-moz-placeholder{color:#a7afb8}form input:-moz-placeholder,form textarea:-moz-placeholder,form select:-moz-placeholder{color:#a7afb8}form input:-ms-input-placeholder,form textarea:-ms-input-placeholder,form select:-ms-input-placeholder{color:#a7afb8}form .g-colorpicker{width:230px}form .g-colorpicker .g-colorpicker-preview-wrap{border-color:#e6e6e6;height:43px;width:43px}form .g-colorpicker input{height:43px}form .form-input-file{border:2px dashed #e6e6e6}form .form-input-file p{color:#646e7c}form .form-input-file ul{color:#fff;background:#0090D9}form .file-thumbnail-remove{background:#0090D9}form .file-thumbnail-remove .fa{color:#fff}form .file-thumbnail-remove:hover{background:#fff}form .file-thumbnail-remove:hover .fa{color:#0090D9}form input[type=range]::-webkit-slider-runnable-track{background:#fafafa;border:1px solid #e6e6e6}form input[type=range]::-webkit-slider-thumb{border:1px solid #e6e6e6;background:#0090D9}form input[type=range]:focus::-webkit-slider-runnable-track{background:#fafafa}form input[type=range]::-moz-range-track{background:#fafafa;border:1px solid #e6e6e6}form input[type=range]::-moz-range-progress{background:#fafafa}form input[type=range]::-moz-range-thumb{border:1px solid #e6e6e6;background:#0090D9}form input[type=range]::-ms-fill-lower,form input[type=range]::-ms-fill-upper{background:#fafafa;border:1px solid #e6e6e6}form input[type=range]::-ms-thumb{border:1px solid #e6e6e6;background:#0090D9}form input[type=range]:focus::-ms-fill-lower,form input[type=range]:focus::-ms-fill-upper{background:#fafafa}form .form-display-wrapper table{border:1px solid #e6e6e6}form .form-display-wrapper table th{background-color:#f5f5f5;border-bottom:3px solid #e6e6e6;border-right:1px solid #e6e6e6}form .form-display-wrapper table td{border-right:1px solid #e6e6e6}form .form-display-wrapper table tr{border-bottom:1px solid #e6e6e6}.grav-editor-resizer{background-color:#d5d5d5;background-color:#d5d5d5;background-image:-webkit-linear-gradient(top, #d5d5d5 0%,#d5d5d5 20%,#ededed 20%,#ededed 40%,#d5d5d5 40%,#d5d5d5 60%,#ededed 60%,#ededed 80%,#d5d5d5 80%,#d5d5d5 100%);background-image:linear-gradient(to bottom,#d5d5d5 0%,#d5d5d5 20%,#ededed 20%,#ededed 40%,#d5d5d5 40%,#d5d5d5 60%,#ededed 60%,#ededed 80%,#d5d5d5 80%,#d5d5d5 100%)}.form-order-wrapper ul.orderable li{border:1px solid #e6e6e6;background:#fff;color:#6f7b8a}.form-order-wrapper ul.orderable li.drag-handle{background:#fcfcfc;color:#646e7c}.form-order-wrapper ul.orderable li[data-active-id]{border-color:#0090D9}.form-order-wrapper ul.orderable.disabled li{opacity:0.7}.form-list-wrapper ul[data-collection-holder]>li{border:1px solid #e6e6e6;background:#fff;color:#8b95a1}.form-list-wrapper ul[data-collection-holder]>li .item-actions{color:#58626e}.form-list-wrapper .collection-sort{background:#e9e9e9;border-right:1px solid #ddd}.form-fieldset{background-color:#f7f7f7;border:2px solid #e1e1e1}.form-fieldset--label{background-color:#f3f3f3}.form-fieldset--label:hover,.form-fieldset input:checked+.form-fieldset--label{background-color:#eee}#admin-main #admin-topbar{background:#e3e3e3}#admin-main .form-tabs{background:#e3e3e3}#admin-main .form-tabs .tabs-nav a{color:gray}#admin-main .form-tabs .tabs-nav a:hover{color:#737373;background:#d6d6d6}#admin-main .form-tabs .tabs-nav a.active{background:#fff;color:#6f7b8a}#admin-main .form-tabs.subtle{background:#fff}#admin-main .form-tabs.subtle .tabs-nav{background:linear-gradient(to bottom, rgba(255,255,255,0), #f7f7f7)}#admin-main .form-tabs.subtle a{color:#646f7c;border:0 solid transparent;border-bottom:1px solid #e6e6e6}#admin-main .form-tabs.subtle a:hover{color:#59626e;background:linear-gradient(to bottom, rgba(255,255,255,0), #ededed)}#admin-main .form-tabs.subtle a.active{border-top:1px solid #e6e6e6;border-left:1px solid #e6e6e6;border-right:1px solid #e6e6e6;border-bottom:0}#admin-main .form-tabs.subtle a.active:hover{background:#fff}#admin-main .form-tabs.subtle a.active:first-child{border-left:0}#admin-main .form-tabs.subtle a.active:last-child{border-right:0}#admin-main .form-tabs .tabs-content{background:#fff}.switch-grav{background-color:#fcfcfc;border:1px solid #e6e6e6}.switch-grav label{color:#6f7b8a;transition:background-color 0.5s ease}.switch-grav.switch-toggle input.highlight:checked+label{background:#0090D9;color:#fff}.switch-grav.switch-toggle input:checked+label{color:#fff;background:#6f7b8a}.toast{background-color:#030303}.toast-success{background-color:#77559D}.toast-success .button{background:#8462aa;color:rgba(255,255,255,0.85);border-radius:4px;background:#9172b3}.toast-success .button:hover{background:#7b6198;color:#fff}.toast-success .button.dropdown-toggle{border-left:1px solid #9e83bc}.toast-error{background-color:#F45857}.toast-error .button{background-color:#f12827;color:rgba(255,255,255,0.85);border-radius:4px;background:#d70f0e}.toast-error .button:hover{background:#dd3332;color:#fff}.toast-error .button.dropdown-toggle{border-left:1px solid #bf0e0d}.toast-info{background-color:#06A599}.toast-info .button{background-color:#04746b;color:rgba(255,255,255,0.85);border-radius:4px;background:#02433e}.toast-info .button:hover{background:#285f5b;color:#fff}.toast-info .button.dropdown-toggle{border-left:1px solid #022a27}.info{background:#77559D;color:#fff}.info a{color:#e6e6e6}.info a:hover{color:#fff}.info a.button,.info span.button,.info button.button{color:rgba(255,255,255,0.85);border-radius:4px;background:#5f447e}.info a.button:hover,.info span.button:hover,.info button.button:hover{background:#513a6b;color:#fff}.info a.button.dropdown-toggle,.info span.button.dropdown-toggle,.info button.button.dropdown-toggle{border-left:1px solid #6b4d8f}.info-reverse{color:#77559D}.notice,.note{background:#06A599;color:#fff}.notice a,.note a{color:#e6e6e6}.notice a:hover,.note a:hover{color:#fff}.notice a.button,.notice span.button,.notice button.button,.note a.button,.note span.button,.note button.button{color:rgba(255,255,255,0.85);border-radius:4px;background:#05847a}.notice a.button:hover,.notice span.button:hover,.notice button.button:hover,.note a.button:hover,.note span.button:hover,.note button.button:hover{background:#047068;color:#fff}.notice a.button.dropdown-toggle,.notice span.button.dropdown-toggle,.notice button.button.dropdown-toggle,.note a.button.dropdown-toggle,.note span.button.dropdown-toggle,.note button.button.dropdown-toggle{border-left:1px solid #069d91}.notice-reverse,.note-reverse{color:#06A599}.error,.warning{background:#F45857;color:#fff}.error a,.warning a{color:#e6e6e6}.error a:hover,.warning a:hover{color:#fff}.error a.button,.error span.button,.error button.button,.warning a.button,.warning span.button,.warning button.button{color:rgba(255,255,255,0.85);border-radius:4px;background:#c34646}.error a.button:hover,.error span.button:hover,.error button.button:hover,.warning a.button:hover,.warning span.button:hover,.warning button.button:hover{background:#a63c3c;color:#fff}.error a.button.dropdown-toggle,.error span.button.dropdown-toggle,.error button.button.dropdown-toggle,.warning a.button.dropdown-toggle,.warning span.button.dropdown-toggle,.warning button.button.dropdown-toggle{border-left:1px solid #c95959}.error-reverse,.warning-reverse{color:#F45857}.primary-accent{background:#007fc0;color:#fff}.primary-accent .button-bar{background:#0078b5}.primary-accent .button{color:rgba(255,255,255,0.85);border-radius:4px;background:#0090D9}.primary-accent .button:hover{background:#26a1df;color:#fff}.primary-accent .button.dropdown-toggle{border-left:1px solid #007fc0}.secondary-accent{background:#058c82;color:#fff}.secondary-accent .button-bar{background:#058379}.secondary-accent .button{color:rgba(255,255,255,0.85);border-radius:4px;background:#06A599}.secondary-accent .button:hover{background:#2bb3a8;color:#fff}.secondary-accent .button.dropdown-toggle{border-left:1px solid #058c82}.card-item{border:1px solid #f2f2f2;background:#fff}.card-item .gpm-actions{background:#fafafa}.card-item.active-theme{border:1px solid #06A599}.card-item.active-theme .gpm-actions{background:#06A599;color:#fff}.user-details h2{color:#414147}.user-details h2 span{color:#6f7b8a}.user-details .gravatar{color:#a7afb8}.user-details .gravatar a{color:#6f7b8a !important}#admin-main .grav-editor-toolbar .dropdown-menu{box-shadow:0 3px 6px rgba(0,0,0,0.075);border:1px solid #e6e6e6;background:#fff}#admin-main .grav-editor-toolbar{border:1px solid #e6e6e6;border-top-right-radius:4px;border-top-left-radius:4px;background:#fff}#admin-main .grav-editor-toolbar ul a{color:#6f7b8a}#admin-main .grav-editor-toolbar ul a:hover,#admin-main .grav-editor-toolbar ul a:focus{background:#f7f7f7;color:#646e7c;border-top:1px solid #e6e6e6}#admin-main .grav-editor-toolbar ul .editor-active a{cursor:auto;background:white;border-top:1px solid #e6e6e6;border-left:1px solid #e6e6e6;border-right:1px solid #e6e6e6}#admin-main .grav-editor-toolbar ul .editor-active a:hover{background:#fff;border-top:0;border-bottom:1px solid #fff}#admin-main .grav-editor-toolbar ul .editor-active:last-child a,#admin-main .grav-editor-toolbar ul .editor-active:last-child a:hover{border-right:1px solid transparent}#admin-main .grav-editor-toolbar ul .button-disabled a{color:rgba(111,123,138,0.5)}#admin-main .grav-editor-toolbar ul .button-disabled a:hover,#admin-main .grav-editor-toolbar ul .button-disabled a:focus{background:#fff;color:#6f7b8a;border-left:1px solid transparent;border-right:1px solid transparent}#admin-main .grav-editor-hide-toolbar+div{border:1px solid #e6e6e6}.grav-editor-content,.grav-editor-preview{border:1px solid #e6e6e6;border-top:0}.grav-mdeditor-content{border:1px solid #e6e6e6}[data-mode=split] .grav-mdeditor-code{border-right:1px solid #e6e6e6}#admin-main .grav-editor-preview h1,#admin-main .grav-editor-preview h2,#admin-main .grav-editor-preview h3,#admin-main .grav-editor-preview h4,#admin-main .grav-editor-preview h5,#admin-main .grav-editor-preview h6{color:#58626e}.primary-accent .ct-chart .ct-series.ct-series-a .ct-bar{stroke:rgba(255,255,255,0.85) !important}.primary-accent .ct-chart .ct-series.ct-series-a .ct-slice-donut{stroke:#fff !important}.primary-accent .ct-chart .ct-series.ct-series-b .ct-slice-donut{stroke:rgba(255,255,255,0.2) !important}.secondary-accent .ct-chart .ct-series.ct-series-a .ct-bar{stroke:rgba(255,255,255,0.85) !important}.secondary-accent .ct-chart .ct-series.ct-series-a .ct-slice-donut{stroke:#fff !important}.secondary-accent .ct-chart .ct-series.ct-series-b .ct-slice-donut{stroke:rgba(255,255,255,0.2) !important}.dropzone{background:#fcfcfc;border:1px #e6e6e6 solid}.dropzone.dz-drag-hover{border-color:#ccc;background:rgba(0,0,0,0.04)}.dropzone .dz-preview{border:1px solid #f2f2f2}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{color:#fff}.dropzone .dz-preview .dz-success-mark{background-color:#0daeff}.dropzone .dz-preview .dz-error-mark{background-color:#F45857}.dropzone .dz-preview .dz-progress{background:#d7d7d7}.dropzone .dz-preview .dz-progress .dz-upload{background-color:#0daeff}.dropzone .dz-preview .dz-error-message{background:#fff;color:#F45857}.dropzone .dz-preview .dz-details{background:#fff}.dropzone .dz-preview:hover .dz-details{box-shadow:0px 0px 20px -5px rgba(0,0,0,0.4)}.dropzone .dz-preview .dz-remove,.dropzone .dz-preview .dz-unset,.dropzone .dz-preview .dz-view,.dropzone .dz-preview .dz-insert,.dropzone .dz-preview .dz-metadata{background:#f2f2f2}.dropzone .dz-preview .dz-remove:hover:after,.dropzone .dz-preview .dz-unset:hover:after,.dropzone .dz-preview .dz-view:hover:after,.dropzone .dz-preview .dz-insert:hover:after,.dropzone .dz-preview .dz-metadata:hover:after{color:#0090D9}.dropzone .dz-preview .dz-remove:after,.dropzone .dz-preview .dz-unset:after,.dropzone .dz-preview .dz-view:after,.dropzone .dz-preview .dz-insert:after,.dropzone .dz-preview .dz-metadata:after{color:#6f7b8a}.dropzone .dz-preview .dz-remove:hover:after{color:#F45857}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message span{color:#c3c8cf}.gpm>table>tbody>tr{border-bottom:1px solid #f7f7f7}.gpm>table>tbody>tr:hover{background:#fff}.gpm .gpm-name{color:#99a2ad}.gpm .gpm-version{color:#8b95a1}.gpm .gpm-ribbon,.gpm .badge.update{background:#77559D}.gpm .gpm-ribbon a,.gpm .gpm-ribbon,.gpm .badge.update a,.gpm .badge.update{color:#fff !important}.gpm .gpm-ribbon a:hover,.gpm .gpm-ribbon:hover,.gpm .badge.update a:hover,.gpm .badge.update:hover{background:#654885}.gpm .gpm-update .gpm-name{color:#0090D9}.gpm .gpm-item-info{border-bottom:3px solid #f7f7f7}.gpm .gpm-item-info .gpm-item-icon{color:#fafafa}.gpm .gpm-actions .disabled{color:#8b95a1}.gpm .gpm-testing{background-color:#F45857;color:#fff}.pages-list{border-top:1px solid #f7f7f7}.pages-list .row{border-bottom:1px solid #f7f7f7}.pages-list .row:hover{background:#fff}.pages-list .row p.page-route{color:#6f7b8a}.pages-list .row p.page-route .spacer{color:#6f7b8a}.pages-list .row .badge.lang{background-color:#e3e3e3;color:gray}.pages-list .row .badge.lang.info{background-color:#77559D;color:#fff}.pages-list .page-home{color:#8b95a1}.pages-list .page-info{color:#8b95a1}#admin-topbar #admin-lang-toggle{z-index:3}#admin-topbar #admin-lang-toggle button{color:rgba(255,255,255,0.85);border-radius:4px;background:#77559D}#admin-topbar #admin-lang-toggle button:hover{background:#8b6fac;color:#fff}#admin-topbar #admin-lang-toggle button.dropdown-toggle{border-left:1px solid #6a4c8c}#admin-topbar #admin-lang-toggle .dropdown-menu{background:#77559D}#admin-topbar #admin-lang-toggle .dropdown-menu button{background:transparent;color:#fff}#admin-topbar .switch-grav{background-color:#fdfdfd}#admin-topbar .switch-toggle input:checked+label{color:#fff}#admin-topbar .switch-toggle input+label{color:gray}#admin-topbar .switch-toggle input.highlight:checked+label{background:#0090D9}body .selectize-dropdown .optgroup-header{color:#000;border-bottom:1px solid #eee;background-color:#fafafa}body .bootstrap-datetimepicker-widget.dropdown-menu{border-color:#e6e6e6}body .bootstrap-datetimepicker-widget table td span:hover,body .bootstrap-datetimepicker-widget table th:hover,body .bootstrap-datetimepicker-widget table td.day:hover{background:#f2f2f2 !important}body .bootstrap-datetimepicker-widget table .active{color:#0090D9 !important}body .bootstrap-datetimepicker-widget table .active:hover{color:#006ea6}#phpinfo th{background:#fcfcfc}#phpinfo td{word-wrap:break-word}#phpinfo td:first-child{color:#0090D9}.remodal{background:#fff;color:#6f7b8a}.remodal-close{color:#6f7b8a}.remodal-close:hover,.remodal-close:focus{color:#424951}.gm-scrollbar .thumb{background-color:rgba(0,0,0,0.2)}.gm-scrollbar .thumb:hover,.gm-scrollbar .thumb:active{background-color:rgba(0,0,0,0.3)}#admin-sidebar .gm-scrollbar .thumb{background-color:rgba(255,255,255,0.2)}#admin-sidebar .gm-scrollbar .thumb:hover,#admin-sidebar .gm-scrollbar .thumb:active{background-color:rgba(255,255,255,0.3)}.preview-wrapper iframe{border:1px solid #eee}.permission-container{overflow:hidden}input[type=range].rangefield{display:inline-block;vertical-align:middle;-webkit-appearance:none;margin:10px 0;width:230px;background:none}input[type=range].rangefield:focus{outline:none}input[type=range].rangefield::-webkit-slider-runnable-track{width:230px;height:20px;cursor:pointer;animate:0.2s;border-radius:25px}input[type=range].rangefield::-webkit-slider-thumb{height:24px;width:35px;border-radius:6px;cursor:pointer;-webkit-appearance:none;margin-top:-3px}input[type=range].rangefield::-moz-focus-outer{border:0}input[type=range].rangefield::-moz-range-track{width:230px;height:20px;cursor:pointer;animate:0.2s;border-radius:25px}input[type=range].rangefield::-moz-range-progress{height:20px;border-radius:25px}input[type=range].rangefield::-moz-range-thumb{height:24px;width:35px;border-radius:6px;cursor:pointer}input[type=range].rangefield::-ms-track{width:230px;height:20px;cursor:pointer;animate:0.2s;background:transparent;border-color:transparent;color:transparent}input[type=range].rangefield::-ms-fill-lower,input[type=range].rangefield input[type=range]::-ms-fill-upper{border-radius:50px}input[type=range].rangefield::-ms-thumb{height:24px;width:35px;border-radius:6px;cursor:pointer}input[type=range].rangefield ~ input[type=number].rangefield{background:none;display:inline-block;width:60px;text-align:right;border:0;line-height:16px;vertical-align:middle;padding:0 0 0 5px}span.range-append{display:inline-block;line-height:20px;vertical-align:middle;margin-left:-3px}
+
+/*# sourceMappingURL=../css-compiled/preset.css.map */
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css-compiled/preset.css.map b/user/plugins/admin/themes/grav/css-compiled/preset.css.map
new file mode 100644
index 0000000..44887fd
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css-compiled/preset.css.map
@@ -0,0 +1,16 @@
+{
+ "version": 3,
+ "file": "../scss/preset.css",
+ "sources": [
+ "../scss/preset.scss",
+ "../hdr0",
+ "../scss/configuration/template/_base.scss",
+ "../scss/configuration/template/_colors.scss",
+ "../scss/configuration/template/_variables.scss",
+ "../scss/template/modules/_bourbon_essentials.scss",
+ "../scss/template/modules/_buttons.scss",
+ "../scss/template/modules/_input-range.scss"
+ ],
+ "mappings": "AA8HA,AAAA,IAAI,AAAC,CACD,UAAU,CAxGkB,OAAO,CAyGnC,KAAK,CAxGuB,OAAO,CAyGtC,AAED,AAAA,CAAC,AAAC,CACE,KAAK,CA3GuB,OAAO,CA+GtC,AALD,AAAA,CAAC,AAEI,MAAM,AAAC,CACJ,KAAK,CAAE,OAAM,CAChB,AAIL,AAAA,UAAU,AAAC,CACP,WAAW,CAAE,IAAI,CAAC,KAAK,CAAC,OAAM,CAC9B,UAAU,CAAE,OAAM,CAOrB,AATD,AAGI,UAHM,CAGN,CAAC,AAAC,CACE,KAAK,CAAE,OAAM,CAChB,AALL,AAMI,UANM,CAMN,IAAI,AAAC,CACD,KAAK,CA1HmB,OAAO,CA2HlC,AAGL,AAAA,IAAI,AAAC,CACD,UAAU,CG9IC,OAAO,CH+IlB,KAAK,CAAE,OAAM,CAChB,AAED,AAAA,GAAG,AAAC,CACA,UAAU,CGjJA,OAAO,CHkJjB,MAAM,CAAE,GAAG,CAAC,KAAK,CG1JJ,IAAO,CH8JvB,AAND,AAGI,GAHD,CAGC,IAAI,AAAC,CACD,KAAK,CGrJG,OAAO,CHsJlB,AAGL,AAAA,EAAE,AAAC,CACC,aAAa,CAAE,GAAG,CAAC,KAAK,CA7CZ,OAAM,CA8CrB,AAED,AAAA,MAAM,AAAC,CACH,UAAU,CA/IkB,OAAO,CAgJnC,KAAK,CGxKK,IAAO,CHyKpB,AAED,AAAA,MAAM,AAAC,CACH,UAAU,CAhIkB,OAAO,CAiInC,KAAK,CAhIuB,IAAO,CAiItC,AAED,AAAA,aAAa,AAAC,CACV,YAAY,CA3DA,OAAM,CA2DO,UAAU,CACtC,AAED,AAAA,YAAY,AAAC,CACT,KAAK,CA9DS,OAAO,CA8DD,UAAU,CACjC,AAGD,AAAA,EAAE,AAAC,CACC,aAAa,CAAE,GAAG,CAAC,KAAK,CApEZ,OAAM,CAqErB,AAED,AACI,EADF,CACE,EAAE,AACG,YAAY,AAAC,CACV,gBAAgB,CAAE,OAAM,CAC3B,AAKT,AAAA,QAAQ,AAAC,CACL,UAAU,CAvKkB,OAAO,CAwKnC,KAAK,CAvKuB,IAAO,CAyLtC,AApBD,AAMY,QANJ,CAIJ,EAAE,AACG,OAAO,CACJ,IAAI,CANhB,AAMkB,QANV,CAIJ,EAAE,AACG,OAAO,CACE,CAAC,AAAC,CACJ,UAAU,CAlLM,IAAO,CAmLvB,KAAK,CAlLW,OAAO,CAmL1B,AATb,AAaI,QAbI,CAaJ,IAAI,CAbR,AAaU,QAbF,CAaE,CAAC,AAAC,CACJ,KAAK,CAnLmB,IAAO,CAwLlC,AAnBL,AAaI,QAbI,CAaJ,IAAI,AAEC,MAAM,CAff,AAaU,QAbF,CAaE,CAAC,AAEF,MAAM,AAAC,CACJ,KAAK,CAAE,OAAO,CACd,UAAU,CAAE,OAAO,CACtB,AAMT,AAAA,OAAO,AAAC,CMlMP,KAAK,CH5BQ,sBAAO,CG6BpB,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CNMkB,OAAO,CAwMtC,AAdD,AAAA,OAAO,AMjLE,MAAM,AAAC,CACJ,UAAU,CD7CV,OAAG,CC8CH,KAAK,CH/CH,IAAO,CGgDZ,AN8KT,AAAA,OAAO,AM7KE,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAChC,AN2KT,AAAA,OAAO,AAGF,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAChC,AALL,AAAA,OAAO,AAOF,UAAU,AAAC,CMzMf,KAAK,CH5BQ,sBAAO,CG6BpB,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CDxBF,OAAG,CLqOV,AAbL,AAAA,OAAO,AAOF,UAAU,AMxLN,MAAM,AAAC,CACJ,UAAU,CD7CV,OAAG,CC8CH,KAAK,CH/CH,IAAO,CGgDZ,AN8KT,AAAA,OAAO,AAOF,UAAU,AMpLN,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAChC,AN2KT,AAAA,OAAO,AAOF,UAAU,AAGN,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAChC,AAIT,AACI,aADS,CACT,cAAc,AAAC,CACX,gBAAgB,CA5MQ,OAAO,CA6M/B,UAAU,CAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAI,CAoB9B,AAvBL,AAKQ,aALK,CACT,cAAc,CAIV,QAAQ,AAAC,CACL,gBAAgB,CAhNI,OAAO,CAiN9B,AAPT,AASa,aATA,CACT,cAAc,CAQV,EAAE,CAAG,CAAC,AAAC,CACH,KAAK,CAnNe,IAAO,CAyN9B,AAhBT,AASa,aATA,CACT,cAAc,CAQV,EAAE,CAAG,CAAC,AAGD,MAAM,CAZnB,AASa,aATA,CACT,cAAc,CAQV,EAAE,CAAG,CAAC,AAGQ,MAAM,AAAC,CACb,KAAK,CAtNW,IAAO,CAuNvB,gBAAgB,CAxNA,OAAO,CAyN1B,AAfb,AAmBa,aAnBA,CACT,cAAc,AAiBT,kBAAkB,CACf,CAAC,AAAA,OAAO,AAAC,CACL,gBAAgB,CAAE,OAAO,CAC5B,AAKb,AAA0B,WAAf,CAAC,YAAY,CAAC,CAAC,AAAA,eAAe,AAAC,CACtC,UAAU,CAzNkB,OAAO,CAyNV,UAAU,CACnC,KAAK,CAzNuB,IAAO,CAyNb,UAAU,CACnC,AAGD,AAAA,oBAAoB,AAAC,CACjB,UAAU,CAAE,4DAAe,CAC9B,AAED,AAAA,YAAY,AAAC,CACT,UAAU,CA1QkB,OAAO,CAwTtC,AA/CD,AAKQ,YALI,AAGP,KAAK,CAAC,IAAI,CAEP,KAAK,AAAC,CACF,KAAK,CA9Qe,OAAO,CA+Q9B,AAPT,AASQ,YATI,AAGP,KAAK,CAAC,IAAI,CAMP,KAAK,AKhNJ,2BAA2B,AAA5B,CLmNQ,KAAK,CApRW,qBAAO,CKmE9B,ALqMT,AASQ,YATI,AAGP,KAAK,CAAC,IAAI,CAMP,KAAK,AKhNJ,kBAAkB,AAAnB,CLmNQ,KAAK,CApRW,qBAAO,CKmE9B,ALqMT,AASQ,YATI,AAGP,KAAK,CAAC,IAAI,CAMP,KAAK,AKhNJ,iBAAiB,AAAlB,CLmNQ,KAAK,CApRW,qBAAO,CKmE9B,ALqMT,AASQ,YATI,AAGP,KAAK,CAAC,IAAI,CAMP,KAAK,AKhNJ,sBAAsB,AAAvB,CLmNQ,KAAK,CApRW,qBAAO,CKmE9B,ALqMT,AAmBQ,YAnBI,CAkBR,eAAe,CACX,EAAE,AAAC,CACC,KAAK,CAAO,qBAAK,CACjB,aAAa,CAAE,GAAG,CAAC,KAAK,CA5RJ,qBAAO,CA6R9B,AAtBT,AAyBI,YAzBQ,CAyBR,aAAa,AAAC,CACV,KAAK,CAlSmB,qBAAO,CAmSlC,AA3BL,AA6BI,YA7BQ,CA6BR,EAAE,AAAC,CACC,UAAU,CAAE,OAAM,CAAoC,uBAAC,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAC5E,AA/BL,AAkCQ,YAlCI,CAiCR,IAAI,CACA,KAAK,AAAC,CACF,UAAU,CAAE,OAAO,CACnB,KAAK,CA3Se,IAAO,CA4S3B,MAAM,CAAE,GAAG,CAAC,KAAK,CKjTjB,OAAG,CLyTN,AA7CT,AAkCQ,YAlCI,CAiCR,IAAI,CACA,KAAK,AKzOJ,2BAA2B,AAA5B,CL+OY,KAAK,CKpTb,OAAG,CAuEN,ALqMT,AAkCQ,YAlCI,CAiCR,IAAI,CACA,KAAK,AKzOJ,kBAAkB,AAAnB,CL+OY,KAAK,CKpTb,OAAG,CAuEN,ALqMT,AAkCQ,YAlCI,CAiCR,IAAI,CACA,KAAK,AKzOJ,iBAAiB,AAAlB,CL+OY,KAAK,CKpTb,OAAG,CAuEN,ALqMT,AAkCQ,YAlCI,CAiCR,IAAI,CACA,KAAK,AKzOJ,sBAAsB,AAAvB,CL+OY,KAAK,CKpTb,OAAG,CAuEN,ALsPT,AAAA,cAAc,AAAC,CACX,UAAU,CA3TkB,OAAO,CAkUtC,AARD,AAEI,cAFU,CAEV,CAAC,AAAC,CACE,KAAK,CA3TmB,qBAAO,CA+TlC,AAPL,AAEI,cAFU,CAEV,CAAC,AAEI,MAAM,AAAC,CACJ,KAAK,CA7Te,IAAO,CA8T9B,AAIT,AAAA,WAAW,AAAC,CACR,gBAAgB,CAzUY,OAAO,CA4VtC,AApBD,AAIQ,WAJG,CAGP,UAAU,CACN,IAAI,AAAC,CACD,IAAI,CA5UgB,qBAAO,CA4UC,UAAU,CACzC,AANT,AASY,WATD,CAGP,UAAU,AAKL,MAAM,CACH,IAAI,AAAC,CACD,IAAI,CAjVY,IAAO,CAiVN,UAAU,CAC9B,AAXb,AAcI,WAdO,CAcP,CAAC,CAdL,AAcO,WAdI,CAcJ,CAAC,AAAC,CACD,KAAK,CKtVD,OAAG,CL0VV,AAnBL,AAcI,WAdO,CAcP,CAAC,AAEI,MAAM,CAhBf,AAcO,WAdI,CAcJ,CAAC,AAEC,MAAM,AAAC,CACJ,KAAK,CAxVe,IAAO,CAyV9B,AAIT,AAAA,YAAY,AAAC,CACT,gBAAgB,CAAE,OAAM,CACxB,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAQjC,AAVD,AAII,YAJQ,CAIR,CAAC,AAAC,CACE,KAAK,CAAE,IAAM,CAIhB,AATL,AAII,YAJQ,CAIR,CAAC,AAEI,MAAM,AAAC,CACJ,KAAK,CAAE,IAAM,CAChB,AAIT,AAAA,qBAAqB,AAAC,CAClB,UAAU,CAAE,OAAM,CAClB,aAAa,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAC/B,KAAK,CAvWuB,IAAO,CAgXtC,AAZD,AAKK,qBALgB,CAKjB,CAAC,AAAA,MAAM,AAAC,CAEA,KAAK,CAAE,IAAO,CAIrB,AAGL,AACI,eADW,CACX,GAAG,AAAC,CACA,MAAM,CAAE,GAAG,CAAC,KAAK,CA7QP,OAAM,CA8QnB,AAEL,AAAA,eAAe,AAAC,CACZ,gBAAgB,CAvVY,OAAO,CAwVnC,KAAK,CAvVuB,IAAO,CAwVtC,AAED,AAAA,mBAAmB,CAAE,AAAA,mBAAmB,AAAC,CACrC,aAAa,CAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAWnC,AAZD,AAGY,mBAHO,AAGd,MAAM,CAAC,GAAG,CAHM,AAGT,mBAH4B,AAGnC,MAAM,CAAC,GAAG,AAAC,CACR,UAAU,CAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CACrC,AALL,AAQQ,mBARW,CAOf,iBAAiB,CACb,EAAE,CARV,AAQY,mBARO,CAOf,iBAAiB,CACT,EAAE,CARO,AAQb,mBARgC,CAOpC,iBAAiB,CACb,EAAE,CARW,AAQT,mBAR4B,CAOpC,iBAAiB,CACT,EAAE,AAAC,CACH,KAAK,CArYe,IAAO,CAsY9B,AAIT,AAGY,WAHD,CACP,EAAE,CACE,OAAO,CACH,MAAM,AAAC,CACH,KAAK,CA9YW,IAAO,CA+YvB,gBAAgB,CAAE,OAAM,CAE3B,AAPb,AASY,WATD,CACP,EAAE,CACE,OAAO,CAOH,QAAQ,AAAC,CACL,KAAK,CAtXW,IAAO,CAuXvB,gBAAgB,CAxXA,OAAO,CAyX1B,AAZb,AAeQ,WAfG,CACP,EAAE,CAcE,CAAC,AACI,MAAM,AAAC,CACJ,UAAU,CAxZM,OAAO,CAyZvB,KAAK,CAxZW,IAAO,CA6Z1B,AAvBb,AAoBgB,WApBL,CACP,EAAE,CAcE,CAAC,AACI,MAAM,CAIH,GAAG,AAAC,CACA,KAAK,CA3ZO,IAAO,CA4ZtB,AAtBjB,AA2BY,WA3BD,CACP,EAAE,AAyBG,SAAS,CACN,CAAC,AAAC,CACE,UAAU,CAraM,OAAO,CAsavB,KAAK,CAraW,IAAO,CAsavB,WAAW,CAAE,GAAG,CAAC,KAAK,CK7a1B,OAAG,CLkbF,AAnCb,AAgCgB,WAhCL,CACP,EAAE,AAyBG,SAAS,CACN,CAAC,CAKG,GAAG,AAAC,CACA,KAAK,CAzaO,IAAO,CA0atB,AAMjB,AAEI,WAFO,CAEP,YAAY,AAAC,CACT,UAAU,CApZc,OAAO,CAqZ/B,KAAK,CApZmB,IAAO,CAwZlC,AARL,AAKS,WALE,CAEP,YAAY,CAGR,CAAC,AAAA,OAAO,CALhB,AAKsB,WALX,CAEP,YAAY,CAGE,IAAI,AAAA,OAAO,CAL7B,AAKqC,WAL1B,CAEP,YAAY,CAGe,MAAM,AAAA,OAAO,AAAC,CMta5C,KAAK,CNiB0B,sBAAO,CMhBtC,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CDxBF,OAAG,CL8bN,AAPT,AAKS,WALE,CAEP,YAAY,CAGR,CAAC,AAAA,OAAO,AM7ZP,MAAM,CNwZf,AAKsB,WALX,CAEP,YAAY,CAGE,IAAI,AAAA,OAAO,AM7ZpB,MAAM,CNwZf,AAKqC,WAL1B,CAEP,YAAY,CAGe,MAAM,AAAA,OAAO,AM7ZnC,MAAM,AAAC,CACJ,UAAU,CDhCV,OAAG,CCiCH,KAAK,CNMe,IAAO,CML9B,ANqZT,AAKS,WALE,CAEP,YAAY,CAGR,CAAC,AAAA,OAAO,AMzZP,gBAAgB,CNoZzB,AAKsB,WALX,CAEP,YAAY,CAGE,IAAI,AAAA,OAAO,AMzZpB,gBAAgB,CNoZzB,AAKqC,WAL1B,CAEP,YAAY,CAGe,MAAM,AAAA,OAAO,AMzZnC,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CACjC,ANkZT,AAUI,WAVO,CAUP,SAAS,AAAC,CACN,UAAU,CAtbc,IAAO,CAub/B,KAAK,CAtbmB,OAAO,CA4blC,AAlBL,AAcY,WAdD,CAUP,SAAS,CAGL,WAAW,CACP,OAAO,AAAC,CM/anB,KAAK,CNS0B,sBAAO,CMRtC,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CNMkB,OAAO,CAya1B,AAhBb,AAcY,WAdD,CAUP,SAAS,CAGL,WAAW,CACP,OAAO,AM9ZV,MAAM,AAAC,CACJ,UAAU,CD7CV,OAAG,CC8CH,KAAK,CNVe,IAAO,CMW9B,AN6YT,AAcY,WAdD,CAUP,SAAS,CAGL,WAAW,CACP,OAAO,AM1ZV,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAChC,AN0YT,AAoBI,WApBO,CAoBP,aAAa,AAAC,CACV,UAAU,CGjdJ,eAAO,CHqdhB,AAzBL,AAsBQ,WAtBG,CAoBP,aAAa,CAET,MAAM,CAtBd,AAsBsB,WAtBX,CAoBP,aAAa,CAED,MAAM,AAAA,OAAO,CAtB7B,AAsBqC,WAtB1B,CAoBP,aAAa,CAEc,MAAM,AAAA,MAAM,AAAC,CAChC,UAAU,CAjcU,OAAO,CAkc9B,AAxBT,AA2BI,WA3BO,CA2BP,YAAY,AAAC,CACT,UAAU,CA9bc,IAAO,CA+b/B,KAAK,CA9bmB,OAAO,CA+clC,AA9CL,AA+BQ,WA/BG,CA2BP,YAAY,CAIR,CAAC,AAAC,CACE,KAAK,CAhce,OAAO,CAoc9B,AApCT,AA+BQ,WA/BG,CA2BP,YAAY,CAIR,CAAC,AAEI,MAAM,AAAC,CACJ,KAAK,CAAE,OAAM,CAChB,AAnCb,AAsCQ,WAtCG,CA2BP,YAAY,CAWR,EAAE,AAAC,CACC,KAAK,CArce,OAAO,CAsc3B,aAAa,CAAE,GAAG,CAAC,KAAK,CA/WpB,OAAM,CAgXb,AAzCT,AA2CQ,WA3CG,CA2BP,YAAY,CAgBR,OAAO,AAAC,CM5cf,KAAK,CH5BQ,sBAAO,CG6BpB,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CNMkB,OAAO,CAsc9B,AA7CT,AA2CQ,WA3CG,CA2BP,YAAY,CAgBR,OAAO,AM3bN,MAAM,AAAC,CACJ,UAAU,CD7CV,OAAG,CC8CH,KAAK,CH/CH,IAAO,CGgDZ,AN6YT,AA2CQ,WA3CG,CA2BP,YAAY,CAgBR,OAAO,AMvbN,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAChC,AN0YT,AAgDI,WAhDO,CAgDP,OAAO,AACF,WAAW,CAjDpB,AAgDa,WAhDF,CAgDE,QAAQ,AACZ,WAAW,AAAC,CACT,UAAU,CAAE,OAAM,CACrB,AAnDT,AAuDQ,WAvDG,CAsDP,OAAO,CACH,OAAO,AAAC,CMxdf,KAAK,CH5BQ,sBAAO,CG6BpB,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CNkBkB,OAAO,CAsc9B,AAzDT,AAuDQ,WAvDG,CAsDP,OAAO,CACH,OAAO,AM/cN,MAAM,AAAC,CACJ,UAAU,CDhCV,OAAG,CCiCH,KAAK,CHvCH,IAAO,CGwCZ,ANqZT,AAuDQ,WAvDG,CAsDP,OAAO,CACH,OAAO,AM3cN,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CACjC,ANkZT,AAgEkB,WAhEP,CA6DP,gBAAgB,CACZ,GAAG,CAAA,AAAA,KAAC,EAAD,uBAAC,AAAA,EAEA,MAAM,AAAA,KAAK,AAAC,CACR,UAAU,CAneM,IAAO,CAoevB,KAAK,CAneW,OAAO,CA+e1B,AA9Eb,AAgEkB,WAhEP,CA6DP,gBAAgB,CACZ,GAAG,CAAA,AAAA,KAAC,EAAD,uBAAC,AAAA,EAEA,MAAM,AAAA,KAAK,AAIN,MAAM,AAAC,CACJ,aAAa,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAClC,AAtEjB,AAwE6B,WAxElB,CA6DP,gBAAgB,CACZ,GAAG,CAAA,AAAA,KAAC,EAAD,uBAAC,AAAA,EAEA,MAAM,AAAA,KAAK,CAQP,CAAC,AAAA,IAAK,CAAA,AAAA,OAAO,CAAE,CACX,KAAK,CAzeO,OAAO,CA6etB,AA7EjB,AAwE6B,WAxElB,CA6DP,gBAAgB,CACZ,GAAG,CAAA,AAAA,KAAC,EAAD,uBAAC,AAAA,EAEA,MAAM,AAAA,KAAK,CAQP,CAAC,AAAA,IAAK,CAAA,AAAA,OAAO,CAER,MAAM,AAAC,CACJ,KAAK,CAAE,OAAM,CAChB,AA5ErB,AAgFkB,WAhFP,CA6DP,gBAAgB,CACZ,GAAG,CAAA,AAAA,KAAC,EAAD,uBAAC,AAAA,EAkBA,MAAM,AAAA,QAAQ,AAAC,CACX,UAAU,CA9dM,OAAO,CA+dvB,KAAK,CA9dW,IAAO,CA0e1B,AA9Fb,AAgFkB,WAhFP,CA6DP,gBAAgB,CACZ,GAAG,CAAA,AAAA,KAAC,EAAD,uBAAC,AAAA,EAkBA,MAAM,AAAA,QAAQ,AAIT,MAAM,AAAC,CACJ,aAAa,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAClC,AAtFjB,AAwFgB,WAxFL,CA6DP,gBAAgB,CACZ,GAAG,CAAA,AAAA,KAAC,EAAD,uBAAC,AAAA,EAkBA,MAAM,AAAA,QAAQ,CAQV,CAAC,AAAC,CACE,KAAK,CAreO,IAAO,CAyetB,AA7FjB,AAwFgB,WAxFL,CA6DP,gBAAgB,CACZ,GAAG,CAAA,AAAA,KAAC,EAAD,uBAAC,AAAA,EAkBA,MAAM,AAAA,QAAQ,CAQV,CAAC,AAEI,MAAM,AAAC,CACJ,KAAK,CAAE,IAAO,CACjB,AA5FrB,AAmGc,WAnGH,CAkGP,cAAc,CACV,MAAM,AAAA,MAAM,AACP,KAAK,AAAC,CACH,UAAU,CArgBM,OAAO,CAsgBvB,KAAK,CAxgBW,IAAO,CAygB1B,AAvGb,AAmGc,WAnGH,CAkGP,cAAc,CACV,MAAM,AAAA,MAAM,AAKP,QAAQ,AAAC,CACN,UAAU,CAtfM,OAAO,CAufvB,KAAK,CAtfW,IAAO,CAuf1B,AAMb,AAGY,oBAHQ,CAChB,WAAW,CACP,aAAa,CACT,MAAM,CAHlB,AAG0B,oBAHN,CAChB,WAAW,CACP,aAAa,CACD,MAAM,AAAA,OAAO,CAHjC,AAGyC,oBAHrB,CAChB,WAAW,CACP,aAAa,CACc,MAAM,AAAA,MAAM,AAAC,CAChC,UAAU,CA5iBM,IAAO,CA6iB1B,AAKb,AAGQ,gBAHQ,CAEZ,YAAY,CACR,EAAE,AAAC,CACC,aAAa,CAAE,GAAG,CAAC,KAAK,CAtcpB,OAAM,CAucb,AALT,AAYI,gBAZY,CAYZ,eAAe,AAAC,CKjdhB,gBAAgB,CLkda,OAAM,CKjdnC,gBAAgB,CAAE,wCAAuB,CACzC,gBAAgB,CAAE,gCAAO,CLmexB,AAhCL,AAeQ,gBAfQ,CAYZ,eAAe,CAGX,CAAC,AAAC,CACE,KAAK,CAniBe,sBAAO,CAoiB9B,AAjBT,AAmBY,gBAnBI,CAYZ,eAAe,CAMX,KAAK,CACD,CAAC,AAAC,CACE,KAAK,CAviBW,sBAAO,CAwiB1B,AArBb,AAwBY,gBAxBI,CAYZ,eAAe,CAWX,QAAQ,CACJ,EAAE,AAAC,CACC,KAAK,CA5iBW,sBAAO,CA6iB1B,AA1Bb,AA6BQ,gBA7BQ,CAYZ,eAAe,CAiBX,aAAa,AAAC,CACV,KAAK,CKhlBL,OAAG,CLilBN,AA/BT,AAkCI,gBAlCY,CAkCZ,iBAAiB,AAAC,CKvelB,gBAAgB,CLwea,OAAM,CKvenC,gBAAgB,CAAE,wCAAuB,CACzC,gBAAgB,CAAE,gCAAO,CLyfxB,AAtDL,AAqCQ,gBArCQ,CAkCZ,iBAAiB,CAGb,CAAC,AAAC,CACE,KAAK,CArjBe,sBAAO,CAsjB9B,AAvCT,AAyCY,gBAzCI,CAkCZ,iBAAiB,CAMb,KAAK,CACD,CAAC,AAAC,CACE,KAAK,CAzjBW,sBAAO,CA0jB1B,AA3Cb,AA8CY,gBA9CI,CAkCZ,iBAAiB,CAWb,QAAQ,CACJ,EAAE,AAAC,CACC,KAAK,CA9jBW,sBAAO,CA+jB1B,AAhDb,AAmDQ,gBAnDQ,CAkCZ,iBAAiB,CAiBb,aAAa,AAAC,CACV,KAAK,CKtmBL,OAAG,CLumBN,AAOT,AACI,IADA,CACA,EAAE,CADN,AACQ,IADJ,CACI,EAAE,AAAC,CACH,aAAa,CAAE,GAAG,CAAC,KAAK,CAhgBhB,OAAM,CAigBjB,AAHL,AAKI,IALA,CAKA,EAAE,CALN,AAKQ,IALJ,CAKI,EAAE,CALV,AAKY,IALR,CAKQ,EAAE,CALd,AAKgB,IALZ,CAKY,EAAE,CALlB,AAKoB,IALhB,CAKgB,EAAE,AAAC,CACf,KAAK,CA3lBmB,OAAO,CA4lBlC,AAPL,AASI,IATA,CASA,KAAK,AAAC,CACF,KAAK,CA9kBmB,OAAO,CA+kBlC,AAXL,AAaI,IAbA,CAaA,SAAS,AAAC,CACN,KAAK,CApmBmB,OAAO,CAqmBlC,AAfL,AAiBI,IAjBA,CAiBA,QAAQ,AAAC,CACL,UAAU,CAAE,OAAM,CACrB,AAnBL,AAqBI,IArBA,CAqBA,YAAY,AAAC,CACT,MAAM,CAAE,GAAG,CAAC,KAAK,CAxhBP,OAAM,CAyhBnB,AAvBL,AAyBI,IAzBA,CAyBA,kBAAkB,AAAC,CACf,gBAAgB,CA3hBJ,OAAM,CA4hBlB,KAAK,CA1hBS,OAAM,CA2hBvB,AA5BL,AA8BI,IA9BA,CA8BA,oBAAoB,AACf,MAAM,CA/Bf,AA8BoD,IA9BhD,CA8BsB,kBAAkB,AAAA,OAAO,CAAC,gBAAgB,AAC3D,MAAM,AAAC,CACJ,KAAK,CAAE,OAAO,CACjB,AAjCT,AAsCY,IAtCR,CAoCA,kBAAkB,AACb,OAAO,CACJ,gBAAgB,CAtC5B,AAsCY,IAtCR,CAoCA,kBAAkB,AACb,OAAO,CACJ,gBAAgB,AACR,KAAK,CAvCzB,AAsCY,IAtCR,CAoCA,kBAAkB,AACb,OAAO,CACJ,gBAAgB,AACA,MAAM,CAvClC,AAsCY,IAtCR,CAoCA,kBAAkB,AACb,OAAO,CACJ,gBAAgB,AACS,OAAO,CAvC5C,AAsCY,IAtCR,CAoCA,kBAAkB,AACH,MAAM,CACb,gBAAgB,CAtC5B,AAsCY,IAtCR,CAoCA,kBAAkB,AACH,MAAM,CACb,gBAAgB,AACR,KAAK,CAvCzB,AAsCY,IAtCR,CAoCA,kBAAkB,AACH,MAAM,CACb,gBAAgB,AACA,MAAM,CAvClC,AAsCY,IAtCR,CAoCA,kBAAkB,AACH,MAAM,CACb,gBAAgB,AACS,OAAO,AAAC,CACzB,KAAK,CAviBH,OAAM,CAwiBR,YAAY,CA3iBd,OAAM,CA4iBJ,gBAAgB,CA3iBhB,OAAM,CA4iBT,AA3CjB,AA4CgB,IA5CZ,CAoCA,kBAAkB,AACb,OAAO,CACJ,gBAAgB,CAMZ,KAAK,CA5CrB,AA4CgB,IA5CZ,CAoCA,kBAAkB,AACH,MAAM,CACb,gBAAgB,CAMZ,KAAK,AAAC,CACF,KAAK,CA5iBH,OAAM,CA6iBX,AA9CjB,AAoDQ,IApDJ,CAmDA,mBAAmB,CACf,iBAAiB,AAAC,CACd,MAAM,CAAE,GAAG,CAAC,KAAK,CAvjBX,OAAM,CAwjBZ,UAAU,CA/oBU,IAAO,CAgpB9B,AAvDT,AA4DU,IA5DN,CA2DA,kBAAkB,AAAA,MAAM,CAAC,gBAAgB,CACnC,GAAG,AAAC,CACF,KAAK,CAtpBe,IAAO,CAupB3B,UAAU,CAtpBU,OAAO,CA2pB9B,AAnET,AA4DU,IA5DN,CA2DA,kBAAkB,AAAA,MAAM,CAAC,gBAAgB,CACnC,GAAG,AAGA,OAAO,AAAC,CACL,UAAU,CA5oBM,OAAO,CA6oBvB,KAAK,CA5oBW,IAAO,CA6oB1B,AAlEb,AAsEI,IAtEA,CAsEA,MAAM,AAAC,CACH,MAAM,CAjkBM,GAAG,CAikBY,KAAK,CAzkBtB,OAAM,CA0kBhB,UAAU,CAzkBE,OAAM,CA0kBlB,KAAK,CAxkBS,OAAM,CAykBvB,AA1EL,AA4EmB,IA5Ef,CA4EA,KAAK,CAAA,AAAA,IAAC,CAAD,IAAC,AAAA,EA5EV,AA6EuB,IA7EnB,CA6EA,KAAK,CAAA,AAAA,IAAC,CAAD,QAAC,AAAA,EA7EV,AA8EoB,IA9EhB,CA8EA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,EA9EV,AA+EmB,IA/Ef,CA+EA,KAAK,CAAA,AAAA,IAAC,CAAD,IAAC,AAAA,EA/EV,AAgFkB,IAhFd,CAgFA,KAAK,CAAA,AAAA,IAAC,CAAD,GAAC,AAAA,EAhFV,AAiFmB,IAjFf,CAiFA,KAAK,CAAA,AAAA,IAAC,CAAD,IAAC,AAAA,EAjFV,AAkFmB,IAlFf,CAkFA,KAAK,CAAA,AAAA,IAAC,CAAD,IAAC,AAAA,EAlFV,AAmFoB,IAnFhB,CAmFA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,EAnFV,AAoFqB,IApFjB,CAoFA,KAAK,CAAA,AAAA,IAAC,CAAD,MAAC,AAAA,EApFV,AAqFoB,IArFhB,CAqFA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,EArFV,AAsFkB,IAtFd,CAsFA,KAAK,CAAA,AAAA,IAAC,CAAD,GAAC,AAAA,CAAU,CACZ,MAAM,CAjlBM,GAAG,CAilBY,KAAK,CAzlBtB,OAAM,CA0lBhB,UAAU,CAzlBE,OAAM,CA0lBlB,KAAK,CAxlBS,OAAM,CAylBvB,AA1FL,AA4F2B,IA5FvB,CA4FA,KAAK,CAAA,AAAA,QAAC,CAAD,QAAC,AAAA,CAAmB,CACrB,UAAU,CAtrBc,IAAO,CAurBlC,AA9FL,AAgGI,IAhGA,CAgGA,QAAQ,AAAC,CACL,KAAK,CAhmBS,OAAM,CAimBpB,MAAM,CA5lBM,GAAG,CA4lBY,KAAK,CApmBtB,OAAM,CAqmBhB,UAAU,CApmBE,OAAM,CAqmBrB,AApGL,AAsGI,IAtGA,CAsGA,yBAAyB,AAAC,CACtB,MAAM,CAjmBM,GAAG,CAimBY,KAAK,CAzmBtB,OAAM,CA0mBnB,AAxGL,AA0GI,IA1GA,CA0GA,WAAW,AAAC,CACR,UAAU,CAAE,OAAO,CACtB,AA5GL,AA+Ga,IA/GT,CA8GA,WAAW,CACP,KAAK,AAAA,OAAO,AAAC,CACT,UAAU,CAjnBF,OAAM,CAknBd,MAAM,CA3mBE,GAAG,CA2mBgB,KAAK,CAnnB1B,OAAM,CAonBf,AAlHT,AAqHI,IArHA,CAqHA,KAAK,AK9pBA,2BAA2B,CLyiBpC,AAqHW,IArHP,CAqHO,QAAQ,AK9pBV,2BAA2B,CLyiBpC,AAqHqB,IArHjB,CAqHiB,MAAM,AK9pBlB,2BAA2B,AAA5B,CLmqBQ,KAAK,CAAE,OAAO,CKjqBrB,ALuiBT,AAqHI,IArHA,CAqHA,KAAK,AK9pBA,kBAAkB,CLyiB3B,AAqHW,IArHP,CAqHO,QAAQ,AK9pBV,kBAAkB,CLyiB3B,AAqHqB,IArHjB,CAqHiB,MAAM,AK9pBlB,kBAAkB,AAAnB,CLmqBQ,KAAK,CAAE,OAAO,CKjqBrB,ALuiBT,AAqHI,IArHA,CAqHA,KAAK,AK9pBA,iBAAiB,CLyiB1B,AAqHW,IArHP,CAqHO,QAAQ,AK9pBV,iBAAiB,CLyiB1B,AAqHqB,IArHjB,CAqHiB,MAAM,AK9pBlB,iBAAiB,AAAlB,CLmqBQ,KAAK,CAAE,OAAO,CKjqBrB,ALuiBT,AAqHI,IArHA,CAqHA,KAAK,AK9pBA,sBAAsB,CLyiB/B,AAqHW,IArHP,CAqHO,QAAQ,AK9pBV,sBAAsB,CLyiB/B,AAqHqB,IArHjB,CAqHiB,MAAM,AK9pBlB,sBAAsB,AAAvB,CLmqBQ,KAAK,CAAE,OAAO,CKjqBrB,ALuiBT,AA+HI,IA/HA,CA+HA,cAAc,AAAC,CACX,KAAK,CAAE,KAAM,CAUhB,AA1IL,AAiIQ,IAjIJ,CA+HA,cAAc,CAEV,2BAA2B,AAAC,CACxB,YAAY,CApoBN,OAAM,CAqoBZ,MAAM,CAAE,IAAK,CACb,KAAK,CAAE,IAAK,CACf,AArIT,AAsIQ,IAtIJ,CA+HA,cAAc,CAOV,KAAK,AAAC,CACF,MAAM,CAAE,IAAK,CAChB,AAxIT,AA4II,IA5IA,CA4IA,gBAAgB,AAAC,CACb,MAAM,CAAE,GAAG,CAAC,MAAM,CA/oBR,OAAM,CAypBnB,AAvJL,AA+IQ,IA/IJ,CA4IA,gBAAgB,CAGZ,CAAC,AAAC,CACE,KAAK,CA/oBK,OAAM,CAgpBnB,AAjJT,AAmJQ,IAnJJ,CA4IA,gBAAgB,CAOZ,EAAE,AAAC,CACC,KAAK,CAnuBe,IAAO,CAouB3B,UAAU,CAruBU,OAAO,CAsuB9B,AAtJT,AAyJI,IAzJA,CAyJA,sBAAsB,AAAC,CACnB,UAAU,CA1uBc,OAAO,CAsvBlC,AAtKL,AA4JQ,IA5JJ,CAyJA,sBAAsB,CAGlB,GAAG,AAAC,CACA,KAAK,CA5uBe,IAAO,CA6uB9B,AA9JT,AAyJI,IAzJA,CAyJA,sBAAsB,AAOjB,MAAM,AAAC,CACJ,UAAU,CAhvBU,IAAO,CAovB9B,AArKT,AAkKY,IAlKR,CAyJA,sBAAsB,AAOjB,MAAM,CAEH,GAAG,AAAC,CACA,KAAK,CAnvBW,OAAO,CAovB1B,AApKb,AAyKoB,IAzKhB,CAyKA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CACD,+BAA+B,AAAC,CAC7B,UAAU,CA3qBH,OAAM,CA4qBb,MAAM,CAAE,GAAG,CAAC,KAAK,CA9qBX,OAAM,CA+qBf,AA7KT,AAyKoB,IAzKhB,CAyKA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAKD,sBAAsB,AAAC,CACpB,MAAM,CAAE,GAAG,CAAC,KAAK,CAjrBX,OAAM,CAkrBZ,UAAU,CAhwBU,OAAO,CAiwB9B,AAjLT,AAyKoB,IAzKhB,CAyKA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CASD,MAAM,AAAA,+BAA+B,AAAC,CACnC,UAAU,CAnrBH,OAAM,CAorBhB,AApLT,AAyKoB,IAzKhB,CAyKA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAYD,kBAAkB,AAAC,CAChB,UAAU,CAtrBH,OAAM,CAurBb,MAAM,CAAE,GAAG,CAAC,KAAK,CAzrBX,OAAM,CA0rBf,AAxLT,AAyKoB,IAzKhB,CAyKA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAgBD,qBAAqB,AAAC,CACnB,UAAU,CA1rBH,OAAM,CA2rBhB,AA3LT,AAyKoB,IAzKhB,CAyKA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAmBD,kBAAkB,AAAC,CAChB,MAAM,CAAE,GAAG,CAAC,KAAK,CA/rBX,OAAM,CAgsBZ,UAAU,CA9wBU,OAAO,CA+wB9B,AA/LT,AAyKoB,IAzKhB,CAyKA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAuBD,gBAAgB,CAhMzB,AAyKoB,IAzKhB,CAyKA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAuBkB,gBAAgB,AAAC,CACjC,UAAU,CAjsBH,OAAM,CAksBb,MAAM,CAAE,GAAG,CAAC,KAAK,CApsBX,OAAM,CAqsBf,AAnMT,AAyKoB,IAzKhB,CAyKA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CA2BD,WAAW,AAAC,CACT,MAAM,CAAE,GAAG,CAAC,KAAK,CAvsBX,OAAM,CAwsBZ,UAAU,CAtxBU,OAAO,CAuxB9B,AAvMT,AAyKoB,IAzKhB,CAyKA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CA+BD,MAAM,AAAA,gBAAgB,CAxM/B,AAyKoB,IAzKhB,CAyKA,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CA+BwB,MAAM,AAAA,gBAAgB,AAAC,CAC7C,UAAU,CAzsBH,OAAM,CA0sBhB,AAKT,AAGQ,IAHJ,CACA,qBAAqB,CAEjB,KAAK,AAAC,CACF,MAAM,CAAE,GAAG,CAAC,KAAK,CArtBX,OAAM,CAouBf,AAnBT,AAMY,IANR,CACA,qBAAqB,CAEjB,KAAK,CAGD,EAAE,AAAC,CACC,gBAAgB,CAAE,OAAO,CACzB,aAAa,CAAE,GAAG,CAAC,KAAK,CAztBtB,OAAM,CA0tBR,YAAY,CAAE,GAAG,CAAC,KAAK,CA1tBrB,OAAM,CA2tBX,AAVb,AAYY,IAZR,CACA,qBAAqB,CAEjB,KAAK,CASD,EAAE,AAAC,CACC,YAAY,CAAE,GAAG,CAAC,KAAK,CA9tBrB,OAAM,CA+tBX,AAdb,AAgBY,IAhBR,CACA,qBAAqB,CAEjB,KAAK,CAaD,EAAE,AAAC,CACC,aAAa,CAAE,GAAG,CAAC,KAAK,CAluBtB,OAAM,CAmuBX,AAOb,AAAA,oBAAoB,AAAC,CACjB,gBAAgB,CAAE,OAAI,CK1uBtB,gBAAgB,CL2uBc,OAAI,CK1uBlC,gBAAgB,CAAE,qJAAuB,CACzC,gBAAgB,CAAE,kJAAO,CL0uB5B,AAED,AAGQ,mBAHW,CACf,EAAE,AAAA,UAAU,CAER,EAAE,AAAC,CACC,MAAM,CAAE,GAAG,CAAC,KAAK,CAnvBX,OAAM,CAovBZ,UAAU,CAAE,IAAO,CACnB,KAAK,CA30Be,OAAO,CAs1B9B,AAjBT,AAGQ,mBAHW,CACf,EAAE,AAAA,UAAU,CAER,EAAE,AAKG,YAAY,AAAC,CACV,UAAU,CAvvBN,OAAM,CAwvBV,KAAK,CAtvBC,OAAM,CAuvBf,AAXb,AAGQ,mBAHW,CACf,EAAE,AAAA,UAAU,CAER,EAAE,CAUG,AAAA,cAAC,AAAA,CAAgB,CACd,YAAY,CAl1BI,OAAO,CAm1B1B,AAfb,AAmBmB,mBAnBA,CACf,EAAE,AAAA,UAAU,AAkBP,SAAS,CAAC,EAAE,AAAC,CACV,OAAO,CAAE,GAAI,CAChB,AAIT,AAEU,kBAFQ,CACd,EAAE,CAAA,AAAA,sBAAC,AAAA,EACG,EAAE,AAAC,CACD,MAAM,CAAE,GAAG,CAAC,KAAK,CA3wBX,OAAM,CA4wBZ,UAAU,CAAE,IAAO,CACnB,KAAK,CAAE,OAAO,CAKjB,AAVT,AAOY,kBAPM,CACd,EAAE,CAAA,AAAA,sBAAC,AAAA,EACG,EAAE,CAKA,aAAa,AAAC,CACV,KAAK,CAAE,OAAM,CAChB,AATb,AAaI,kBAbc,CAad,gBAAgB,AAAC,CACb,UAAU,CAAE,OAAQ,CACpB,YAAY,CAAE,cAAe,CAChC,AAGL,AAAA,cAAc,AAAC,CACX,gBAAgB,CAAE,OAAQ,CAC1B,MAAM,CAAE,iBAAkB,CAC7B,AAED,AAAA,qBAAqB,AAAC,CAClB,gBAAgB,CAAE,OAAQ,CAM7B,AAPD,AAAA,qBAAqB,AAGhB,MAAM,CACP,AAJJ,cAIkB,CAAC,KAAK,AAAA,QAAQ,CAJhC,qBAAqB,AAIgB,CAC7B,gBAAgB,CAAE,IAAK,CAC1B,AAEL,AAEI,WAFO,CAEP,aAAa,AAAC,CACV,UAAU,CA73Bc,OAAO,CA83BlC,AAJL,AAMI,WANO,CAMP,UAAU,AAAC,CACP,UAAU,CAj4Bc,OAAO,CA+7BlC,AArEL,AAUY,WAVD,CAMP,UAAU,CAGN,SAAS,CACL,CAAC,AAAC,CACE,KAAK,CAp4BW,IAAO,CA84B1B,AArBb,AAUY,WAVD,CAMP,UAAU,CAGN,SAAS,CACL,CAAC,AAEI,MAAM,AAAC,CACJ,KAAK,CAAE,OAAM,CACb,UAAU,CAAE,OAAM,CACrB,AAfjB,AAUY,WAVD,CAMP,UAAU,CAGN,SAAS,CACL,CAAC,AAOI,OAAO,AAAC,CACL,UAAU,CAj5BE,IAAO,CAk5BnB,KAAK,CAj5BO,OAAO,CAk5BtB,AApBjB,AAMI,WANO,CAMP,UAAU,AAkBL,OAAO,AAAC,CACL,UAAU,CAx5BU,IAAO,CA+7B9B,AAhET,AA2BY,WA3BD,CAMP,UAAU,AAkBL,OAAO,CAGJ,SAAS,AAAC,CACN,UAAU,CAAE,wDAAe,CAC9B,AA7Bb,AA+BY,WA/BD,CAMP,UAAU,AAkBL,OAAO,CAOJ,CAAC,AAAC,CACE,KAAK,CKp7BT,OAAG,CLq7BC,MAAM,CAAE,mBAAoB,CAO5B,aAAa,CAAE,GAAG,CAAC,KAAK,CAh1BtB,OAAM,CAq2BX,AA7Db,AA+BY,WA/BD,CAMP,UAAU,AAkBL,OAAO,CAOJ,CAAC,AAII,MAAM,AAAC,CACJ,KAAK,CKx7Bb,OAAG,CLy7BK,UAAU,CAAE,wDAAe,CAC9B,AAtCjB,AA+BY,WA/BD,CAMP,UAAU,AAkBL,OAAO,CAOJ,CAAC,AAWI,OAAO,AAAC,CACL,UAAU,CAAE,GAAG,CAAC,KAAK,CAn1BvB,OAAM,CAo1BJ,WAAW,CAAE,GAAG,CAAC,KAAK,CAp1BxB,OAAM,CAq1BJ,YAAY,CAAE,GAAG,CAAC,KAAK,CAr1BzB,OAAM,CAs1BJ,aAAa,CAAE,CAAE,CAapB,AA3DjB,AA+BY,WA/BD,CAMP,UAAU,AAkBL,OAAO,CAOJ,CAAC,AAWI,OAAO,AAMH,MAAM,AAAC,CACJ,UAAU,CAh7BF,IAAO,CAi7BlB,AAlDrB,AA+BY,WA/BD,CAMP,UAAU,AAkBL,OAAO,CAOJ,CAAC,AAWI,OAAO,AAUH,YAAY,AAAC,CACV,WAAW,CAAE,CAAE,CAClB,AAtDrB,AA+BY,WA/BD,CAMP,UAAU,AAkBL,OAAO,CAOJ,CAAC,AAWI,OAAO,AAcH,WAAW,AAAC,CACT,YAAY,CAAE,CAAE,CACnB,AA1DrB,AAkEQ,WAlEG,CAMP,UAAU,CA4DN,aAAa,AAAC,CACV,UAAU,CAl8BU,IAAO,CAm8B9B,AAOT,AAAA,YAAY,AAAC,CACT,gBAAgB,CAn3BA,OAAM,CAo3BtB,MAAM,CA72BU,GAAG,CA62BQ,KAAK,CAr3BlB,OAAM,CAs4BvB,AAnBD,AAII,YAJQ,CAIR,KAAK,AAAC,CACF,KAAK,CA98BmB,OAAO,CA+8B/B,UAAU,CAAE,0BAA2B,CAC1C,AAPL,AAS8C,YATlC,AASP,cAAc,CAAC,KAAK,AAAA,UAAU,AAAA,QAAQ,CAAG,KAAK,AAAC,CAC5C,UAAU,CA38Bc,OAAO,CA48B/B,KAAK,CA38BmB,IAAO,CA48BlC,AAZL,AAcoC,YAdxB,AAcP,cAAc,CAAC,KAAK,AAAA,QAAQ,CAAG,KAAK,AAAC,CAClC,KAAK,CAz9BmB,IAAO,CA09B/B,UAAU,CAz9Bc,OAAO,CA09BlC,AAKL,AAAA,MAAM,AAAC,CACH,gBAAgB,CAAE,OAAQ,CAC7B,AACD,AAAA,cAAc,AAAC,CACX,gBAAgB,CAn9BY,OAAO,CA09BtC,AARD,AAGI,cAHU,CAGV,OAAO,AAAC,CACJ,UAAU,CAAE,OAAO,CMt+B1B,KAAK,CH5BQ,sBAAO,CG6BpB,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CNq+BgB,OAAO,CAChC,AANL,AAGI,cAHU,CAGV,OAAO,AM59BF,MAAM,AAAC,CACJ,UAAU,CDhCV,OAAG,CCiCH,KAAK,CHvCH,IAAO,CGwCZ,ANs9BT,AAGI,cAHU,CAGV,OAAO,AMx9BF,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CACjC,AN49BT,AAAA,YAAY,AAAC,CACT,gBAAgB,CAx9BY,OAAO,CA89BtC,AAPD,AAGI,YAHQ,CAGR,OAAO,AAAC,CACJ,gBAAgB,CAAE,OAAM,CM/+B/B,KAAK,CH5BQ,sBAAO,CG6BpB,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CN8+BgB,OAAM,CAC/B,AANL,AAGI,YAHQ,CAGR,OAAO,AM79BF,MAAM,AAAC,CACJ,UAAU,CD7CV,OAAG,CC8CH,KAAK,CH/CH,IAAO,CGgDZ,ANu9BT,AAGI,YAHQ,CAGR,OAAO,AMz9BF,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAChC,AN49BT,AAAA,WAAW,AAAC,CACR,gBAAgB,CAx+BY,OAAO,CA8+BtC,AAPD,AAGI,WAHO,CAGP,OAAO,AAAC,CACJ,gBAAgB,CAAE,OAAM,CMv/B/B,KAAK,CH5BQ,sBAAO,CG6BpB,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CNs/BgB,OAAM,CAC/B,AANL,AAGI,WAHO,CAGP,OAAO,AMr+BF,MAAM,AAAC,CACJ,UAAU,CD7CV,OAAG,CC8CH,KAAK,CH/CH,IAAO,CGgDZ,AN+9BT,AAGI,WAHO,CAGP,OAAO,AMj+BF,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAChC,ANs+BT,AAAA,KAAK,AAAC,CACF,UAAU,CA9+BkB,OAAO,CA++BnC,KAAK,CA9+BuB,IAAO,CA0/BtC,AAdD,AAII,KAJC,CAID,CAAC,AAAC,CACE,KAAK,CAAE,OAAM,CAIhB,AATL,AAII,KAJC,CAID,CAAC,AAEI,MAAM,AAAC,CACJ,KAAK,CAn/Be,IAAO,CAo/B9B,AART,AAWK,KAXA,CAWD,CAAC,AAAA,OAAO,CAXZ,AAWkB,KAXb,CAWS,IAAI,AAAA,OAAO,CAXzB,AAWiC,KAX5B,CAWsB,MAAM,AAAA,OAAO,AAAC,CMxgCxC,KAAK,CNiB0B,sBAAO,CMhBtC,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CDxBF,OAAG,CLgiCV,AAbL,AAWK,KAXA,CAWD,CAAC,AAAA,OAAO,AM//BH,MAAM,CNo/Bf,AAWkB,KAXb,CAWS,IAAI,AAAA,OAAO,AM//BhB,MAAM,CNo/Bf,AAWiC,KAX5B,CAWsB,MAAM,AAAA,OAAO,AM//B/B,MAAM,AAAC,CACJ,UAAU,CDhCV,OAAG,CCiCH,KAAK,CNMe,IAAO,CML9B,ANi/BT,AAWK,KAXA,CAWD,CAAC,AAAA,OAAO,AM3/BH,gBAAgB,CNg/BzB,AAWkB,KAXb,CAWS,IAAI,AAAA,OAAO,AM3/BhB,gBAAgB,CNg/BzB,AAWiC,KAX5B,CAWsB,MAAM,AAAA,OAAO,AM3/B/B,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CACjC,AN8/BT,AAAA,aAAa,AAAC,CACV,KAAK,CA9/BuB,OAAO,CA+/BtC,AAED,AAAA,OAAO,CAAE,AAAA,KAAK,AAAC,CACX,UAAU,CAtgCkB,OAAO,CAugCnC,KAAK,CAtgCuB,IAAO,CAkhCtC,AAdD,AAII,OAJG,CAIH,CAAC,CAJI,AAIL,KAJU,CAIV,CAAC,AAAC,CACE,KAAK,CAAE,OAAM,CAIhB,AATL,AAII,OAJG,CAIH,CAAC,AAEI,MAAM,CANN,AAIL,KAJU,CAIV,CAAC,AAEI,MAAM,AAAC,CACJ,KAAK,CA3gCe,IAAO,CA4gC9B,AART,AAWK,OAXE,CAWH,CAAC,AAAA,OAAO,CAXZ,AAWkB,OAXX,CAWO,IAAI,AAAA,OAAO,CAXzB,AAWiC,OAX1B,CAWoB,MAAM,AAAA,OAAO,CAX/B,AAWJ,KAXS,CAWV,CAAC,AAAA,OAAO,CAXH,AAWS,KAXJ,CAWA,IAAI,AAAA,OAAO,CAXhB,AAWwB,KAXnB,CAWa,MAAM,AAAA,OAAO,AAAC,CM5hCxC,KAAK,CNa0B,sBAAO,CMZtC,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CDxBF,OAAG,CLojCV,AAbL,AAWK,OAXE,CAWH,CAAC,AAAA,OAAO,AMnhCH,MAAM,CNwgCf,AAWkB,OAXX,CAWO,IAAI,AAAA,OAAO,AMnhChB,MAAM,CNwgCf,AAWiC,OAX1B,CAWoB,MAAM,AAAA,OAAO,AMnhC/B,MAAM,CNwgCN,AAWJ,KAXS,CAWV,CAAC,AAAA,OAAO,AMnhCH,MAAM,CNwgCN,AAWS,KAXJ,CAWA,IAAI,AAAA,OAAO,AMnhChB,MAAM,CNwgCN,AAWwB,KAXnB,CAWa,MAAM,AAAA,OAAO,AMnhC/B,MAAM,AAAC,CACJ,UAAU,CDhCV,OAAG,CCiCH,KAAK,CNEe,IAAO,CMD9B,ANqgCT,AAWK,OAXE,CAWH,CAAC,AAAA,OAAO,AM/gCH,gBAAgB,CNogCzB,AAWkB,OAXX,CAWO,IAAI,AAAA,OAAO,AM/gChB,gBAAgB,CNogCzB,AAWiC,OAX1B,CAWoB,MAAM,AAAA,OAAO,AM/gC/B,gBAAgB,CNogChB,AAWJ,KAXS,CAWV,CAAC,AAAA,OAAO,AM/gCH,gBAAgB,CNogChB,AAWS,KAXJ,CAWA,IAAI,AAAA,OAAO,AM/gChB,gBAAgB,CNogChB,AAWwB,KAXnB,CAWa,MAAM,AAAA,OAAO,AM/gC/B,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CACjC,ANkhCT,AAAA,eAAe,CAAE,AAAA,aAAa,AAAC,CAC3B,KAAK,CAthCuB,OAAO,CAuhCtC,AAED,AAAA,MAAM,CAAE,AAAA,QAAQ,AAAC,CACb,UAAU,CAlhCkB,OAAO,CAmhCnC,KAAK,CAlhCuB,IAAO,CA8hCtC,AAdD,AAII,MAJE,CAIF,CAAC,CAJG,AAIJ,QAJY,CAIZ,CAAC,AAAC,CACE,KAAK,CAAE,OAAM,CAIhB,AATL,AAII,MAJE,CAIF,CAAC,AAEI,MAAM,CANP,AAIJ,QAJY,CAIZ,CAAC,AAEI,MAAM,AAAC,CACJ,KAAK,CAvhCe,IAAO,CAwhC9B,AART,AAWK,MAXC,CAWF,CAAC,AAAA,OAAO,CAXZ,AAWkB,MAXZ,CAWQ,IAAI,AAAA,OAAO,CAXzB,AAWiC,MAX3B,CAWqB,MAAM,AAAA,OAAO,CAXhC,AAWH,QAXW,CAWZ,CAAC,AAAA,OAAO,CAXJ,AAWU,QAXF,CAWF,IAAI,AAAA,OAAO,CAXjB,AAWyB,QAXjB,CAWW,MAAM,AAAA,OAAO,AAAC,CMhjCxC,KAAK,CNqB0B,sBAAO,CMpBtC,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CDxBF,OAAG,CLwkCV,AAbL,AAWK,MAXC,CAWF,CAAC,AAAA,OAAO,AMviCH,MAAM,CN4hCf,AAWkB,MAXZ,CAWQ,IAAI,AAAA,OAAO,AMviChB,MAAM,CN4hCf,AAWiC,MAX3B,CAWqB,MAAM,AAAA,OAAO,AMviC/B,MAAM,CN4hCP,AAWH,QAXW,CAWZ,CAAC,AAAA,OAAO,AMviCH,MAAM,CN4hCP,AAWU,QAXF,CAWF,IAAI,AAAA,OAAO,AMviChB,MAAM,CN4hCP,AAWyB,QAXjB,CAWW,MAAM,AAAA,OAAO,AMviC/B,MAAM,AAAC,CACJ,UAAU,CDhCV,OAAG,CCiCH,KAAK,CNUe,IAAO,CMT9B,ANyhCT,AAWK,MAXC,CAWF,CAAC,AAAA,OAAO,AMniCH,gBAAgB,CNwhCzB,AAWkB,MAXZ,CAWQ,IAAI,AAAA,OAAO,AMniChB,gBAAgB,CNwhCzB,AAWiC,MAX3B,CAWqB,MAAM,AAAA,OAAO,AMniC/B,gBAAgB,CNwhCjB,AAWH,QAXW,CAWZ,CAAC,AAAA,OAAO,AMniCH,gBAAgB,CNwhCjB,AAWU,QAXF,CAWF,IAAI,AAAA,OAAO,AMniChB,gBAAgB,CNwhCjB,AAWyB,QAXjB,CAWW,MAAM,AAAA,OAAO,AMniC/B,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CACjC,ANsiCT,AAAA,cAAc,CAAE,AAAA,gBAAgB,AAAC,CAC7B,KAAK,CAliCuB,OAAO,CAmiCtC,AAED,AAAA,eAAe,AAAC,CACZ,UAAU,CAAE,OAAM,CAClB,KAAK,CAljCuB,IAAO,CA2jCtC,AAXD,AAII,eAJW,CAIX,WAAW,AAAC,CACR,UAAU,CAAE,OAAM,CACrB,AANL,AAQI,eARW,CAQX,OAAO,AAAC,CMjkCX,KAAK,CNS0B,sBAAO,CMRtC,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CNMkB,OAAO,CA2jClC,AAVL,AAQI,eARW,CAQX,OAAO,AMhjCF,MAAM,AAAC,CACJ,UAAU,CD7CV,OAAG,CC8CH,KAAK,CNVe,IAAO,CMW9B,ANqiCT,AAQI,eARW,CAQX,OAAO,AM5iCF,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAChC,AN+iCT,AAAA,iBAAiB,AAAC,CACd,UAAU,CAAE,OAAM,CAClB,KAAK,CA3jCuB,IAAO,CAokCtC,AAXD,AAII,iBAJa,CAIb,WAAW,AAAC,CACR,UAAU,CAAE,OAAM,CACrB,AANL,AAQI,iBARa,CAQb,OAAO,AAAC,CM9kCX,KAAK,CNa0B,sBAAO,CMZtC,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CNUkB,OAAO,CAokClC,AAVL,AAQI,iBARa,CAQb,OAAO,AM7jCF,MAAM,AAAC,CACJ,UAAU,CD7CV,OAAG,CC8CH,KAAK,CNNe,IAAO,CMO9B,ANkjCT,AAQI,iBARa,CAQb,OAAO,AMzjCF,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAChC,AN4jCT,AAAA,UAAU,AAAC,CACP,MAAM,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CACxB,UAAU,CGjnCA,IAAO,CHgoCpB,AAjBD,AAII,UAJM,CAIN,YAAY,AAAC,CACT,UAAU,CAAE,OAAM,CACrB,AANL,AAAA,UAAU,AASL,aAAa,AAAC,CACX,MAAM,CAAE,GAAG,CAAC,KAAK,CAjlCO,OAAO,CAulClC,AAhBL,AAYQ,UAZE,AASL,aAAa,CAGV,YAAY,AAAC,CACT,UAAU,CAplCU,OAAO,CAqlC3B,KAAK,CAplCe,IAAO,CAqlC9B,AAIT,AACI,aADS,CACT,EAAE,AAAC,CACC,KAAK,CArmCmB,OAAO,CA0mClC,AAPL,AAIQ,aAJK,CACT,EAAE,CAGE,IAAI,AAAC,CACD,KAAK,CA3mCe,OAAO,CA4mC9B,AANT,AASI,aATS,CAST,SAAS,AAAC,CACN,KAAK,CAAE,OAAO,CAIjB,AAdL,AAWQ,aAXK,CAST,SAAS,CAEL,CAAC,AAAC,CACE,KAAK,CAlnCe,OAAO,CAknCN,UAAU,CAClC,AAIT,AAAiC,WAAtB,CAAC,oBAAoB,CAAC,cAAc,AAAC,CAC5C,UAAU,CAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAI,CAC1B,MAAM,CAAE,GAAG,CAAC,KAAK,CAniCH,OAAM,CAoiCpB,UAAU,CAAE,IAAO,CACtB,AAED,AAAY,WAAD,CAAC,oBAAoB,AAAC,CAC7B,MAAM,CAAE,GAAG,CAAC,KAAK,CAxiCH,OAAM,CAyiCpB,uBAAuB,CIzpCX,GAAG,CJ0pCf,sBAAsB,CI1pCV,GAAG,CJ2pCf,UAAU,CAAE,IAAO,CA4CtB,AAhDD,AAOQ,WAPG,CAAC,oBAAoB,CAM5B,EAAE,CACE,CAAC,AAAC,CACE,KAAK,CAroCe,OAAO,CA4oC9B,AAfT,AAOQ,WAPG,CAAC,oBAAoB,CAM5B,EAAE,CACE,CAAC,AAGI,MAAM,CAVnB,AAOQ,WAPG,CAAC,oBAAoB,CAM5B,EAAE,CACE,CAAC,AAGa,MAAM,AAAC,CACb,UAAU,CAAE,OAAM,CAClB,KAAK,CAhjCC,OAAM,CAijCZ,UAAU,CAAE,GAAG,CAAC,KAAK,CApjCnB,OAAM,CAqjCX,AAdb,AAkBY,WAlBD,CAAC,oBAAoB,CAM5B,EAAE,CAWE,cAAc,CACV,CAAC,AAAC,CACE,MAAM,CAAE,IAAK,CACb,UAAU,CAAE,KAAM,CAClB,UAAU,CAAE,GAAG,CAAC,KAAK,CA5jCnB,OAAM,CA6jCR,WAAW,CAAE,GAAG,CAAC,KAAK,CA7jCpB,OAAM,CA8jCR,YAAY,CAAE,GAAG,CAAC,KAAK,CA9jCrB,OAAM,CAqkCX,AA9Bb,AAkBY,WAlBD,CAAC,oBAAoB,CAM5B,EAAE,CAWE,cAAc,CACV,CAAC,AAOI,MAAM,AAAC,CACJ,UAAU,CGnrChB,IAAO,CHorCD,UAAU,CAAE,CAAE,CACd,aAAa,CAAE,GAAG,CAAC,KAAK,CGrrC9B,IAAO,CHsrCJ,AA7BjB,AAgCyB,WAhCd,CAAC,oBAAoB,CAM5B,EAAE,CAWE,cAAc,AAeT,WAAW,CAAC,CAAC,CAhC1B,AAgC0C,WAhC/B,CAAC,oBAAoB,CAM5B,EAAE,CAWE,cAAc,AAeO,WAAW,CAAC,CAAC,AAAA,MAAM,AAAC,CACjC,YAAY,CAAE,qBAAsB,CACvC,AAlCb,AAqCyB,WArCd,CAAC,oBAAoB,CAM5B,EAAE,CA+BE,gBAAgB,CAAC,CAAC,AAAC,CACf,KAAK,CAnqCe,qBAAO,CA2qC9B,AA9CT,AAqCyB,WArCd,CAAC,oBAAoB,CAM5B,EAAE,CA+BE,gBAAgB,CAAC,CAAC,AAGb,MAAM,CAxCnB,AAqCyB,WArCd,CAAC,oBAAoB,CAM5B,EAAE,CA+BE,gBAAgB,CAAC,CAAC,AAGJ,MAAM,AAAC,CACb,UAAU,CAAE,IAAO,CACnB,KAAK,CAvqCW,OAAO,CAwqCvB,WAAW,CAAE,qBAAsB,CACnC,YAAY,CAAE,qBAAsB,CACvC,AAKb,AAAwC,WAA7B,CAAC,yBAAyB,CAAG,GAAG,AAAC,CACxC,MAAM,CAAE,GAAG,CAAC,KAAK,CA1lCH,OAAM,CA4lCvB,AAED,AAAA,oBAAoB,CAAE,AAAA,oBAAoB,AAAC,CACvC,MAAM,CAAE,GAAG,CAAC,KAAK,CA/lCH,OAAM,CAgmCpB,UAAU,CAAE,CAAE,CAEjB,AAID,AAAA,sBAAsB,AAAC,CACnB,MAAM,CAAE,GAAG,CAAC,KAAK,CAvmCH,OAAM,CAwmCvB,CAED,AAAA,AACI,SADH,CAAD,KAAC,AAAA,EACG,mBAAmB,AAAC,CAChB,YAAY,CAAE,GAAG,CAAC,KAAK,CA5mCb,OAAM,CA6mCnB,AAGL,AAEQ,WAFG,CACP,oBAAoB,CAChB,EAAE,CAFV,AAEY,WAFD,CACP,oBAAoB,CACZ,EAAE,CAFd,AAEgB,WAFL,CACP,oBAAoB,CACR,EAAE,CAFlB,AAEoB,WAFT,CACP,oBAAoB,CACJ,EAAE,CAFtB,AAEwB,WAFb,CACP,oBAAoB,CACA,EAAE,CAF1B,AAE4B,WAFjB,CACP,oBAAoB,CACI,EAAE,AAAC,CACnB,KAAK,CAAE,OAAM,CAChB,AAIT,AAIgB,eAJD,CACX,SAAS,CACL,UAAU,AACL,YAAY,CACT,OAAO,AAAC,CACJ,MAAM,CA1sCM,sBAAO,CA0sCoB,UAAU,CACpD,AANjB,AAOgB,eAPD,CACX,SAAS,CACL,UAAU,AACL,YAAY,CAIT,eAAe,AAAC,CACZ,MAAM,CA7sCM,IAAO,CA6sCQ,UAAU,CACxC,AATjB,AAYgB,eAZD,CACX,SAAS,CACL,UAAU,AASL,YAAY,CACT,eAAe,AAAC,CACZ,MAAM,CAltCM,qBAAO,CAktCmB,UAAU,CACnD,AAMjB,AAIgB,iBAJC,CACb,SAAS,CACL,UAAU,AACL,YAAY,CACT,OAAO,AAAC,CACJ,MAAM,CA1tCM,sBAAO,CA0tCsB,UAAU,CACtD,AANjB,AAOgB,iBAPC,CACb,SAAS,CACL,UAAU,AACL,YAAY,CAIT,eAAe,AAAC,CACZ,MAAM,CA7tCM,IAAO,CA6tCU,UAAU,CAC1C,AATjB,AAYgB,iBAZC,CACb,SAAS,CACL,UAAU,AASL,YAAY,CACT,eAAe,AAAC,CACZ,MAAM,CAluCM,qBAAO,CAkuCqB,UAAU,CACrD,AAOjB,AAAA,SAAS,AAAC,CACN,UAAU,CAjqCM,OAAM,CAkqCtB,MAAM,CAAE,GAAG,CAnqCG,OAAM,CAmqCK,KAAK,CA6EjC,AA/ED,AAAA,SAAS,AAIJ,cAAc,AAAC,CACZ,YAAY,CAAE,IAAM,CACpB,UAAU,CAAE,gBAAI,CACnB,AAPL,AASI,SATK,CASL,WAAW,AAAC,CACR,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAM,CA8D1B,AAxEL,AAYQ,SAZC,CASL,WAAW,CAGP,gBAAgB,CAZxB,AAY0B,SAZjB,CASL,WAAW,CAGW,cAAc,AAAC,CAC7B,KAAK,CGhyCH,IAAO,CHiyCZ,AAdT,AAgBQ,SAhBC,CASL,WAAW,CAOP,gBAAgB,AAAC,CACb,gBAAgB,CAAE,OAAO,CAC5B,AAlBT,AAoBQ,SApBC,CASL,WAAW,CAWP,cAAc,AAAC,CACX,gBAAgB,CAxvCI,OAAO,CAyvC9B,AAtBT,AAwBQ,SAxBC,CASL,WAAW,CAeP,YAAY,AAAC,CACT,UAAU,CAAE,OAAQ,CAKvB,AA9BT,AA2BY,SA3BH,CASL,WAAW,CAeP,YAAY,CAGR,UAAU,AAAC,CACP,gBAAgB,CAAE,OAAO,CAC5B,AA7Bb,AAgCQ,SAhCC,CASL,WAAW,CAuBP,iBAAiB,AAAC,CACd,UAAU,CAAE,IAAO,CACnB,KAAK,CArwCe,OAAO,CAswC9B,AAnCT,AAqCQ,SArCC,CASL,WAAW,CA4BP,WAAW,AAAC,CACR,UAAU,CAAE,IAAO,CAEtB,AAxCT,AA2CY,SA3CH,CASL,WAAW,AAiCN,MAAM,CACH,WAAW,AAAC,CACR,UAAU,CAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,IAAG,CAAC,eAAI,CACrC,AA7Cb,AAgDQ,SAhDC,CASL,WAAW,CAuCP,UAAU,CAhDlB,AAgDoB,SAhDX,CASL,WAAW,CAuCK,SAAS,CAhD7B,AAgD+B,SAhDtB,CASL,WAAW,CAuCgB,QAAQ,CAhDvC,AAgDyC,SAhDhC,CASL,WAAW,CAuC0B,UAAU,CAhDnD,AAgDqD,SAhD5C,CASL,WAAW,CAuCsC,YAAY,AAAC,CAEtD,UAAU,CAAE,OAAM,CAWrB,AA7DT,AAgDQ,SAhDC,CASL,WAAW,CAuCP,UAAU,AAIL,MAAM,AACF,MAAM,CArDvB,AAgDoB,SAhDX,CASL,WAAW,CAuCK,SAAS,AAIhB,MAAM,AACF,MAAM,CArDvB,AAgD+B,SAhDtB,CASL,WAAW,CAuCgB,QAAQ,AAI1B,MAAM,AACF,MAAM,CArDvB,AAgDyC,SAhDhC,CASL,WAAW,CAuC0B,UAAU,AAItC,MAAM,AACF,MAAM,CArDvB,AAgDqD,SAhD5C,CASL,WAAW,CAuCsC,YAAY,AAIpD,MAAM,AACF,MAAM,AAAC,CACJ,KAAK,CA5yCO,OAAO,CA6yCtB,AAvDjB,AAgDQ,SAhDC,CASL,WAAW,CAuCP,UAAU,AAUL,MAAM,CA1DnB,AAgDoB,SAhDX,CASL,WAAW,CAuCK,SAAS,AAUhB,MAAM,CA1DnB,AAgD+B,SAhDtB,CASL,WAAW,CAuCgB,QAAQ,AAU1B,MAAM,CA1DnB,AAgDyC,SAhDhC,CASL,WAAW,CAuC0B,UAAU,AAUtC,MAAM,CA1DnB,AAgDqD,SAhD5C,CASL,WAAW,CAuCsC,YAAY,AAUpD,MAAM,AAAC,CACJ,KAAK,CAlzCW,OAAO,CAmzC1B,AA5Db,AA+DQ,SA/DC,CASL,WAAW,CAsDP,UAAU,AACL,MAAM,AACF,MAAM,AAAC,CACJ,KAAK,CAryCO,OAAO,CAsyCtB,AAnEjB,AA2EQ,SA3EC,AA0EJ,aAAa,CACV,WAAW,CA3EnB,AA2EiC,SA3ExB,AA0EJ,aAAa,CACG,WAAW,CAAC,IAAI,AAAC,CAC1B,KAAK,CAAE,OAAO,CACjB,AAIT,AAGU,IAHN,CAEE,KAAK,CAAG,KAAK,CACT,EAAE,AAAC,CACD,aAAa,CAAE,GAAG,CAAC,KAAK,CAlvCpB,OAAM,CAuvCb,AATT,AAGU,IAHN,CAEE,KAAK,CAAG,KAAK,CACT,EAAE,AAGC,MAAM,AAAC,CACJ,UAAU,CAAE,IAAO,CACtB,AARb,AAYI,IAZA,CAYA,SAAS,AAAC,CACN,KAAK,CAAE,OAAO,CACjB,AAdL,AAgBI,IAhBA,CAgBA,YAAY,AAAC,CACT,KAAK,CAAE,OAAO,CACjB,AAlBL,AAoBI,IApBA,CAoBA,WAAW,CApBf,AAoBuB,IApBnB,CAoBa,MAAM,AAAA,OAAO,AAAC,CACvB,UAAU,CA70Cc,OAAO,CAo1ClC,AA5BL,AAsBQ,IAtBJ,CAoBA,WAAW,CAEP,CAAC,CAtBT,AAoBI,IApBA,CAoBA,WAAW,CApBf,AAsBQ,IAtBJ,CAoBa,MAAM,AAAA,OAAO,CAEtB,CAAC,CAtBT,AAoBuB,IApBnB,CAoBa,MAAM,AAAA,OAAO,AAEjB,CACD,KAAK,CA90Ce,IAAO,CA80CP,UAAU,CAIjC,AA3BT,AAsBQ,IAtBJ,CAoBA,WAAW,CAEP,CAAC,AAEI,MAAM,CAxBnB,AAoBI,IApBA,CAoBA,WAAW,AAIF,MAAM,CAxBnB,AAsBQ,IAtBJ,CAoBa,MAAM,AAAA,OAAO,CAEtB,CAAC,AAEI,MAAM,CAxBnB,AAoBuB,IApBnB,CAoBa,MAAM,AAAA,OAAO,AAIjB,MAAM,AAAC,CACJ,UAAU,CKv3Cd,OAAG,CLw3CF,AA1Bb,AA+BQ,IA/BJ,CA8BA,WAAW,CACP,SAAS,AAAC,CACN,KAAK,CAh2Ce,OAAO,CAi2C9B,AAjCT,AAoCI,IApCA,CAoCA,cAAc,AAAC,CACX,aAAa,CAAE,GAAG,CAAC,KAAK,CAnxChB,OAAM,CAuxCjB,AAzCL,AAsCQ,IAtCJ,CAoCA,cAAc,CAEV,cAAc,AAAC,CACX,KAAK,CAAE,OAAM,CAChB,AAxCT,AA4CQ,IA5CJ,CA2CA,YAAY,CACR,SAAS,AAAC,CACN,KAAK,CAAE,OAAO,CACjB,AA9CT,AAiDI,IAjDA,CAiDA,YAAY,AAAC,CACT,gBAAgB,CAt2CQ,OAAO,CAu2C/B,KAAK,CAt2CmB,IAAO,CAu2ClC,AAGL,AAAA,WAAW,AAAC,CACR,UAAU,CAAE,GAAG,CAAC,KAAK,CAtyCT,OAAM,CAy0CrB,AApCD,AAGI,WAHO,CAGP,IAAI,AAAC,CACD,aAAa,CAAE,GAAG,CAAC,KAAK,CAzyChB,OAAM,CAg0CjB,AA3BL,AAGI,WAHO,CAGP,IAAI,AAGC,MAAM,AAAC,CACJ,UAAU,CAAE,IAAO,CACtB,AART,AAUS,WAVE,CAGP,IAAI,CAOA,CAAC,AAAA,WAAW,AAAC,CACT,KAAK,CA14Ce,OAAO,CA+4C9B,AAhBT,AAaY,WAbD,CAGP,IAAI,CAOA,CAAC,AAAA,WAAW,CAGR,OAAO,AAAC,CACJ,KAAK,CA74CW,OAAO,CA84C1B,AAfb,AAkBc,WAlBH,CAGP,IAAI,CAeA,MAAM,AAAA,KAAK,AAAC,CACR,gBAAgB,CA94CI,OAAO,CA+4C3B,KAAK,CA94Ce,IAAO,CA+4C9B,AArBT,AAuBmB,WAvBR,CAGP,IAAI,CAoBA,MAAM,AAAA,KAAK,AAAA,KAAK,AAAC,CACb,gBAAgB,CAv4CI,OAAO,CAw4C3B,KAAK,CAv4Ce,IAAO,CAw4C9B,AA1BT,AA6BI,WA7BO,CA6BP,UAAU,AAAC,CACP,KAAK,CAl0CK,OAAO,CAm0CpB,AA/BL,AAiCI,WAjCO,CAiCP,UAAU,AAAC,CACP,KAAK,CAt0CK,OAAO,CAu0CpB,AAGL,AACI,aADS,CACT,kBAAkB,AAAC,CACf,OAAO,CAAE,CAAE,CAWd,AAbL,AAGQ,aAHK,CACT,kBAAkB,CAEd,MAAM,AAAC,CMx6Cd,KAAK,CH5BQ,sBAAO,CG6BpB,aAAa,CF3BE,GAAG,CE4Bf,UAAU,CNckB,OAAO,CA05C9B,AALT,AAGQ,aAHK,CACT,kBAAkB,CAEd,MAAM,AMv5CL,MAAM,AAAC,CACJ,UAAU,CD7CV,OAAG,CC8CH,KAAK,CH/CH,IAAO,CGgDZ,ANi5CT,AAGQ,aAHK,CACT,kBAAkB,CAEd,MAAM,AMn5CL,gBAAgB,AAAC,CACd,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAChC,AN84CT,AAMQ,aANK,CACT,kBAAkB,CAKd,cAAc,AAAC,CACX,UAAU,CA55CU,OAAO,CAi6C9B,AAZT,AAQY,aARC,CACT,kBAAkB,CAKd,cAAc,CAEV,MAAM,AAAC,CACH,UAAU,CAAE,WAAY,CACxB,KAAK,CG38CP,IAAO,CH48CR,AAXb,AAeI,aAfS,CAeT,YAAY,AAAC,CACT,gBAAgB,CAAE,OAAO,CAC5B,AAjBL,AAoBwB,aApBX,CAmBT,cAAc,CACV,KAAK,AAAA,QAAQ,CAAG,KAAK,AAAC,CAClB,KAAK,CGt9CH,IAAO,CHu9CZ,AAtBT,AAwBgB,aAxBH,CAmBT,cAAc,CAKV,KAAK,CAAG,KAAK,AAAC,CACV,KAAK,CAz7Ce,IAAO,CA07C9B,AA1BT,AA4BkC,aA5BrB,CAmBT,cAAc,CASV,KAAK,AAAA,UAAU,AAAA,QAAQ,CAAG,KAAK,AAAC,CAC5B,UAAU,CA17CU,OAAO,CA27C9B,AAIT,AAAyB,IAArB,CAAC,mBAAmB,CAAC,gBAAgB,AAAC,CACtC,KAAK,CGn+CK,IAAO,CHo+CjB,aAAa,CAAE,cAAe,CAC9B,gBAAgB,CAAE,OAAQ,CAC7B,AAED,AAAK,IAAD,CAAC,gCAAgC,AAChC,cAAc,AAAC,CACZ,YAAY,CAz3CF,OAAM,CA03CnB,AAHL,AAKe,IALX,CAAC,gCAAgC,CAIjC,KAAK,CACD,EAAE,CAAC,IAAI,AAAA,MAAM,CALrB,AAKyB,IALrB,CAAC,gCAAgC,CAIjC,KAAK,CACc,EAAE,AAAA,MAAM,CAL/B,AAKuC,IALnC,CAAC,gCAAgC,CAIjC,KAAK,CACwB,EAAE,AAAA,IAAI,AAAA,MAAM,AAAC,CAClC,UAAU,CAAE,OAAM,CAAkB,UAAU,CACjD,AAPT,AAQQ,IARJ,CAAC,gCAAgC,CAIjC,KAAK,CAID,OAAO,AAAC,CACJ,KAAK,CAr9Ce,OAAO,CAq9CN,UAAU,CAIlC,AAbT,AAQQ,IARJ,CAAC,gCAAgC,CAIjC,KAAK,CAID,OAAO,AAEF,MAAM,AAAC,CACJ,KAAK,CAAE,OAAM,CAChB,AAMb,AACI,QADI,CACJ,EAAE,AAAC,CACC,UAAU,CA14CE,OAAM,CA24CrB,AAHL,AAKI,QALI,CAKJ,EAAE,AAAC,CACC,SAAS,CAAE,UAAW,CAIzB,AAVL,AAKI,QALI,CAKJ,EAAE,AAEG,YAAY,AAAC,CACV,KAAK,CA/9Ce,OAAO,CAg+C9B,AAIT,AAAA,QAAQ,AAAC,CACL,UAAU,CA9+CkB,IAAO,CA++CnC,KAAK,CA9+CuB,OAAO,CAg/CtC,AAED,AAAA,cAAc,AAAC,CACX,KAAK,CAn/CuB,OAAO,CAo/CtC,AAED,AAAc,cAAA,AAAA,MAAM,CACpB,AAAc,cAAA,AAAA,MAAM,AAAC,CACjB,KAAK,CAAE,OAAM,CAChB,AAED,AAAc,aAAD,CAAC,MAAM,AAAC,CAOb,gBAAgB,CG7hDV,eAAO,CHkiDpB,AAZD,AAAc,aAAD,CAAC,MAAM,AAQX,MAAM,CARf,AAAc,aAAD,CAAC,MAAM,AAQF,OAAO,AAAC,CACd,gBAAgB,CG/hDd,eAAO,CHgiDZ,AAIT,AAA6B,cAAf,CAAC,aAAa,CAAC,MAAM,AAAC,CAE5B,gBAAgB,CGviDV,qBAAO,CHijDpB,AAZD,AAA6B,cAAf,CAAC,aAAa,CAAC,MAAM,AAG1B,MAAM,CAHf,AAA6B,cAAf,CAAC,aAAa,CAAC,MAAM,AAGjB,OAAO,AAAC,CACd,gBAAgB,CGziDd,qBAAO,CH0iDZ,AAST,AACI,gBADY,CACZ,MAAM,AAAC,CAIC,MAAM,CAAE,GAAG,CAAC,KAAK,CAAC,IAAM,CAE/B,AAGL,AAAA,qBAAqB,AAAC,CAClB,QAAQ,CAAE,MAAO,CACpB,AO3jDD,AAAiB,KAAZ,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,AAAC,CACzB,OAAO,CAAE,YAAa,CACtB,cAAc,CAAE,MAAO,CACvB,kBAAkB,CAAE,IAAK,CACzB,MAAM,CANE,IAAI,CAAC,CAAC,CAOd,KAAK,CAVS,KAAK,CAWnB,UAAU,CAAE,IAAK,CAoElB,AA1EH,AAAiB,KAAZ,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,AAQvB,MAAM,AAAC,CACJ,OAAO,CAAE,IAAK,CACjB,AAVL,AAAiB,KAAZ,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,AAWvB,+BAA+B,AAAC,CAC7B,KAAK,CAjBK,KAAK,CAkBf,MAAM,CAjBK,IAAI,CAkBf,MAAM,CAAE,OAAQ,CAChB,OAAO,CAAE,IAAK,CACd,aAAa,CAAE,IAAK,CACvB,AAjBL,AAAiB,KAAZ,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,AAkBvB,sBAAsB,AAAC,CACpB,MAAM,CAAE,IAAK,CACb,KAAK,CAAE,IAAK,CACZ,aAAa,CAAE,GAAI,CACnB,MAAM,CAAE,OAAQ,CAChB,kBAAkB,CAAE,IAAK,CACzB,UAAU,CAAE,IAAK,CACpB,AAzBL,AAAiB,KAAZ,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,AA0BvB,kBAAkB,AAAC,CAChB,MAAM,CAAE,CAAE,CACb,AA5BL,AAAiB,KAAZ,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,AA6BvB,kBAAkB,AAAC,CAChB,KAAK,CAnCK,KAAK,CAoCf,MAAM,CAnCK,IAAI,CAoCf,MAAM,CAAE,OAAQ,CAChB,OAAO,CAAE,IAAK,CACd,aAAa,CAAE,IAAK,CACvB,AAnCL,AAAiB,KAAZ,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,AAoCvB,qBAAqB,AAAC,CACnB,MAAM,CAzCK,IAAI,CA0Cf,aAAa,CAAE,IAAK,CACvB,AAvCL,AAAiB,KAAZ,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,AAwCvB,kBAAkB,AAAC,CAChB,MAAM,CAAE,IAAK,CACb,KAAK,CAAE,IAAK,CACZ,aAAa,CAAE,GAAI,CACnB,MAAM,CAAE,OAAQ,CACnB,AA7CL,AAAiB,KAAZ,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,AA8CvB,WAAW,AAAC,CACT,KAAK,CApDK,KAAK,CAqDf,MAAM,CApDK,IAAI,CAqDf,MAAM,CAAE,OAAQ,CAChB,OAAO,CAAE,IAAK,CACd,UAAU,CAAE,WAAY,CACxB,YAAY,CAAE,WAAY,CAC1B,KAAK,CAAE,WAAY,CACtB,AAtDL,AAAiB,KAAZ,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,AAuDvB,gBAAgB,CAvDrB,AAuDwC,KAvDnC,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,CAuDL,KAAK,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,gBAAgB,AAAC,CACjD,aAAa,CAAE,IAAK,CACvB,AAzDL,AAAiB,KAAZ,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,AA0DvB,WAAW,AAAC,CACT,MAAM,CAAE,IAAK,CACb,KAAK,CAAE,IAAK,CACZ,aAAa,CAAE,GAAI,CACnB,MAAM,CAAE,OAAQ,CACnB,AA/DL,AAgE0B,KAhErB,CAAA,AAAA,IAAC,CAAD,KAAC,AAAA,CAAW,WAAW,GAgEpB,KAAK,CAAA,AAAA,IAAC,CAAD,MAAC,AAAA,CAAY,WAAW,AAAC,CAC9B,UAAU,CAAE,IAAK,CACjB,OAAO,CAAE,YAAa,CACtB,KAAK,CAtEM,IAAI,CAuEf,UAAU,CAAE,KAAM,CAClB,MAAM,CAAE,CAAE,CACV,WAAW,CAAE,IAAK,CAClB,cAAc,CAAE,MAAO,CACvB,OAAO,CAAE,SAAU,CACtB,AAGL,AAAI,IAAA,AAAA,aAAa,AAAC,CACd,OAAO,CAAE,YAAa,CACtB,WAAW,CAAE,IAAK,CAClB,cAAc,CAAE,MAAO,CACvB,WAAW,CAAE,IAAK,CACrB",
+ "names": []
+}
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css-compiled/simple-fonts.css b/user/plugins/admin/themes/grav/css-compiled/simple-fonts.css
new file mode 100644
index 0000000..c48dd36
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css-compiled/simple-fonts.css
@@ -0,0 +1,3 @@
+body,h5,h6,.badge,.note,.grav-mdeditor-preview,input,select,textarea,button,.selectize-input,h1,h2,h3,h4,#admin-menu li,.form-tabs>label,.label,body .CodeMirror pre{font-family:"Helvetica Neue", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif}code,kbd,pre,samp{font-family:"Monaco", "Consolas", "Lucida Console", monospace}
+
+/*# sourceMappingURL=../css-compiled/simple-fonts.css.map */
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css-compiled/simple-fonts.css.map b/user/plugins/admin/themes/grav/css-compiled/simple-fonts.css.map
new file mode 100644
index 0000000..f308611
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css-compiled/simple-fonts.css.map
@@ -0,0 +1,10 @@
+{
+ "version": 3,
+ "file": "../scss/simple-fonts.css",
+ "sources": [
+ "../scss/simple-fonts.scss",
+ "../hdr0"
+ ],
+ "mappings": "AAAA,AAAA,IAAI,CAAE,AAAA,EAAE,CAAE,AAAA,EAAE,CACZ,AAAA,MAAM,CAAE,AAAA,KAAK,CAAE,AAAA,sBAAsB,CACrC,AAAA,KAAK,CAAE,AAAA,MAAM,CAAE,AAAA,QAAQ,CAAE,AAAA,MAAM,CAAE,AAAA,gBAAgB,CACjD,AAAA,EAAE,CAAE,AAAA,EAAE,CAAE,AAAA,EAAE,CAAE,AAAA,EAAE,CACd,AAAY,WAAD,CAAC,EAAE,CAAE,AAAa,UAAH,CAAG,KAAK,CAAE,AAAA,MAAM,CAC1C,AAAiB,IAAb,CAAC,WAAW,CAAC,GAAG,AAAC,CACjB,WAAW,CAAE,sEAAuE,CACvF,AACD,AAAA,IAAI,CAAE,AAAA,GAAG,CAAE,AAAA,GAAG,CAAE,AAAA,IAAI,AAAE,CAClB,WAAW,CAAE,iDAAkD,CAClE",
+ "names": []
+}
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css-compiled/template.css b/user/plugins/admin/themes/grav/css-compiled/template.css
new file mode 100644
index 0000000..519191e
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css-compiled/template.css
@@ -0,0 +1,7 @@
+#admin-login,#admin-logo h3,#admin-main .titlebar h1,#admin-main .titlebar .button-bar,#admin-main .flush-bottom.button-bar .button,#admin-main .danger.button-bar .button,#admin-main .success.button-bar .button,#admin-dashboard .chart-loader .fa,#admin-dashboard #updates .numeric,#admin-dashboard #popularity .stat,#admin-topbar #admin-mode-toggle,#admin-topbar #admin-lang-toggle{position:relative;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-o-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.button{display:inline-block;padding:0.3rem 1.5rem;font-weight:400;cursor:pointer;vertical-align:middle;outline:none}.button:active{margin:1px 0 -1px 0}.button i{margin-right:5px}.button-small.button{padding:2px 10px;font-size:1rem}.button-x-small.button{padding:2px 8px 2px 5px;font-size:0.9rem}.switch-toggle{display:inline-block;display:inline-flex;overflow:hidden;border-radius:4px;line-height:35px}.switch-toggle input[type=radio]{position:absolute;visibility:hidden;display:none}.switch-toggle label{display:inline-block;cursor:pointer;padding:0 15px;white-space:nowrap}.datetime-picker-wrapper{position:relative}.datetime-picker-wrapper input{padding-right:2.5rem}.datetime-picker-wrapper .field-icons{position:absolute;top:0;right:10px;bottom:0;line-height:2.5rem}.collapse{display:none}.collapse.in{display:block}tr .collapse.in{display:table-row}tbody .collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height 0.35s ease,visibility 0.35s ease;-moz-transition:height 0.35s ease,visibility 0.35s ease;transition:height 0.35s ease,visibility 0.35s ease}.sr-only,.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after,.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after,.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after,.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after,.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after,.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after,.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after,.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after,.bootstrap-datetimepicker-widget .btn[data-action="today"]::after,.bootstrap-datetimepicker-widget .picker-switch::after,.bootstrap-datetimepicker-widget table th.prev::after,.bootstrap-datetimepicker-widget table th.next::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.bootstrap-datetimepicker-widget.dropdown-menu{position:absolute;z-index:1000;display:none;float:left;min-width:160px;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,0.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,0.175)}.bootstrap-datetimepicker-widget .list-unstyled{padding-left:0;list-style:none}.bootstrap-datetimepicker-widget .collapse{display:none;visibility:hidden}.bootstrap-datetimepicker-widget .collapse.in{display:block;visibility:visible}.bootstrap-datetimepicker-widget .datepicker-years .picker-switch{cursor:default !important;background:inherit !important}.bootstrap-datetimepicker-widget .table-condensed>thead>tr>th{padding:5px}.bootstrap-datetimepicker-widget table{display:table}.bootstrap-datetimepicker-widget table thead{display:table-header-group}.bootstrap-datetimepicker-widget table tbody{display:table-row-group}.bootstrap-datetimepicker-widget table tr{display:table-row}.bootstrap-datetimepicker-widget table tr:hover{background:inherit}.bootstrap-datetimepicker-widget table tr th,.bootstrap-datetimepicker-widget table tr td{border:0;display:table-cell}.bootstrap-datetimepicker-widget table tr th:first-child,.bootstrap-datetimepicker-widget table tr td:first-child{padding-left:inherit}.bootstrap-datetimepicker-widget table tr th:last-child,.bootstrap-datetimepicker-widget table tr td:last-child{padding-right:inherit}/*!
+ * Datetimepicker for Bootstrap 3
+ * ! version : 4.7.14
+ * https://github.com/Eonasdan/bootstrap-datetimepicker/
+ */.bootstrap-datetimepicker-widget{list-style:none}.bootstrap-datetimepicker-widget.dropdown-menu{margin:2px 0;padding:4px;width:19em}@media (min-width: 768px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width: 992px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width: 1200px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}.bootstrap-datetimepicker-widget.dropdown-menu:before,.bootstrap-datetimepicker-widget.dropdown-menu:after{content:'';display:inline-block;position:absolute}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);top:-7px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;top:-6px;left:8px}.bootstrap-datetimepicker-widget.dropdown-menu.top:before{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);bottom:-7px;left:6px}.bootstrap-datetimepicker-widget.dropdown-menu.top:after{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff;bottom:-6px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget .list-unstyled{margin:0}.bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:bold;font-size:1.2em;margin:0}.bootstrap-datetimepicker-widget button[data-action]{padding:6px}.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after{content:"Increment Hours"}.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after{content:"Increment Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after{content:"Decrement Hours"}.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after{content:"Decrement Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after{content:"Show Hours"}.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after{content:"Show Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after{content:"Toggle AM/PM"}.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after{content:"Clear the picker"}.bootstrap-datetimepicker-widget .btn[data-action="today"]::after{content:"Set the date to today"}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget .picker-switch::after{content:"Toggle Date and Time Screens"}.bootstrap-datetimepicker-widget .picker-switch td{padding:0;margin:0;height:auto;width:auto;line-height:inherit}.bootstrap-datetimepicker-widget .picker-switch td span{line-height:2.5;height:2.5em;width:100%}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget table td,.bootstrap-datetimepicker-widget table th{text-align:center;border-radius:3px}.bootstrap-datetimepicker-widget table th{height:29px;line-height:29px;width:29px}.bootstrap-datetimepicker-widget table th.picker-switch{width:145px}.bootstrap-datetimepicker-widget table th.disabled,.bootstrap-datetimepicker-widget table th.disabled:hover{background:none;color:#ccc;cursor:not-allowed}.bootstrap-datetimepicker-widget table th.prev::after{content:"Previous Month"}.bootstrap-datetimepicker-widget table th.next::after{content:"Next Month"}.bootstrap-datetimepicker-widget table thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#ddd}.bootstrap-datetimepicker-widget table td{height:54px;line-height:54px;width:54px}.bootstrap-datetimepicker-widget table td.cw{font-size:.8em;height:20px;line-height:20px;color:#ccc}.bootstrap-datetimepicker-widget table td.day{height:29px;line-height:29px;width:29px}.bootstrap-datetimepicker-widget table td.day:hover,.bootstrap-datetimepicker-widget table td.hour:hover,.bootstrap-datetimepicker-widget table td.minute:hover,.bootstrap-datetimepicker-widget table td.second:hover{background:#ddd;cursor:pointer}.bootstrap-datetimepicker-widget table td.old,.bootstrap-datetimepicker-widget table td.new{color:#ccc}.bootstrap-datetimepicker-widget table td.today{position:relative}.bootstrap-datetimepicker-widget table td.today:before{content:'';display:inline-block;border:0 0 7px 7px solid transparent;border-bottom-color:#fff;border-top-color:rgba(0,0,0,0.2);position:absolute;bottom:4px;right:4px}.bootstrap-datetimepicker-widget table td.active,.bootstrap-datetimepicker-widget table td.active:hover{background-color:#fff;color:blue;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget table td.active.today:before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget table td.disabled,.bootstrap-datetimepicker-widget table td.disabled:hover{background:none;color:#ccc;cursor:not-allowed}.bootstrap-datetimepicker-widget table td span{display:inline-block;width:54px;height:54px;line-height:54px;margin:2px 1.5px;cursor:pointer;border-radius:3px}.bootstrap-datetimepicker-widget table td span:hover{background:#ddd}.bootstrap-datetimepicker-widget table td span.active{background-color:#fff;color:blue;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget table td span.old{color:#ccc}.bootstrap-datetimepicker-widget table td span.disabled,.bootstrap-datetimepicker-widget table td span.disabled:hover{background:none;color:#ccc;cursor:not-allowed}.bootstrap-datetimepicker-widget.usetwentyfour td.hour{height:27px;line-height:27px}.input-group.date .input-group-addon{cursor:pointer}.gm-scrollbar-disable-selection{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.gm-prevented{-webkit-overflow-scrolling:touch}.gm-prevented .gm-scrollbar{display:none}.gm-scrollbar-container{position:relative;overflow:hidden !important;width:100%;height:100%}.gm-scrollbar{position:absolute;right:2px;bottom:2px;z-index:2;border-radius:3px}.gm-scrollbar.-vertical{width:6px;top:2px}.gm-scrollbar.-horizontal{height:6px;left:2px}.gm-scrollbar .thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit}.gm-scrollbar.-vertical .thumb{width:100%}.gm-scrollbar.-horizontal .thumb{height:100%}.gm-scrollbar-container .gm-scroll-view{width:100%;height:100%;overflow:scroll;-webkit-overflow-scrolling:touch}.gm-scrollbar-container.gm-autoshow .gm-scrollbar{opacity:0;transition:opacity 120ms ease-out}.gm-scrollbar-container.gm-autoshow:hover .gm-scrollbar,.gm-scrollbar-container.gm-autoshow:focus .gm-scrollbar{opacity:1;transition:opacity 340ms ease-out}.gm-resize-trigger{position:absolute;display:block;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;visibility:hidden}.g-colorpicker{position:relative;border-radius:.1875rem;max-width:100%}.g-colorpicker input{width:100% !important}.g-colorpicker i{position:absolute;top:15px;right:10px;z-index:2}.g-colorpicker .g-colorpicker-preview-wrap{cursor:default;position:absolute;top:0;right:0;width:43px;height:43px;border-radius:0 3px 3px 0;border:1px solid rgba(0,0,0,0.2)}.g-colorpicker .g-colorpicker-preview{position:absolute;top:0px;right:0px;bottom:0px;left:0px;border-radius:0 3px 3px 0}.cp-sprite{background-image:url(data:image/png;base64,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)}.cp-wrapper{position:absolute;width:173px;height:211px;background:white;border:solid 1px #CCC;box-shadow:0 0 20px rgba(0,0,0,0.2);z-index:99999;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:none}.cp-wrapper.cp-visible{display:block}.cp-position-top .cp-wrapper{top:-154px}.cp-position-right .cp-wrapper{right:0}.cp-position-bottom .cp-wrapper{top:auto}.cp-position-left .cp-wrapper{left:0}.cp-with-opacity.cp-wrapper{width:194px}.cp-wrapper .cp-grid{position:absolute;top:1px;left:1px;width:150px;height:150px;background-position:-120px 0;cursor:crosshair}.cp-wrapper .cp-grid-inner{position:absolute;top:0;left:0;width:150px;height:150px}.cp-mode-saturation .cp-grid{background-position:-420px 0}.cp-mode-saturation .cp-grid-inner{background-position:-270px 0;background-image:inherit}.cp-mode-brightness .cp-grid{background-position:-570px 0}.cp-mode-brightness .cp-grid-inner{background-color:black}.cp-mode-wheel .cp-grid{background-position:-720px 0}.cp-slider,.cp-opacity-slider{position:absolute;top:1px;left:152px;width:20px;height:150px;background-color:white;background-position:0 0;cursor:row-resize}.cp-mode-saturation .cp-slider{background-position:-60px 0}.cp-mode-brightness .cp-slider{background-position:-20px 0}.cp-mode-wheel .cp-slider{background-position:-20px 0}.cp-opacity-slider{left:173px;background-position:-40px 0;display:none}.cp-with-opacity .cp-opacity-slider{display:block}.cp-grid .cp-picker{position:absolute;top:70px;left:70px;width:12px;height:12px;border:solid 1px black;border-radius:10px;margin-top:-6px;margin-left:-6px;background:none}.cp-grid .cp-picker>div{position:absolute;top:0;left:0;width:8px;height:8px;border-radius:8px;border:solid 2px white;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.cp-picker{position:absolute;top:0;left:0;width:18px;height:2px;background:white;border:solid 1px black;margin-top:-2px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;z-index:2}.cp-tabs{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;bottom:0;color:#777;left:0;right:0;background:#eee}.cp-tabs>div{display:inline-block;padding:6px 0 4px;font-family:Helvetica, sans-serif;font-size:11px;border-left:1px solid #ddd;width:48px;border-right:0;text-align:center;cursor:pointer}.cp-tabs>div:first-child{border-left:0}.cp-tabs>div.active{background-color:#fff}.cp-tabs>div.cp-tab-transp{width:100%;border-top:1px solid #ddd}.cp-theme-default.cp-wrapper{width:auto;display:inline-block}.cp-theme-default .cp-input{height:20px;width:auto;display:inline-block;padding-left:26px}.cp-theme-default.cp-position-right .cp-input{padding-right:26px;padding-left:inherit}.input-group .cp-theme-bootstrap:not(:first-child) .cp-input{border-top-left-radius:0;border-bottom-left-radius:0}.g-colorpicker-preview-wrap{background-image:url(data:image/jpeg;base64,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)}html,body{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}b,strong{font-weight:600}.bigger{font-size:1.2rem}.button-bar{text-align:right;float:right;z-index:0}.alert{font-size:1rem;padding:0.5rem 1.5rem}@media only all and (max-width: 47.938em){.alert{padding:0.5rem 1rem}}.badge,.sidebar-open #admin-sidebar #admin-menu li .badges .updates,.gpm .gpm-testing{display:inline-block;font-size:0.8rem;font-weight:500;border-radius:10px;padding:0px 6px;min-width:20px;line-height:20px;text-align:center}.empty-state{margin:0 auto;text-align:center;padding-top:100px}.default-animation{-webkit-transition:all 0.5s ease;-moz-transition:all 0.5s ease;transition:all 0.5s ease}.pulse{animation-name:pulse_animation;animation-duration:2000ms;transform-origin:70% 70%;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes pulse_animation{0%{transform:scale(1)}30%{transform:scale(1)}40%{transform:scale(1.08)}50%{transform:scale(1)}60%{transform:scale(1)}70%{transform:scale(1.05)}80%{transform:scale(1)}100%{transform:scale(1)}}.default-border-radius{border-radius:4px}.default-glow-shadow{box-shadow:0 0 20px rgba(0,0,0,0.2)}.default-box-shadow{box-shadow:0 0 10px 2px rgba(0,0,0,0.03)}.login-box-shadow{box-shadow:0 10px 100px 0px rgba(0,0,0,0.4)}.padding-horiz{padding-left:7rem;padding-right:7rem}@media only all and (max-width: 59.938em){.padding-horiz{padding-left:4rem;padding-right:4rem}}@media only all and (max-width: 47.938em){.padding-horiz{padding-left:1rem;padding-right:1rem}}.padding-vert{padding-top:3rem;padding-bottom:3rem}@media only all and (max-width: 47.938em){.hidden-mobile{display:none !important}}body{font-weight:400}h1,h2,h3,h4,h5,h6{font-weight:400;text-rendering:optimizeLegibility;letter-spacing:-0px}h1{font-size:3.1rem}@media only all and (max-width: 47.938em){h1{font-size:2.5rem;line-height:1.2;margin-bottom:2.5rem}}@media only all and (min-width: 48em) and (max-width: 59.938em){h2{font-size:2rem}}@media only all and (max-width: 47.938em){h2{font-size:1.9rem}}@media only all and (min-width: 48em) and (max-width: 59.938em){h3{font-size:1.6rem}}@media only all and (max-width: 47.938em){h3{font-size:1.5rem}}@media only all and (min-width: 48em) and (max-width: 59.938em){h4{font-size:1.25rem}}@media only all and (max-width: 47.938em){h4{font-size:1.15rem}}h1{letter-spacing:-3px}h2{letter-spacing:-2px}h3{letter-spacing:-1px}i.fa.fa-heart.pulse,i.fa.fa-heart-o.pulse{color:#920}blockquote p{font-size:1.1rem}blockquote cite{display:block;text-align:right;font-size:1.2rem}pre{padding:2rem;border-radius:3px}pre code{background:inherit}.label{vertical-align:middle;border-radius:100%;height:1rem;min-width:1rem;line-height:1rem;display:inline-block;text-align:center;font-size:.6rem;margin-right:0.75rem}form .form-display-wrapper h1{padding:0 !important;font-size:1.7rem !important;border-bottom-width:2px !important}form .form-display-wrapper h2{padding:0 !important;font-size:1.5rem !important;border-bottom-width:1px !important}form .form-display-wrapper h3{padding:0 !important;font-size:1.3rem !important;border-bottom-width:1px !important}form .form-display-wrapper h4{padding:0 !important;font-size:1.1rem !important}form .form-display-wrapper blockquote{padding:15px}form .form-display-wrapper blockquote p{font-size:0.9rem;color:inherit}form .form-display-wrapper blockquote p:last-child{margin-bottom:0}form .form-display-wrapper code,form .form-display-wrapper pre{font-size:0.8rem}form .form-display-wrapper table{border-collapse:collapse;width:100%}form .form-display-wrapper table th{padding:10px !important}form .form-display-wrapper table th:last-child{border-right:none}form .form-display-wrapper table td{padding:10px !important}form .form-display-wrapper table td:last-child{border-right:none}form .form-display-wrapper table tr:last-child{border-bottom:none}@font-face{font-family:"rockettheme-apps";font-weight:normal;font-style:normal;src:url("../fonts/rockettheme-apps/rockettheme-apps.eot");src:url("../fonts/rockettheme-apps/rockettheme-apps.eot?#iefix") format("embedded-opentype"),url("../fonts/rockettheme-apps/rockettheme-apps.woff") format("woff"),url("../fonts/rockettheme-apps/rockettheme-apps.ttf") format("truetype"),url("../fonts/rockettheme-apps/rockettheme-apps.svg#rockettheme-apps") format("svg")}i.fa-grav,i.fa-grav-spaceman,i.fa-grav-text,i.fa-grav-full,i.fa-grav-logo,i.fa-grav-symbol,i.fa-grav-logo-both,i.fa-grav-both,i.fa-gantry,i.fa-gantry-logo,i.fa-gantry-symbol,i.fa-gantry-logo-both,i.fa-gantry-both{font-family:'rockettheme-apps';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-grav-logo:before,.fa-grav-text:before{content:"\61"}.fa-grav-symbol:before,.fa-grav:before,.fa-grav-spaceman:before{content:"\62"}.fa-grav-logo-both:before,.fa-grav-both:before,.fa-grav-full:before{content:"\66"}.fa-gantry-logo:before{content:"\64"}.fa-gantry:before,.fa-gantry-symbol:before{content:"\63"}.fa-gantry-logo-both:before,.fa-gantry-both:before{content:"\65"}form h1,form h3,form .form-spacer h3{padding:0 1.5rem 0.5rem;margin:0 0 1rem;font-size:1.5rem;text-align:left;letter-spacing:-1px}form h3{padding-left:0}form p{padding:0 1.5rem}form pre{padding:1.5rem 3rem}form .form-description p{padding:0}form .form-field{margin-bottom:1rem;padding-left:1.5rem}@media only all and (max-width: 47.938em){form .form-field{padding-left:1rem}}form .form-field .file-thumbnail-wrapper{display:inline-block;position:relative}form .form-field .file-thumbnail{max-height:150px;vertical-align:top;display:inline-block;margin-bottom:10px}form .form-field .file-thumbnail-remove{position:absolute;text-align:center;display:block;top:3px;right:3px;width:25px;height:25px;border-radius:100%}form .form-field .file-thumbnail-remove .fa{font-size:20px;line-height:25px;vertical-align:top}form .form-data{padding-right:1.5rem}@media only all and (max-width: 47.938em){form .form-data{padding-right:1rem}}form .form-input-addon-wrapper{display:table-row}form .form-input-addon-wrapper .form-input-addon{display:table-cell;min-width:43px;padding:0 10px;text-align:center}form .form-input-addon-wrapper input{height:35px;display:table-cell}form .form-input-addon-wrapper .form-input-prepend{border-radius:4px 0 0 4px;border-right-width:0 !important}form .form-input-addon-wrapper .form-input-append{border-radius:0 4px 4px 0;border-left-width:0 !important}form .form-input-addon-wrapper input:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}form .form-input-addon-wrapper input:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}form .overlay{padding-top:1rem;padding-bottom:1px}form .overlay.bottom{margin:2rem auto -2rem auto}form .required{font-family:helvetica, arial;vertical-align:middle;line-height:1;font-size:30px;margin-left:5px}form label{padding:5px 0;font-weight:400;margin:0}form label p{margin:0}form label [data-hint]{display:inline}form label.inline{display:inline;vertical-align:middle;margin-right:15px}form label.toggleable{display:inline}form .form-sublabel p{opacity:0.8;font-size:0.9rem;margin:10px 20px 0 0;padding:0}form input,form select,form textarea,form button,form .selectize-input{font-size:.9rem;line-height:1.5;border-radius:4px;-webkit-font-smoothing:antialiased}form .form-input-file{position:relative;min-height:70px;border-radius:4px}form .form-input-file ul{margin:1rem 0;text-align:left;font-size:1rem;border-radius:4px}form .form-input-file p{display:block;height:100%;text-align:center;margin:0;padding:0.8rem 1rem 0;font-size:1.2rem}form .form-input-file input{display:none}form .selectize-dropdown{z-index:100000}form .grid.vertical{-webkit-flex-flow:column;-moz-flex-flow:column;flex-flow:column}form .compact .form-field{margin-bottom:0.2rem}form .compact .form-list-wrapper li{display:flex;flex-wrap:wrap;justify-content:flex-start}form .compact .form-list-wrapper li .form-field{width:50%}@media only all and (max-width: 47.938em){form .compact .form-list-wrapper li .form-field{width:100%}}form .form-select-wrapper,form .selectize-control.single .selectize-input{position:relative}form .form-select-wrapper:after,form .selectize-control.single .selectize-input:after{margin-top:0;border:0;position:absolute;content:'\f078';font-family:'FontAwesome';right:12px;top:50%;line-height:0;pointer-events:none}form .selectize-input{display:block !important;box-shadow:none;padding:5px 30px 5px 10px;margin:0}form .selectize-input>input{font-size:.9rem;line-height:1.5}form .selectize-control.multi .selectize-input{padding:.375rem .375rem}form .selectize-control.multi .selectize-input.has-items{padding-top:6px;padding-bottom:4px}form .selectize-control.multi .selectize-input>div{border-radius:2px;line-height:1.5}form .selectize-control.single .selectize-input:after{right:27px}form .selectize-control.single .selectize-input.dropdown-active:after{content:'\f077'}form .x-small,form .x-small.form-input-addon-wrapper input{max-width:5rem !important}form .small,form .small.form-input-addon-wrapper input{max-width:10rem !important}form .medium,form .medium.form-input-addon-wrapper input{max-width:20rem}form .medium textarea,form .medium.form-input-addon-wrapper input textarea{height:7rem}form .medium[data-grav-array-type="container"],form .medium.form-input-addon-wrapper input[data-grav-array-type="container"]{max-width:100% !important}form .medium[data-grav-array-type="container"] input[type=text],form .medium.form-input-addon-wrapper input[data-grav-array-type="container"] input[type=text]{width:calc(70% - 110px)}form .large,form .large.form-input-addon-wrapper input{max-width:30rem !important}form .large textarea,form .large.form-input-addon-wrapper input textarea{height:10rem}form .large[data-grav-array-type="container"],form .large.form-input-addon-wrapper input[data-grav-array-type="container"]{max-width:100% !important}form .large[data-grav-array-type="container"] input[type=text],form .large.form-input-addon-wrapper input[data-grav-array-type="container"] input[type=text]{width:calc(100% - 110px)}form select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:5px 30px 5px 10px;cursor:pointer;margin:0}form input[type=text],form input[type=password],form input[type=email],form input[type=date],form input[type=tel],form input[type=time],form input[type=week],form input[type=month],form input[type=number],form input[type=color],form input[type=url]{width:100%}form textarea{width:100%}form .form-frontmatter-wrapper{border-radius:4px}form .switch-toggle label{cursor:pointer}form .switch-toggle a,form .switch-toggle label{outline:none !important}form .dynfields input[type=text],form [data-grav-field="array"] input[type=text],form [data-grav-field="multilevel"] input[type=text]{width:40%;float:left;margin:0 5px 5px 0}form .dynfields .form-row,form [data-grav-field="array"] .form-row,form [data-grav-field="multilevel"] .form-row{display:inline-block;width:100%;margin-right:0;max-width:100% !important}form .dynfields .form-row span,form [data-grav-field="array"] .form-row span,form [data-grav-field="multilevel"] .form-row span{padding:0.5rem;display:inline-block;line-height:1.5;cursor:pointer}form .dynfields .form-row span[data-grav-array-action="sort"],form [data-grav-field="array"] .form-row span[data-grav-array-action="sort"],form [data-grav-field="multilevel"] .form-row span[data-grav-array-action="sort"]{float:left;cursor:move}form .dynfields .form-row.array-field-value_only,form [data-grav-field="array"] .form-row.array-field-value_only,form [data-grav-field="multilevel"] .form-row.array-field-value_only{width:100%}form [data-grav-field="multilevel"] input:disabled{background-color:lightgray}form [data-grav-array-type="container"].one-child [data-grav-array-action="sort"]{display:none}form .button-bar{margin-top:1rem;padding:1.2rem 3rem;width:100%;border-bottom-left-radius:5px;border-bottom-right-radius:5px}form .checkboxes{display:inline-block;padding:5px 0}form .checkboxes label{display:inline;cursor:pointer;position:relative;padding:0 0 0 2rem;margin-right:15px}form .checkboxes label:before{content:"";display:inline-block;width:1.5rem;height:1.5rem;top:50%;left:0;margin-top:-0.75rem;margin-right:10px;position:absolute;border-radius:4px}form .checkboxes input[type=checkbox]{display:none}form .checkboxes input[type=checkbox]:checked+label:before{content:"\f00c";font-family:"FontAwesome";font-size:1.2rem;line-height:1;text-align:center}form .checkboxes.toggleable label{margin-right:0}.form-display-wrapper p{padding-left:0;padding-right:0}.form-display-wrapper p:first-child{margin-top:0}div.frontmatter{margin-bottom:3rem}textarea.frontmatter{height:130px !important}textarea.frontmatter+.CodeMirror{height:130px}.form-order-wrapper .notice{padding:5px}.form-order-wrapper ul.orderable{list-style:none;margin:0;padding:0}.form-order-wrapper ul.orderable li{padding:0.2rem 1rem;border-radius:4px;margin:3px 0;position:relative}.form-order-wrapper ul.orderable li.drag-handle{cursor:move}.form-order-wrapper ul.orderable li.drag-handle::after{content:'\f0c9';font-family:FontAwesome;position:absolute;right:10px}.form-order-wrapper ul.orderable li i{font-size:0.8rem}.form-list-wrapper ul[data-collection-holder]{list-style:none;margin:0;padding:0}.form-list-wrapper ul[data-collection-holder]>li{padding:1rem;border-radius:4px;margin:3px 0;position:relative}.form-list-wrapper ul[data-collection-holder]>li .item-actions{position:absolute;right:10px;top:4px}.form-list-wrapper ul[data-collection-holder]>li .item-actions .fa{cursor:pointer}.form-list-wrapper ul[data-collection-holder]>li.collection-collapsed{height:70px;overflow:hidden;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}@media only all and (max-width: 47.938em){.form-list-wrapper ul[data-collection-holder]>li.collection-collapsed{height:120px}}.form-list-wrapper ul[data-collection-holder][data-collection-nosort]>li{cursor:default}.form-list-wrapper .collection-actions{text-align:right}.form-list-wrapper .collection-sort{position:absolute;top:0;left:0;width:32px;bottom:0;cursor:move}@media only all and (max-width: 47.938em){.form-list-wrapper .collection-sort{width:20px}.form-list-wrapper .collection-sort .fa{font-size:0.8rem}}.form-list-wrapper .collection-sort .fa{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.form-list-wrapper [data-collection-nosort] .collection-sort{display:none}.form-label.block:hover{z-index:2}.form-label.block label{z-index:2}#admin-main .admin-block h2{font-size:1.25rem;margin:0 0 .5rem;letter-spacing:normal}.form-fieldset{margin:1rem 2rem}.form-fieldset--label label{display:table;font-size:1.25rem;padding:.5rem 1rem;width:100%}.form-fieldset--label h2{margin:0 !important}.form-fieldset--label .actions{font-size:initial;display:table-cell;text-align:right;vertical-align:middle}.form-fieldset--label+.form-data{margin-top:1rem;padding:0}.form-fieldset--cursor{cursor:pointer}.form-fieldset--info{font-size:small}.form-fieldset>input:checked ~ .form-data,.form-fieldset--collapsible .open,.form-fieldset input:checked ~ .form-label .form-fieldset--collapsible .close{display:block}.form-fieldset>.form-data,.form-fieldset--collapsible .close,.form-fieldset input:checked ~ .form-label .form-fieldset--collapsible .open{display:none}.filepicker-field-image{width:30px;vertical-align:middle;margin-right:5px}.filepicker-field-name{vertical-align:middle}.permissions-container .permission-value{width:50%;float:left;margin:0 5px 5px 0;height:39px}.permissions-container .switch-toggle{line-height:37px;margin:0 5px 5px 0}table,tbody,thead{display:inline-block;width:100%}.gpm-details{width:100%;-webkit-box-flex:auto;-moz-box-flex:auto;box-flex:auto;-webkit-flex:auto;-moz-flex:auto;-ms-flex:auto;flex:auto}td{border:0}tr{-webkit-transition:all 0.2s ease;-moz-transition:all 0.2s ease;transition:all 0.2s ease;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;box-lines:multiple;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}tr th,tr td{display:block;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}tr th.shrink,tr td.shrink{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0;-moz-flex:0;-ms-flex:0;flex:0}tr th.double,tr td.double{-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;-webkit-flex:2;-moz-flex:2;-ms-flex:2;flex:2}tr th.triple,tr td.triple{-webkit-box-flex:3;-moz-box-flex:3;box-flex:3;-webkit-flex:3;-moz-flex:3;-ms-flex:3;flex:3}tr th.quadruple,tr td.quadruple{-webkit-box-flex:4;-moz-box-flex:4;box-flex:4;-webkit-flex:4;-moz-flex:4;-ms-flex:4;flex:4}tr th.quintuple,tr td.quintuple{-webkit-box-flex:5;-moz-box-flex:5;box-flex:5;-webkit-flex:5;-moz-flex:5;-ms-flex:5;flex:5}tr th.sextuple,tr td.sextuple{-webkit-box-flex:6;-moz-box-flex:6;box-flex:6;-webkit-flex:6;-moz-flex:6;-ms-flex:6;flex:6}tr th.septuple,tr td.septuple{-webkit-box-flex:7;-moz-box-flex:7;box-flex:7;-webkit-flex:7;-moz-flex:7;-ms-flex:7;flex:7}tr th.octuple,tr td.octuple{-webkit-box-flex:8;-moz-box-flex:8;box-flex:8;-webkit-flex:8;-moz-flex:8;-ms-flex:8;flex:8}tr th.nontuple,tr td.nontuple{-webkit-box-flex:9;-moz-box-flex:9;box-flex:9;-webkit-flex:9;-moz-flex:9;-ms-flex:9;flex:9}tr th.dectuple,tr td.dectuple{-webkit-box-flex:10;-moz-box-flex:10;box-flex:10;-webkit-flex:10;-moz-flex:10;-ms-flex:10;flex:10}tr th:first-child,tr td:first-child{padding-left:1.5rem}@media only all and (max-width: 47.938em){tr th:first-child,tr td:first-child{padding-left:1rem}}tr th:last-child,tr td:last-child{padding-right:1.5rem}@media only all and (max-width: 47.938em){tr th:last-child,tr td:last-child{padding-right:1rem}}tr th.left,tr td.left{text-align:left}tr th.center,tr td.center{text-align:center}tr th.right,tr td.right{text-align:right}tr th.ellipsis,tr td.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tr th.ellipsis.rtl,tr td.ellipsis.rtl{text-align:left}tr th.rtl,tr td.rtl{direction:rtl}tr th{font-weight:bold}tr td.gpm-actions{padding-right:2.5rem}tr td.gpm-actions{line-height:1;text-align:right;position:relative}tr td.gpm-actions .gpm-details-expand{position:absolute;top:12px;right:12px}tr td.gpm-details{margin:0;padding:0}@media only all and (max-width: 47.938em){tr td.gpm-details{word-wrap:break-word}}tr td.gpm-details>.table-wrapper{display:none}tr td.gpm-details>.table-wrapper td{border-bottom:0}tr td.gpm-details tbody{width:100%}tr:last-child td{border-bottom:0}.button-group{position:relative;display:inline-block;vertical-align:top}.button-group>.button:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.button-group>.button:first-child{margin-left:0 !important}.button-group>.button+.dropdown-toggle{text-align:center;padding-right:8px;padding-left:8px}.button-group>.button+.dropdown-toggle i{margin:0}.button-group>.button:last-child:not(:first-child),.button-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.button-group .button+.button,.button-group .button+.button-group,.button-group .button-group+.button,.button-group .button-group+.button-group{margin-left:-3px}.button-group:last-child .dropdown-menu{left:inherit;right:0}.button-group .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:150px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:4px}.button-group .dropdown-menu .button{margin-right:0 !important}.button-group .dropdown-menu.language-switcher{min-width:50px}.button-group .dropdown-menu.lang-switcher{min-width:150px;left:inherit;right:0}.button-group .dropdown-menu.lang-switcher button{width:100%}.button-group .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden}.button-group .dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143}.button-group .dropdown-menu li>a:focus,.button-group .dropdown-menu li>a:hover{text-decoration:none}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}#admin-main .admin-block a.gumroad-button{padding:0.3rem 1.5rem !important;font-size:inherit !important;font-weight:400 !important;line-height:inherit !important;font-family:inherit !important;border-radius:4px !important;box-shadow:inherit !important}#admin-main .admin-block a.gumroad-button .gumroad-button-logo{display:none !important;background-image:none !important}#error{text-align:center;display:flex;align-items:center;justify-content:center;height:100%;padding-bottom:6rem}#error h1{font-size:4.9rem}#error p{margin:1rem 0}#admin-login{max-width:24rem;margin:0 auto}#admin-login.wide{max-width:50rem}#admin-login.wide h1{height:100px;background-size:40% !important}#admin-login.wide form>.padding{padding:3rem 2rem 8rem 2rem}#admin-login.wide form>.padding>div{width:49%;display:inline-block}@media only all and (max-width: 47.938em){#admin-login.wide form>.padding>div{width:100%;margin-right:0}}#admin-login.wide form>.padding .form-field{padding:0 1rem}#admin-login.wide form label{padding:0}#admin-login.wide form input{margin-bottom:1rem;text-align:left}#admin-login.wide form input::-webkit-input-placeholder{font-size:1rem;line-height:2rem}#admin-login.wide form input::-moz-placeholder{font-size:1rem;line-height:2rem}#admin-login.wide form input:-moz-placeholder{font-size:1rem;line-height:2rem}#admin-login.wide form input:-ms-input-placeholder{font-size:1rem;line-height:2rem}#admin-login.wide .grid{display:block}#admin-login.wide .form-label,#admin-login.wide .form-data{display:block;width:100%;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}#admin-login .form-field{padding-left:0;margin-bottom:0}#admin-login .form-label{display:none}#admin-login .form-data{padding-right:0}#admin-login .wrapper-spacer{width:100% !important;display:block !important;padding:0 1rem}#admin-login .wrapper-spacer h3{padding-left:1rem}#admin-login .instructions{display:block;padding:2rem 3rem 0;margin:0;font-size:1.3rem}#admin-login .instructions p{margin:0}#admin-login h1{font-size:0;color:transparent;height:216px;margin:0;background-size:80% !important}#admin-login h5{margin-top:0;text-align:center}#admin-login form{position:relative}#admin-login form .padding{padding:3rem 3rem 6rem 3rem}#admin-login form input{margin-bottom:2rem;font-size:1.4rem;line-height:1.5;text-align:center;font-weight:300;-webkit-font-smoothing:auto}#admin-login form .form-actions{display:block !important;width:100% !important;text-align:center;position:absolute;bottom:0;left:0;right:0;padding:1.5rem 3rem}#admin-login form .form-actions button:first-child{margin-right:1rem}#admin-login .alert{text-align:center;padding:1rem 3rem}.twofa-secret-code{font-weight:bold}.twofa-wrapper{margin-top:5px}.twofa-secret{position:absolute;opacity:0;visibility:hidden;transition:opacity 600ms, visibility 600ms}.twofa-secret.show{position:static;visibility:visible;opacity:1}.sidebar-closed:not(.sidebar-quickopen) #admin-sidebar{float:left;visibility:visible;opacity:1;width:4.2rem}.sidebar-closed:not(.sidebar-quickopen) #admin-sidebar #admin-logo h3{font-size:0}.sidebar-closed:not(.sidebar-quickopen) #admin-sidebar #admin-logo h3:first-letter{font-size:2.5rem}.sidebar-closed:not(.sidebar-quickopen) #admin-sidebar #grav-logo-small{display:inline-block}.sidebar-closed:not(.sidebar-quickopen) #admin-sidebar #grav-logo-large{display:none}.sidebar-closed:not(.sidebar-quickopen) #admin-sidebar .front-end{display:none}.sidebar-closed:not(.sidebar-quickopen) #admin-sidebar #admin-user-details{padding:15px 0 15px 10px;text-align:left}.sidebar-closed:not(.sidebar-quickopen) #admin-sidebar .admin-user-names{display:none}.sidebar-closed:not(.sidebar-quickopen) #admin-sidebar #admin-menu em{display:none}.sidebar-closed:not(.sidebar-quickopen) #admin-sidebar #admin-menu li .badges .updates{border-radius:100%;position:absolute;top:4px;right:10px;font-size:9px;line-height:12px;padding:1px 3px;min-width:15px}.sidebar-closed:not(.sidebar-quickopen) #admin-sidebar #admin-menu li .badges .count{display:none}@media only all and (min-width: 74.938em){.sidebar-closed:not(.sidebar-quickopen) #admin-sidebar #open-handle .fa-angle-right:before{content:"\f105"}}.sidebar-closed:not(.sidebar-quickopen) #admin-main{margin-left:4.2rem}.sidebar-open #admin-sidebar{z-index:10001;float:left;visibility:visible;opacity:1;width:240px}.sidebar-open #admin-sidebar h3{font-size:1.2rem}.sidebar-open #admin-sidebar h3:first-letter{font-size:1.2rem}.sidebar-open #admin-sidebar #grav-logo-small{display:none}.sidebar-open #admin-sidebar #grav-logo-large{display:inline-block}.sidebar-open #admin-sidebar #admin-user-details{padding:15px 10px;text-align:left}.sidebar-open #admin-sidebar .admin-user-names{display:block}.sidebar-open #admin-sidebar .front-end{display:inline-block}.sidebar-open #admin-sidebar #admin-menu em{display:inline}.sidebar-open #admin-sidebar #admin-menu li .badges .updates{border-bottom-right-radius:0;border-top-right-radius:0;position:relative;top:auto;right:auto}.sidebar-open #admin-sidebar #admin-menu li .badges .count{display:inline-block}@media only all and (min-width: 47.938em) and (max-width: 74.938em){.sidebar-open #admin-sidebar #open-handle .fa-angle-right:before{content:"\f104"}}#admin-sidebar{position:absolute;left:0;top:0;bottom:0;width:100%;max-height:100vh;opacity:0;z-index:3}#admin-sidebar #open-handle{display:block;position:absolute;cursor:pointer;right:0;top:0;width:15px;height:4.2rem;text-align:center;line-height:4.2rem;font-size:12px;border-top-right-radius:3px;border-bottom-right-radius:3px}@media only all and (min-width: 74.938em){#admin-sidebar #open-handle .fa-angle-right:before{content:"\f104"}}#admin-sidebar.sidebar-is-visible{opacity:1;visibility:visible}@media only all and (max-width: 47.938em){#admin-sidebar{z-index:5}}@media only all and (min-width: 47.938em){#admin-sidebar{float:left;visibility:visible;opacity:1;width:4.2rem}}@media only all and (min-width: 74.938em){#admin-sidebar{float:left;visibility:visible;opacity:1;width:240px}}#admin-logo{height:4.2rem;text-align:center}#admin-logo .admin-logo a:not(.front-end){display:inline-block;vertical-align:middle;width:20%;padding-right:1rem}#admin-logo .admin-logo a:not(.front-end):first-child{width:70%;padding-right:0}@media only all and (max-width: 47.938em){#admin-logo .admin-logo a:not(.front-end):first-child{width:100%}}#admin-logo .admin-logo a:not(.front-end) .fa{display:block;margin-top:-5px}@media only all and (max-width: 47.938em){#admin-logo .front-end{display:none}}@media only all and (min-width: 47.938em){#admin-logo .front-end{display:none}}@media only all and (min-width: 74.938em){#admin-logo .front-end{display:inline-block}}#admin-logo #grav-logo-small{max-width:100%;height:30px;display:none;margin:18px 0}@media only all and (min-width: 47.938em){#admin-logo #grav-logo-small{display:inline-block}}@media only all and (min-width: 74.938em){#admin-logo #grav-logo-small{display:none}}#admin-logo #grav-logo-large{max-width:100%;height:30px;margin:18px 0}@media only all and (min-width: 47.938em){#admin-logo #grav-logo-large{display:none}}@media only all and (min-width: 74.938em){#admin-logo #grav-logo-large{display:inline-block}}#admin-logo h3{margin:0 15px 0 0;text-align:center;font-size:1.5rem}@media only all and (min-width: 47.938em){#admin-logo h3{font-size:0}#admin-logo h3:first-letter{font-size:2.5rem}}@media only all and (min-width: 74.938em){#admin-logo h3{font-size:1.5rem}#admin-logo h3:first-letter{font-size:1.5rem}}#admin-logo h3 i{font-size:1rem;vertical-align:middle;margin-top:-1px}.block-userinfo img{width:200px;height:200px;object-fit:cover}.block-userinfo ~ .block-file{margin-top:-5rem !important}#offline-status{padding:.2rem 1rem;text-align:center;display:none}#offline-status .fa-plane{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}#admin-user-details img{width:47px;height:47px;object-fit:cover}#admin-user-details,.admin-user-details{padding:15px 10px;min-height:80px;overflow:hidden;text-align:left}@media only all and (min-width: 47.938em) and (max-width: 74.938em){#admin-user-details,.admin-user-details{padding:1rem 10px;text-align:center}}#admin-user-details img,.admin-user-details img{-webkit-transition:all 0.5s ease;-moz-transition:all 0.5s ease;transition:all 0.5s ease;border-radius:100%;float:left}#admin-user-details .admin-user-names,.admin-user-details .admin-user-names{margin-left:60px;margin-top:5px;display:block}@media only all and (min-width: 47.938em) and (max-width: 74.938em){#admin-user-details .admin-user-names,.admin-user-details .admin-user-names{display:none}}#admin-user-details .admin-user-names h4,#admin-user-details .admin-user-names h5,.admin-user-details .admin-user-names h4,.admin-user-details .admin-user-names h5{margin:0;font-size:1rem;line-height:1.3}#admin-user-details .admin-user-names .badge,#admin-user-details .admin-user-names .sidebar-open #admin-sidebar #admin-menu li .badges .updates,.sidebar-open #admin-sidebar #admin-menu li .badges #admin-user-details .admin-user-names .updates,#admin-user-details .admin-user-names .gpm .gpm-testing,.gpm #admin-user-details .admin-user-names .gpm-testing,.admin-user-details .admin-user-names .badge,.admin-user-details .admin-user-names .sidebar-open #admin-sidebar #admin-menu li .badges .updates,.sidebar-open #admin-sidebar #admin-menu li .badges .admin-user-details .admin-user-names .updates,.admin-user-details .admin-user-names .gpm .gpm-testing,.gpm .admin-user-details .admin-user-names .gpm-testing{font-size:0.8rem}#admin-user-details .admin-user-names h5,.admin-user-details .admin-user-names h5{opacity:0.7;font-size:0.9rem}#admin-nav-quick-tray{margin:0;list-style:none;padding-left:26px;padding-right:10px}#admin-nav-quick-tray li{cursor:pointer;width:24px;margin:3px 0 5px}#admin-nav-quick-tray i{transition:all .2s ease-in-out}#admin-nav-quick-tray i:hover{transform:scale(1.2)}.content-padding #messages.default-box-shadow{margin-bottom:1.5rem}@media only all and (max-width: 47.938em){.content-padding #messages.default-box-shadow{margin-bottom:0.5rem}}.admin-menu-wrapper{height:calc(100vh - 180px);overflow:hidden}@media only all and (min-width: 47.938em) and (max-width: 74.938em){.admin-menu-wrapper{height:calc(100vh - 136px)}}#admin-menu{display:block;margin:0;padding:0;list-style:none}#admin-menu em{font-style:normal}@media only all and (min-width: 47.938em) and (max-width: 74.938em){#admin-menu em{display:none}}#admin-menu li .badges{float:right;margin-right:1rem}#admin-menu li .badges .badge,.sidebar-open #admin-sidebar #admin-menu li .badges .updates,#admin-menu li .badges .gpm .gpm-testing,.gpm #admin-menu li .badges .gpm-testing{display:inline-block;margin-right:-5px}#admin-menu li .badges .updates{display:none}@media only all and (min-width: 47.938em) and (max-width: 74.938em){#admin-menu li .badges .count{display:none}}#admin-menu li .badges.with-updates .count{border-bottom-left-radius:0;border-top-left-radius:0}#admin-menu li .badges.with-updates .updates{border-bottom-right-radius:0;border-top-right-radius:0;display:inline-block}@media only all and (min-width: 47.938em) and (max-width: 74.938em){#admin-menu li .badges.with-updates .updates{border-radius:100%;position:absolute;top:4px;right:10px;font-size:9px;line-height:12px;padding:1px 3px;min-width:15px}}#admin-menu li a{-webkit-transition:all 0.2s ease;-moz-transition:all 0.2s ease;transition:all 0.2s ease;display:block;padding-left:25px;padding-top:0.7rem;padding-bottom:0.7rem;position:relative}#admin-menu li a .fa{-webkit-transition:all 0.2s ease;-moz-transition:all 0.2s ease;transition:all 0.2s ease;margin-right:8px}#admin-menu li.selected a{padding-left:16px}@media only all and (min-width: 74.938em){body.sidebar-quickopen #admin-main{margin-left:4.2rem}}@media only all and (min-width: 47.938em){#admin-main{margin-left:4.2rem}}@media only all and (min-width: 74.938em){#admin-main{margin-left:240px}}#admin-main .hint:after,#admin-main [data-hint]:after{font-size:0.9rem;width:300px;line-height:inherit;white-space:normal}@media only all and (max-width: 47.938em){#admin-main .hint:after,#admin-main [data-hint]:after{font-size:0.5rem}}#admin-main h1{margin:0;font-size:1.3rem;text-align:left;letter-spacing:-1px;line-height:1.5}#admin-main .padding{padding:1.5rem}#admin-main .lines-button{display:none;margin-left:.375rem}#admin-main .lines-button:focus{outline:none}@media only all and (max-width: 47.938em){#admin-main .lines-button{display:inline-block}}#admin-main .button{white-space:nowrap}#admin-main .titlebar{position:relative;height:4.2rem;padding:0 1.5rem;z-index:4;box-shadow:0px 3px 15px 0px rgba(0,0,0,0.1)}@media only all and (max-width: 47.938em){#admin-main .titlebar{padding:0 .375rem 0 4rem}}#admin-main .titlebar h1{display:block;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis}@media only all and (max-width: 47.938em){#admin-main .titlebar h1{font-size:18px}#admin-main .titlebar h1 i{display:none}}#admin-main .titlebar .button-bar{padding:0;white-space:nowrap;z-index:4}#admin-main .titlebar .preview{font-size:90%}#admin-main .titlebar .button{padding:0.5rem 0.4rem;vertical-align:top;margin-right:-2px}@media only all and (max-width: 47.938em){#admin-main .titlebar .button{font-size:0;padding:0.5rem 0.5rem;min-height:36px}#admin-main .titlebar .button i{font-size:20px;margin-right:0}}@media only all and (max-width: 20.875em){#admin-main .titlebar .button{padding:0.5rem 0.2rem}}@media only all and (max-width: 47.938em){#admin-main .titlebar .dropdown-menu .button{font-size:0.9rem}}#admin-main .admin-block .alert{margin-top:-2rem;margin-bottom:2rem}#admin-main .alert:before{font-family:FontAwesome;margin-right:5px}#admin-main .alert.info:before{content:"\f0a1"}#admin-main .alert.warning:before{content:"\f071"}#admin-main .alert.note:before{content:"\f24a"}#admin-main .alert.grav:before{font-family:rockettheme-apps;content:"\62";vertical-align:bottom}#admin-main .alert.grav #grav-update-button{float:right}#admin-main .grav-update{padding:0 1.5rem;margin-top:-2rem;margin-bottom:1rem;display:none}#admin-main .grav-update:after{content:"";display:table;clear:both}@media only all and (max-width: 47.938em){#admin-main .grav-update{padding:0 1rem}}#admin-main .grav-update .button{float:right;margin-top:0.6rem;margin-left:1rem;line-height:1.5}#admin-main .grav-update p{line-height:3rem;margin:0;display:block;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis}#admin-main .grav-update span[class="hint--left"]::after{line-height:1.5}#admin-main .grav-update i{padding-right:0.5rem}#admin-main .grav-update.grav+.content-wrapper{height:calc(100vh - 4.2rem - 3rem)}#admin-main .content-wrapper{position:relative;overflow-y:hidden;height:calc(100vh - 4.2rem)}#admin-main .content-wrapper .gm-scrollbar.-vertical{right:5px;top:5px;width:8px;border-radius:4px}#admin-main .content-padding{padding:1.5rem}@media only all and (max-width: 47.938em){#admin-main .content-padding{padding:0}}#admin-main .admin-block{padding:1rem 0}#admin-main .admin-block:empty{padding:0}#admin-main .admin-block h1{padding:0 1.5rem 0.5rem;margin:0 0 1rem}@media only all and (max-width: 47.938em){#admin-main .admin-block h1{padding:0 1rem 0.5rem}}#admin-main .admin-block h1.no_underline{border-bottom:0}#admin-main .admin-block .button-bar{margin:0 1.5rem}@media only all and (max-width: 47.938em){#admin-main .admin-block .button-bar{margin:-1rem 0 1rem 0;width:100%;padding:0 1rem;text-align:center}#admin-main .admin-block .button-bar .button{width:100%}}#admin-main .flush-bottom.button-bar{margin:1rem -1.5rem -1rem;height:70px;padding:1rem;float:none}#admin-main .flush-bottom.button-bar .button{margin:0}#admin-main .danger,#admin-main .success{position:relative}#admin-main .danger.button-bar,#admin-main .success.button-bar{margin:2rem 0 -1rem;height:70px;padding:1rem;float:none}.content-padding #admin-dashboard .dashboard-item-flex:nth-of-type(2n) .dashboard-item{margin-right:0;margin-left:.75rem}.content-padding #admin-dashboard .dashboard-item-flex:nth-of-type(2n+1) .dashboard-item{margin-left:0;margin-right:.75rem}.content-padding #admin-dashboard .dashboard-item{margin-bottom:1.5rem}#admin-dashboard{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;flex-flow:row wrap}#admin-dashboard .dashboard-item-flex{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column nowrap;-moz-flex-flow:column nowrap;flex-flow:column nowrap;width:50%}@media only all and (max-width: 47.938em){#admin-dashboard .dashboard-item-flex{width:100%}#admin-dashboard .dashboard-item-flex .dashboard-item{margin-right:0px !important;margin-left:0px !important;margin-bottom:10px !important}}#admin-dashboard .dashboard-item>div:not(.widget-content){padding:1rem 1.5rem}#admin-dashboard .dashboard-item h1 .right{float:right}#admin-dashboard .dashboard-item.admin-block{padding:1rem 0}#admin-dashboard .dashboard-item.admin-block ul{margin:0 0 1rem 0;padding:0;list-style:none}#admin-dashboard .dashboard-item.admin-block li{margin:0;padding:0.425rem 1.5rem 0.2rem 1.5rem}#admin-dashboard .dashboard-item.admin-block li:last-child{border-bottom:0}#admin-dashboard .chart-loader{position:relative;text-align:center}#admin-dashboard .chart-loader .fa{display:block;position:absolute;width:100%;text-align:center;font-size:4rem;margin-top:-2rem}#admin-dashboard .widget-content{position:relative;min-height:335px;padding:0}#admin-dashboard .widget-loader{position:absolute;text-align:center;top:50%;left:50%;width:100%;transform:translate(-50%, -50%)}#admin-dashboard .widget-loader .fa{font-size:4rem}#admin-dashboard #updates p{text-align:center;margin:0}#admin-dashboard #updates .updates-chart{width:50%;float:left}#admin-dashboard #updates .chart-wrapper{position:relative}#admin-dashboard #updates .backups-chart{position:relative;width:50%;float:left}#admin-dashboard #updates .ct-chart{min-height:157px}#admin-dashboard #updates .numeric{display:block;position:absolute;width:100%;text-align:center;font-size:1.5rem;line-height:1}#admin-dashboard #updates .numeric em{display:block;font-style:normal;font-size:1rem}#admin-dashboard #updates .admin-update-charts{min-height:191px}#admin-dashboard #updates .admin-update-charts:after{content:"";display:table;clear:both}#admin-dashboard #popularity .admin-statistics-chart{position:relative}#admin-dashboard #popularity .ct-chart{min-height:171px}#admin-dashboard #popularity p{text-align:center;margin:0}#admin-dashboard #popularity .button-bar{height:100px;padding:0 1rem}#admin-dashboard #popularity .stat{display:block;float:left;width:33%;text-align:center}#admin-dashboard #popularity .stat b{display:block;font-size:2.5rem;line-height:1;font-weight:300}#admin-dashboard #popularity .stat i{display:block;font-style:normal}#admin-dashboard #news-feed .date{float:right;z-index:1}#admin-dashboard #news-feed li a{display:block;white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;z-index:0}#admin-dashboard #news-feed li a:before{font-family:FontAwesome;margin-right:10px;content:"\f1ea"}.no-flick,.card-item{-webkit-transform:translate3d(0, 0, 0)}.card-row{-webkit-box-pack:justify;-moz-box-pack:justify;box-pack:justify;-webkit-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-ms-flex-pack:justify}.card-item{overflow:hidden;padding:1rem;margin:0;position:relative;width:31%;max-width:21rem;margin-bottom:2rem}@media only all and (min-width: 48em) and (max-width: 59.938em){.card-item{width:48%}}@media only all and (max-width: 47.938em){.card-item{width:100%}}.card-item h4{font-size:1.2rem;line-height:1.2}.user-details{text-align:left}.user-details img{border-radius:100%}.user-details h2{margin:0;font-size:2.1rem !important;margin:1rem 0 0 !important;line-height:1.5}.user-details h2 span{font-size:1.2rem}.user-details h5{font-size:1.1rem;margin:0;linep-height:1.2}.user-details .gravatar{font-size:0.9rem;padding:0}@media only all and (max-width: 47.938em){.user-details{text-align:center}}#footer{text-align:center;padding:3rem 0 1rem}.ct-chart .ct-series .ct-bar{stroke-width:20px}#popularity .ct-chart{margin:0 -10px -10px}#popularity .ct-chart .ct-chart-bar{padding:6px 6px 6px 10px}#latest .page-title,#latest .page-route{overflow:auto}#overlay{position:fixed;width:25%;height:100%;z-index:999999;left:75%;top:0;display:none}@media only all and (max-width: 47.938em){#overlay{display:none !important}}.gpm-item-info+#blueprints .block-tabs{padding-top:16px}.plugins-notifications-container,.themes-notifications-container{margin-bottom:2rem}.package-dependencies-container li{height:35px}.package-dependencies-container li .button{height:30px;float:right;margin-right:10px;line-height:20px}.pointer-events-disabled{pointer-events:none}.direct-install-content{padding:30px}.direct-install-content .button{margin-top:10px;margin-bottom:50px}.updates-checked .button-reinstall-package{display:inline-block !important}.updates-checked.has-updates .button-reinstall-package{display:none !important}.preview-wrapper .content-padding{position:absolute;top:0;bottom:0;right:0;left:0}.pages-list{list-style:none;margin:0;padding:0}.pages-list ul{list-style:none;margin:0;padding:0}.pages-list li{margin:0;padding:0}.pages-list .row{-webkit-transition:all 0.2s ease;-moz-transition:all 0.2s ease;transition:all 0.2s ease;line-height:2.5rem;padding-right:3rem}@media only all and (max-width: 47.938em){.pages-list .row{padding-right:1rem}}.pages-list .row [data-hint]:after{line-height:1 !important;width:auto !important;white-space:nowrap !important}.pages-list .row p.page-route{display:block;margin:0;line-height:1;font-size:0.9rem;word-break:break-all}.pages-list .row p.page-route .spacer{display:inline-block;margin:0 0.3rem}.pages-list .row .hint--bottom:before,.pages-list .row .hint--bottom:after{left:4px}.pages-list .row .hint:after,.pages-list .row [data-hint]:after{border-radius:2px}.pages-list .row .badge.lang,.pages-list .row .sidebar-open #admin-sidebar #admin-menu li .badges .lang.updates,.sidebar-open #admin-sidebar #admin-menu li .badges .pages-list .row .lang.updates,.pages-list .row .gpm .lang.gpm-testing,.gpm .pages-list .row .lang.gpm-testing{margin-left:8px}.pages-list .page-home{font-size:1.4rem;margin-left:10px;vertical-align:middle}.pages-list .page-info{font-size:1.1rem;margin-left:10px;vertical-align:middle}.pages-list .page-edit{text-overflow:ellipsis;display:inline-block;max-width:100%;white-space:nowrap;overflow-x:hidden}.pages-list .page-item__row{display:flex}.pages-list .page-item__toggle{width:25px;line-height:1;padding-top:7px}.pages-list .page-item__content{padding:5px 0;width:calc(100% - 50px)}.pages-list .page-item__content-name{line-height:1}.pages-list .page-item__content-hint{line-height:1.3;vertical-align:middle;max-width:100%}.pages-list .page-item__tools{width:90px;text-align:right;font-size:1.4rem}.pages-list .page-item__tools .page-view{margin-right:4px}.pages-list .page-icon{color:#0082BA;font-weight:700}.pages-list .page-icon.children-open:before{content:'\f056'}.pages-list .page-icon.children-closed:before{content:'\f055'}.pages-list .page-icon.not-routable{color:#CE431D}.pages-list .page-icon.not-visible{color:#999}.pages-list .page-icon.modular{color:#9055AF}.pages-list #pages-legend{margin-top:1.5rem;text-align:center}.pages-list #pages-legend h2,.pages-list #pages-legend ul,.pages-list #pages-legend li{display:inline-block}.pages-list #pages-legend li{margin-right:0.75rem}#page-filtering{margin:0 1.5rem 1rem}#page-filtering:after{content:"";display:table;clear:both}@media only all and (max-width: 47.938em){#page-filtering{margin:-1rem 1rem 1rem}}#page-filtering .page-filters{width:60%;float:left}@media only all and (max-width: 47.938em){#page-filtering .page-filters{width:100%}}#page-filtering .page-search{position:relative;width:40%;float:left;padding-left:2rem;text-indent:2.5rem}#page-filtering .page-search:after{position:absolute;right:15px;top:10px;content:'\f002';font-family:'FontAwesome'}@media only all and (max-width: 47.938em){#page-filtering .page-search{width:100%;padding-top:1rem;padding-left:0rem}#page-filtering .page-search:after{top:1.5rem}}#page-filtering .page-shortcuts{clear:both;padding-top:5px}#page-filtering .page-shortcuts:after{content:"";display:table;clear:both}#page-filtering .page-shortcuts .button{color:rgba(255,255,255,0.85);border-radius:4px;background:#aaa}#page-filtering .page-shortcuts .button:hover{background:#919191;color:#fff}#page-filtering .page-shortcuts .button.dropdown-toggle{border-left:1px solid #b7b7b7}#page-filtering .selectize-control.multi .selectize-input{padding:.375rem .375rem}#page-filtering .selectize-control.multi .selectize-input.has-items{padding-top:6px;padding-bottom:4px}#page-filtering .selectize-control.multi .selectize-input input{font-size:.9rem;line-height:1.5}#page-filtering .selectize-control.multi .selectize-input .item,#page-filtering .selectize-control.multi .selectize-input .item.active{color:#777;background:#eee;padding:2px 10px}#page-filtering .selectize-control.multi .selectize-input .item[data-value='Routable'],#page-filtering .selectize-control.multi .selectize-input .item.active[data-value='Routable']{background:#CE431D;color:#fff}#page-filtering .selectize-control.multi .selectize-input .item[data-value='NonRoutable'],#page-filtering .selectize-control.multi .selectize-input .item.active[data-value='NonRoutable']{color:#CE431D}#page-filtering .selectize-control.multi .selectize-input .item[data-value='Visible'],#page-filtering .selectize-control.multi .selectize-input .item.active[data-value='Visible']{background:#0082BA;color:#fff}#page-filtering .selectize-control.multi .selectize-input .item[data-value='NonVisible'],#page-filtering .selectize-control.multi .selectize-input .item.active[data-value='NonVisible']{color:#0082BA}#page-filtering .selectize-control.multi .selectize-input .item[data-value='Modular'],#page-filtering .selectize-control.multi .selectize-input .item.active[data-value='Modular']{background:#9055AF;color:#fff}#page-filtering .selectize-control.multi .selectize-input .item[data-value='NonModular'],#page-filtering .selectize-control.multi .selectize-input .item.active[data-value='NonModular']{color:#9055AF}#page-filtering .selectize-control.multi .selectize-input .item[data-value='Published'],#page-filtering .selectize-control.multi .selectize-input .item.active[data-value='Published']{background:#0093B8;color:#fff}#page-filtering .selectize-control.multi .selectize-input .item[data-value='NonPublished'],#page-filtering .selectize-control.multi .selectize-input .item.active[data-value='NonPublished']{color:#0093B8}.admin-form-wrapper{position:relative}#admin-topbar{position:absolute;right:5px;height:50px}@media only all and (max-width: 47.938em){#admin-topbar{position:relative;width:100%;right:0;padding:0 .5rem;margin:-2rem 0 2rem 0}}#admin-topbar #admin-mode-toggle,#admin-topbar #admin-lang-toggle{height:38px;display:inline-block;vertical-align:inherit}@media only all and (max-width: 47.938em){#admin-topbar #admin-mode-toggle,#admin-topbar #admin-lang-toggle{float:right}}#admin-topbar #admin-lang-toggle{z-index:3;float:left;margin-right:5px}#admin-topbar #admin-lang-toggle button{padding:0.3rem 0.5rem;height:100%}#admin-topbar #admin-lang-toggle .dropdown-menu button{width:100%}#admin-topbar .switch-grav{border:0;line-height:38px}@media only all and (max-width: 47.938em){#admin-topbar .switch-toggle{width:100%}}.depth-0 .row{padding-left:3rem}@media only all and (max-width: 47.938em){.depth-0 .row{padding-left:1rem}}.depth-1 .row{padding-left:6rem}@media only all and (max-width: 47.938em){.depth-1 .row{padding-left:2rem}}.depth-2 .row{padding-left:9rem}@media only all and (max-width: 47.938em){.depth-2 .row{padding-left:3rem}}.depth-3 .row{padding-left:12rem}@media only all and (max-width: 47.938em){.depth-3 .row{padding-left:4rem}}.depth-4 .row{padding-left:15rem}@media only all and (max-width: 47.938em){.depth-4 .row{padding-left:5rem}}.depth-5 .row{padding-left:18rem}@media only all and (max-width: 47.938em){.depth-5 .row{padding-left:6rem}}.depth-6 .row{padding-left:21rem}@media only all and (max-width: 47.938em){.depth-6 .row{padding-left:7rem}}.depth-7 .row{padding-left:24rem}@media only all and (max-width: 47.938em){.depth-7 .row{padding-left:8rem}}.depth-8 .row{padding-left:27rem}@media only all and (max-width: 47.938em){.depth-8 .row{padding-left:9rem}}.depth-9 .row{padding-left:30rem}@media only all and (max-width: 47.938em){.depth-9 .row{padding-left:10rem}}.hidden{display:none !important}.switch-toggle input[type="radio"]{display:none !important}html.remodal-is-locked{overflow:hidden;touch-action:none}.remodal,[data-remodal-id]{display:none}.remodal-overlay{position:fixed;z-index:99999;top:-5000px;right:-5000px;bottom:-5000px;left:-5000px;display:none}.remodal-wrapper{position:fixed;z-index:100000;top:0;right:0;bottom:0;left:0;display:none;overflow:auto;text-align:center;-webkit-overflow-scrolling:touch}.remodal-wrapper:after{display:inline-block;height:100%;margin-left:-0.05em;content:''}.remodal-overlay,.remodal-wrapper{backface-visibility:hidden}.remodal{position:relative;outline:none;text-size-adjust:100%}.remodal-is-initialized{display:inline-block}.remodal-bg.remodal-is-opening,.remodal-bg.remodal-is-opened{-webkit-filter:blur(3px);filter:blur(3px)}.remodal-overlay{background:rgba(43,46,56,0.9)}.remodal-overlay.remodal-is-opening,.remodal-overlay.remodal-is-closing{animation-duration:0.3s;animation-fill-mode:forwards}.remodal-overlay.remodal-is-opening{animation-name:remodal-overlay-opening-keyframes}.remodal-overlay.remodal-is-closing{animation-name:remodal-overlay-closing-keyframes}.remodal-wrapper{padding:10px 10px 0}.remodal{box-sizing:border-box;width:100%;margin-bottom:10px;padding:35px;transform:translate3d(0, 0, 0)}.remodal.remodal-is-opening,.remodal.remodal-is-closing{animation-duration:0.3s;animation-fill-mode:forwards}.remodal.remodal-is-opening{animation-name:remodal-opening-keyframes}.remodal.remodal-is-closing{animation-name:remodal-closing-keyframes}.remodal,.remodal-wrapper:after{vertical-align:middle}.remodal-close{position:absolute;top:0;left:0;display:block;overflow:visible;width:35px;height:35px;margin:0;padding:0;cursor:pointer;transition:color 0.2s;text-decoration:none;border:0;outline:0;background:transparent}.remodal-close:before{font-family:Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;font-size:25px;line-height:35px;position:absolute;top:0;left:0;display:block;width:35px;content:"\00d7";text-align:center}@keyframes remodal-opening-keyframes{from{transform:scale(1.05);opacity:0}to{transform:none;opacity:1}}@keyframes remodal-closing-keyframes{from{transform:scale(1);opacity:1}to{transform:scale(0.95);opacity:0}}@keyframes remodal-overlay-opening-keyframes{from{opacity:0}to{opacity:1}}@keyframes remodal-overlay-closing-keyframes{from{opacity:1}to{opacity:0}}@media only screen and (min-width: 641px){.remodal{max-width:700px}}.lt-ie9 .remodal-overlay{background:#2b2e38}.lt-ie9 .remodal{width:700px}.remodal{padding:35px 0 0;text-align:left;box-shadow:0 10px 20px rgba(0,0,0,0.3);border-radius:3px}.remodal ul li{margin-left:27px;list-style-type:square}.admin-pages .form-tabs:first-child{margin-top:-1rem}.admin-pages .form-tabs .tabs-nav{margin-right:180px}@media only all and (max-width: 47.938em){.admin-pages .form-tabs .tabs-nav{margin-right:0 !important}}.form-tabs .tabs-nav{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;padding-top:1px}.form-tabs .tabs-nav a{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1;transition:color 0.5s ease, background 0.5s ease;cursor:pointer;min-height:50px;text-align:center;padding:4px;display:flex;align-items:center;justify-content:center}.form-tabs .tabs-nav span{display:inline-block;line-height:1.1}.form-tabs.subtle .tabs-nav{margin-right:0 !important}.form-tabs .tabs-content .tab__content{display:none;padding-top:2rem}.form-tabs .tabs-content .tab__content.active{display:block}.grav-editor-content{position:relative}.grav-editor [data-grav-editor]{height:300px}.grav-editor [data-grav-editor].code-mirrored{padding:0;border:0;position:absolute;z-index:-1;display:block !important}.grav-editor .CodeMirror .CodeMirror-vscrollbar,.grav-editor .CodeMirror .CodeMirror-hscrollbar{z-index:1}.grav-editor .CodeMirror-scroll{position:static;padding-bottom:15px}.grav-editor .grav-editor-resizer{height:6px;cursor:row-resize;border-radius:0 0 3px 3px;margin-top:-2px;position:relative;z-index:1}.grav-editor .CodeMirror-selected{background:#D6E8FF}.grav-editor .CodeMirror-gutters{height:100% !important}.grav-editor-fullscreen{position:fixed;top:4.2rem;left:0;bottom:0;right:0;z-index:3;padding:0 !important;margin:0 !important;display:flex;flex-direction:column}.grav-editor-fullscreen .grav-editor-content{display:flex;flex-direction:column;flex:1 0 0;overflow-y:auto}.grav-editor-fullscreen .grav-editor-content,.grav-editor-fullscreen .CodeMirror-wrap,.grav-editor-fullscreen .grav-editor-preview{height:100% !important}.grav-editor-fullscreen .grav-editor-toolbar{flex:0 0 auto}.grav-editor-fullscreen .grav-editor-toolbar,.grav-editor-fullscreen .grav-editor-toolbar ul li:first-child a,.grav-editor-fullscreen .grav-editor-toolbar-flip ul li:last-child a{border-radius:0 !important}.grav-editor-fullscreen .grav-editor-resizer{display:none}.grav-editor-fullscreen .grav-editor-content.is-active{display:flex}.grav-editor-toolbar{-webkit-box-align:stretch;-moz-box-align:stretch;box-align:stretch;-webkit-align-items:stretch;-moz-align-items:stretch;-ms-align-items:stretch;-o-align-items:stretch;align-items:stretch;-ms-flex-align:stretch;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;flex-direction:row;-ms-flex-direction:row}.grav-editor-toolbar .grav-editor-actions{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.grav-editor-toolbar .grav-editor-modes{flex-shrink:0;margin-right:2px}.grav-editor-toolbar .grav-editor-modes ul{float:right}.grav-editor-toolbar:after{content:"";display:table;clear:both}.grav-editor-toolbar ul{list-style:none;margin:0;padding:0}.grav-editor-toolbar ul li{display:inline-block}.grav-editor-toolbar ul li:first-child a{border-top-left-radius:4px}.grav-editor-toolbar ul a{display:inline-block;cursor:pointer;background-color:transparent;border-radius:0;padding:0.4rem;margin-top:-1px;border:1px solid transparent}.grav-editor-toolbar ul a,.grav-editor-toolbar ul a:hover,.grav-editor-toolbar ul a:active,.grav-editor-toolbar ul a:focus{outline:0}.grav-editor-toolbar .dropdown-menu li{width:50%}.grav-editor-hide-toolbar{display:none}.grav-editor-toolbar .grav-editor-modes li:first-child a{border-top-left-radius:0}.grav-editor-toolbar .grav-editor-modes li:last-child a{border-top-right-radius:4px}.grav-editor-toolbar-flip{float:right}.grav-editor-toolbar-flip ul li:last-child a{border-top-right-radius:4px}.grav-editor-content,.grav-editor-preview{cursor:text;display:none}.grav-editor-content:after,.grav-editor-preview:after{content:"";display:table;clear:both}.grav-editor-content.is-active,.grav-editor-preview.is-active{display:block}.grav-editor-content .CodeMirror-lines{padding:10px 0}#admin-main .grav-editor-preview{padding:20px;overflow-y:scroll;position:relative;background:#fff;line-height:1.5}#admin-main .grav-editor-preview h1,#admin-main .grav-editor-preview h2,#admin-main .grav-editor-preview h3,#admin-main .grav-editor-preview h4,#admin-main .grav-editor-preview h5,#admin-main .grav-editor-preview h6{padding:0;margin:2rem 0 1rem;border-bottom:0 !important}#admin-main .grav-editor-preview p{padding:0;margin:0.5rem 0 1rem}#admin-main .grav-editor-preview pre{padding:1rem}.grav-editor-toolbar [data-hint]:after{white-space:nowrap !important;max-width:300px;width:auto !important}.grav-editor-toolbar p{margin-top:10px;margin-bottom:10px;padding-left:20px}.cm-s-paper.CodeMirror{color:#666;line-height:1.4;font-size:16px}.cm-s-paper .cm-link{color:#0082ba}.cm-s-paper .cm-comment{color:gray}.cm-s-paper .cm-header{color:#595959}.cm-s-paper .cm-strong{color:#4d4d4d}.cm-s-paper .cm-em{color:#4d4d4d}.cm-s-paper .cm-string{color:#0082BA}.cm-s-paper .cm-tag{color:#4d4d4d}.cm-s-paper .cm-bracket{color:#666}.cm-s-paper .cm-hr{color:#ccc;font-weight:bold}.cm-s-paper .cm-keyword{color:#0082ba}.cm-s-paper .cm-atom{color:#9055af}.cm-s-paper .cm-meta{color:#666}.cm-s-paper .cm-number{color:#7f8c8d}.cm-s-paper .cm-def{color:#00f}.cm-s-paper .cm-variable{color:black}.cm-s-paper .cm-property{color:black}.cm-s-paper .cm-operator{color:black}.cm-s-paper .cm-string-2{color:#f50}.cm-s-paper .cm-meta{color:#555}.cm-s-paper .cm-error{color:#f00}.cm-s-paper .cm-qualifier{color:#555}.cm-s-paper .cm-builtin{color:#555}.cm-s-paper .cm-attribute{color:#7f8c8d}.cm-s-paper .cm-quote{color:#888}.cm-s-paper .cm-header-1{font-size:140%}.cm-s-paper .cm-header-2{font-size:120%}.cm-s-paper .cm-header-3{font-size:110%}.cm-s-paper .cm-negative{color:#d44}.cm-s-paper .cm-positive{color:#292}.cm-s-paper .cm-header,.cm-s-paper .cm-strong{font-weight:bold}.cm-s-paper .cm-em{font-style:italic}.cm-s-paper .cm-link{text-decoration:underline}.cm-s-paper .cm-invalidchar{color:#f00}.dropzone{position:relative;border-radius:4px;min-height:4rem}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-drag-hover{border-color:rgba(0,0,0,0.15);background:rgba(0,0,0,0.04)}.dropzone.dz-started .dz-message{display:none}.dropzone .dz-message{opacity:1;-ms-filter:none;filter:none}.dropzone .dz-preview{position:relative;display:inline-block;margin:1rem 1rem 1.5rem 1rem;vertical-align:top}.dropzone .dz-preview.dz-file-preview [data-dz-thumbnail]{display:none}.dropzone .dz-preview.dz-error .dz-error-mark{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{display:block}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{font-family:FontAwesome;display:none;position:absolute;width:22px;height:22px;font-size:18px;line-height:25px;border-radius:100%;text-align:center;right:2px;top:2px}.dropzone .dz-preview .dz-success-mark span,.dropzone .dz-preview .dz-error-mark span{display:none}.dropzone .dz-preview:hover .dz-success-mark,.dropzone .dz-preview:hover .dz-error-mark{display:none}.dropzone .dz-preview .dz-success-mark::after{content:'\f00c'}.dropzone .dz-preview .dz-error-mark::after{content:'\f12a'}.dropzone .dz-preview .dz-progress{position:absolute;top:150px;left:0px;right:0px;height:4px;display:none}.dropzone .dz-preview .dz-progress .dz-upload{display:block;position:absolute;top:0;bottom:0;left:0;width:0%}.dropzone .dz-preview .dz-error-message{display:none;position:absolute;top:0;left:0;right:0;font-size:0.9rem;line-height:1.2;padding:8px 10px;z-index:500}.dropzone .dz-preview.dz-processing .dz-progress{display:block}.dropzone .dz-preview:hover .dz-remove,.dropzone .dz-preview:hover .dz-unset,.dropzone .dz-preview:hover .dz-view,.dropzone .dz-preview:hover .dz-insert,.dropzone .dz-preview:hover .dz-metadata{display:block}.dropzone .dz-preview:hover.dz-error .dz-error-message{display:block}.dropzone .dz-preview .dz-filename{position:absolute;z-index:1;bottom:0;width:100%;padding:0 5px;background:rgba(0,0,0,0.3);color:#fff;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-remove,.dropzone .dz-preview .dz-unset,.dropzone .dz-preview .dz-view,.dropzone .dz-preview .dz-insert,.dropzone .dz-preview .dz-metadata{display:none;position:absolute;width:25px;height:25px;right:-25px;font-size:0;cursor:pointer}.dropzone .dz-preview .dz-remove:hover:after,.dropzone .dz-preview .dz-unset:hover:after,.dropzone .dz-preview .dz-view:hover:after,.dropzone .dz-preview .dz-insert:hover:after,.dropzone .dz-preview .dz-metadata:hover:after{color:#fff}.dropzone .dz-preview .dz-remove:after,.dropzone .dz-preview .dz-unset:after,.dropzone .dz-preview .dz-view:after,.dropzone .dz-preview .dz-insert:after,.dropzone .dz-preview .dz-metadata:after{text-align:center;display:block;color:#999;font-family:FontAwesome;font-size:18px;line-height:25px}.dropzone .dz-preview .dz-insert{top:-1px;border-top-right-radius:4px}.dropzone .dz-preview .dz-insert:after{content:'\f055'}.dropzone .dz-preview .dz-view{top:24px}.dropzone .dz-preview .dz-view:after{content:'\f06e'}.dropzone .dz-preview .dz-remove{top:72px}.dropzone .dz-preview .dz-remove:after{content:'\f1f8'}.dropzone .dz-preview .dz-unset{top:96px;border-bottom-right-radius:4px}.dropzone .dz-preview .dz-unset:after{content:'\f00d'}.dropzone .dz-preview .dz-metadata{top:49px}.dropzone .dz-preview .dz-metadata:after{content:'\f05a'}.dropzone .dz-preview.dz-no-editor .dz-view{top:-1px;border-top-right-radius:4px}.dropzone .dz-preview.dz-no-editor .dz-remove{top:24px}.dropzone .dz-preview.dz-no-editor .dz-unset{top:72px}.dropzone .dz-preview:hover .dz-remove.file-thumbnail-remove,.dropzone .dz-preview:hover .dz-unset.file-thumbnail-remove{display:block}.dropzone .dz-preview:hover .dz-remove:not(.file-thumbnail-remove),.dropzone .dz-preview:hover .dz-unset:not(.file-thumbnail-remove){left:inherit;border-left:0}.dropzone .dz-preview.dz-processing .dz-details{overflow:hidden}.dropzone .dz-preview.dz-processing .dz-details img{position:absolute;left:50%;top:50%;height:auto;width:100%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.dropzone .dz-preview .dz-details{width:200px;height:150px;position:relative;font-size:0.8rem}.dropzone .dz-preview .dz-details img{position:absolute;object-fit:cover;top:0;left:0;width:200px;height:150px}.dropzone .dz-preview .dz-details .dz-size{position:absolute;bottom:-28px;left:0;right:0;text-align:center;font-size:0.8rem;height:28px;line-height:28px}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message span{cursor:pointer;text-align:center;font-size:1.2rem;line-height:1.4;margin:1rem 0}.dropzone *{cursor:default}.toast-title{font-weight:bold}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#ffffff}.toast-message a:hover{color:#cccccc;text-decoration:none}.toast-close-button{position:relative;right:-0.3em;top:-0.3em;float:right;font-size:20px;font-weight:bold;color:#ffffff;-webkit-text-shadow:0 1px 0 #ffffff;text-shadow:0 1px 0 #ffffff;opacity:0.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}.toast-close-button:hover,.toast-close-button:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:5rem;right:1.5rem}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;color:#ffffff;opacity:0.9;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=90);filter:alpha(opacity=90)}#toast-container>:hover{opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important}#toast-container>.toast-error{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important}#toast-container>.toast-success{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important}#toast-container>.toast-warning{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important}#toast-container.toast-top-center>div,#toast-container.toast-bottom-center>div{width:300px;margin:auto}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin:auto}.toast-warning{background-color:#f89406}.toast-warning .button{background-color:#c67605;color:rgba(255,255,255,0.85);border-radius:4px;background:#945904}.toast-warning .button:hover{background:#a47229;color:#fff}.toast-warning .button.dropdown-toggle{border-left:1px solid #7c4a03}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000000;opacity:0.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width: 240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container .toast-close-button{right:-0.2em;top:-0.2em}}@media all and (min-width: 241px) and (max-width: 480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container .toast-close-button{right:-0.2em;top:-0.2em}}@media all and (min-width: 481px) and (max-width: 768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}}.gpm td{border:0}.gpm .gpm-search{position:relative;padding:0 3rem 0.5rem 1.5rem;text-indent:2.5rem}.gpm .gpm-search:after{position:absolute;right:60px;top:10px;content:'\f002';font-family:'FontAwesome'}@media only all and (max-width: 47.938em){.gpm .gpm-search{padding-left:1rem}}.gpm .sort-actions{float:right;margin:0 24px}@media only all and (max-width: 47.938em){.gpm .sort-actions{float:none}}.gpm .sort-actions>*{font-size:1rem;display:inline-block;vertical-align:middle}.gpm .sort-actions .sort-icon{cursor:pointer}.gpm .sort-actions select{margin:0;display:none}.gpm .sort-actions .selectize-input{width:9rem;vertical-align:middle;line-height:21px}.gpm .sort-actions .selectize-input input{line-height:21px}.gpm .gpm-name{white-space:nowrap}@media only all and (max-width: 47.938em){.gpm .gpm-name{white-space:normal}}.gpm .gpm-version{padding-left:0.5rem;font-size:0.9rem}.gpm .gpm-testing{border-radius:3px;padding:0 4px;font-size:0.75rem}.gpm .theme .gpm-testing{line-height:1rem;position:absolute;top:0;right:0;border-radius:0 0 0 3px;line-height:1.3}.gpm .gpm-actions .enabled,.gpm .gpm-actions .disabled{font-size:1.6rem}.gpm .gpm-item-info{position:relative;padding-bottom:1rem;margin-bottom:3rem;overflow:hidden}.gpm .gpm-item-info .gpm-item-icon{position:absolute;right:1.5rem;font-size:20rem}.gpm .gpm-item-info table{position:relative}.gpm .gpm-item-info td{border:0;text-align:left !important}.gpm .gpm-item-info td.double{padding-left:2rem}.gpm .gpm-item-info td:first-child{white-space:nowrap}@media only all and (max-width: 47.938em){.gpm .gpm-item-info td{word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}}.gpm .gpm-item-info tr:hover{background:inherit}.gpm .badge.update,.gpm .sidebar-open #admin-sidebar #admin-menu li .badges .update.updates,.sidebar-open #admin-sidebar #admin-menu li .badges .gpm .update.updates,.gpm .update.gpm-testing{display:inline-block;border-radius:4px;padding:2px 10px;margin-left:1rem}.gpm .gpm-ribbon{overflow:hidden;white-space:nowrap;position:absolute;top:1rem;right:-2rem;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.gpm .gpm-ribbon a{display:block;font-weight:bold;font-size:0.9rem;padding:5px 40px;text-align:center}.gpm .themes{padding:1.5rem}.gpm .themes .card-item{padding:1rem 1rem 4rem}.gpm .themes .gpm-screenshot{text-align:center}.gpm .themes .gpm-screenshot img{margin:0 auto;max-height:300px}.gpm .themes .gpm-name{margin-bottom:0.5rem;white-space:inherit}.gpm .themes .gpm-actions{margin:1rem -1rem -1rem -1rem;height:4rem;text-align:center;padding:1rem;font-size:1rem;font-weight:bold;position:absolute;left:0;right:0;bottom:1rem}.gpm .themes .active-theme .gpm-actions,.gpm .themes.inactive-theme .gpm-actions{line-height:2rem}.gpm .themes .inactive-theme .gpm-actions{display:block;font-weight:normal}.gpm #gpm-release-toggle{float:right;margin-right:3rem}#phpinfo img{display:none}#phpinfo table{margin:1rem 0 0}#phpinfo tr:hover{background:transparent}#phpinfo td{word-wrap:break-word;overflow:hidden}#phpinfo td h1{margin:0rem -1.5rem 0rem !important}#phpinfo hr{border-bottom:0}#phpinfo h1{font-size:2.3rem}#phpinfo h2{font-size:1.7rem;margin:3rem 1.5rem 0rem !important}.lines-button{display:inline-block;padding:.5rem .5rem 1rem;transition:.3s;cursor:pointer;user-select:none;border-radius:.4rem;position:absolute;z-index:100002;top:10px;background:transparent}.lines-button:hover{opacity:1}.lines-button:active{transition:none;background:rgba(0,0,0,0.1)}.lines{position:relative;display:inline-block;width:2rem;height:.28571rem;border-radius:.14286rem;transition:.3s}.lines:before,.lines:after{display:inline-block;width:2rem;height:.28571rem;border-radius:.14286rem;transition:.3s;position:absolute;left:0;content:'';transform-origin:.14286rem center}.lines:before{top:.5rem}.lines:after{top:-.5rem}.sidebar-mobile-open .lines-button.x .lines{background:transparent !important}.sidebar-mobile-open .lines-button.x .lines:before,.sidebar-mobile-open .lines-button.x .lines:after{transform-origin:50% 50%;top:0;width:2rem}.sidebar-mobile-open .lines-button.x .lines:before{transform:rotate3d(0, 0, 1, 45deg)}.sidebar-mobile-open .lines-button.x .lines:after{transform:rotate3d(0, 0, 1, -45deg)}.single-notification.alert{position:relative}.hide-notification{right:1rem;position:absolute}.alert.raw{padding:0 !important}#admin-dashboard #notifications .admin-block{padding:1rem 0}#admin-dashboard #notifications li{white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis}.dashboard-notifications-container,.plugins-notifications-container,.themes-notifications-container{margin:2rem 0 2rem 0}.dashboard-notifications-container .raw,.plugins-notifications-container .raw,.themes-notifications-container .raw{position:relative}.dashboard-notifications-container .raw .hide-notification,.plugins-notifications-container .raw .hide-notification,.themes-notifications-container .raw .hide-notification{position:absolute;top:5px;right:5px;line-height:1;font-size:1.2rem;color:#333;text-shadow:-1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff}.dashboard-notifications-container:empty,.plugins-notifications-container:empty,.themes-notifications-container:empty{margin:0}#admin-main .content-padding div[class*=notifications-container] .alert a:hover{text-decoration:underline}#admin-main .content-padding div[class*=notifications-container] .alert a.button,#admin-main .content-padding div[class*=notifications-container] .alert span.button,#admin-main .content-padding div[class*=notifications-container] .alert button.button{float:right;text-decoration:none}#admin-main .content-padding .top-notifications-container .alert a{cursor:pointer}@media only all and (max-width: 47.938em){#admin-main .content-padding .top-notifications-container{padding-bottom:20px}}#admin-main #notifications td:last-child{position:relative}#admin-main #notifications td:last-child span{position:absolute;display:block;right:2rem;top:6px}#admin-main #notifications .badge.alert,#admin-main #notifications .sidebar-open #admin-sidebar #admin-menu li .badges .alert.updates,.sidebar-open #admin-sidebar #admin-menu li .badges #admin-main #notifications .alert.updates,#admin-main #notifications .gpm .alert.gpm-testing,.gpm #admin-main #notifications .alert.gpm-testing{margin:0;font-size:0.7rem;text-transform:uppercase;margin-right:5px;border-radius:4px;vertical-align:middle;line-height:1.7}#admin-main #notifications .badge.alert i,#admin-main #notifications .sidebar-open #admin-sidebar #admin-menu li .badges .alert.updates i,.sidebar-open #admin-sidebar #admin-menu li .badges #admin-main #notifications .alert.updates i,#admin-main #notifications .gpm .alert.gpm-testing i,.gpm #admin-main #notifications .alert.gpm-testing i{margin-right:3px}.pages-list-container{width:30%;flex:none !important;padding:0 !important}.pages-list-container .pages-list{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pages-list-container .pages-list.depth-0 .row{padding-left:.5rem}.pages-list-container .pages-list .depth-1 .row{padding-left:1rem}.pages-list-container .pages-list .page-item .page-link{cursor:pointer}.pages-list-container .pages-list .row.active{background-color:rgba(0,166,207,0.1)}.media-page-dropzone{width:100%;margin-bottom:20px}.media-container.size-2-3{flex:none !important;width:70%}.media-container .filters{padding-bottom:30px;width:100%}.media-container .filters .filter-wrapper{margin-left:10px;margin-right:10px}.media-container .filters .filter-wrapper:after{margin-top:-25px;border:0px none;content:"\f078";font-family:"FontAwesome";right:12px;top:50%;line-height:0;color:#9BA2A6;pointer-events:none;float:right;padding-right:10px}.media-container .filters .filter option{padding:8px}.media-container .files{padding-left:30px;padding-right:30px}.media-container .admin-media-title{color:#333;margin:0px;font-size:.8rem;line-height:1.3}.media-container .card-item{width:49%}.media-container .card-item.empty-space{background:rgba(255,255,255,0.4);border:1px solid rgba(0,0,0,0.1) !important;color:rgba(0,0,0,0.3);max-width:none;display:block;text-align:center;top:20%;height:10rem !important;width:50% !important;margin:0 auto !important;font-size:2rem;line-height:8rem;transform:translateY(-50%)}.media-container .media-details{text-align:center}.media-container .media-details img{width:50%}.media-container .media-details h2{margin:0;font-size:1.8rem}.media-container .media-details h5{color:#9BA2A6;font-size:1.1rem;margin:0}.media-container h1{padding:0 2rem 0.5rem !important}.media-container .admin-form-wrapper{width:100%;padding-bottom:20px}.spinning-wheel{text-align:center}.media-container.in-modal h1{font-size:30px !important;margin-top:0px}.media-container.in-modal a{color:#333}.media-container.in-modal .pages-list li{list-style-type:none;margin-left:0}.remodal.remodal-mediapicker{max-width:70vw;padding:0}.media-container{height:70vh}.media-container .grid{justify-content:flex-start}.media-container.in-modal .gm-scrollbar{background:rgba(255,255,255,0.2)}.media-container.in-modal .gm-scrollbar .thumb{background-color:rgba(0,0,0,0.2) !important}.media-container.in-modal .gm-scrollbar .thumb:hover,.media-container.in-modal .gm-scrollbar .thumb.active{background-color:rgba(0,0,0,0.3) !important}.media-container h5{border-bottom:1px solid #ddd;padding:0.5rem 15px;margin:0;height:55px}.media-container .filter-wrapper{float:right;margin-right:5px;margin-top:10px}.media-container .filter-date{width:150px}.media-container .filter-type{width:100px;margin-right:15px}.media-container .pages-list-container{position:relative}.media-container .pages-list-container .pages-list{border-top:0;padding-right:10px;font-size:90%}.media-container .pages-list-container .pages-list .row{transition:none !important;line-height:2rem}.media-container .pages-list-container .pages-list .depth-1 .row{padding-left:2rem}.media-container .pages-list-container .pages-list .depth-2 .row{padding-left:3rem}.media-container .pages-list-container .pages-list .depth-3 .row{padding-left:4rem}.media-container .pages-list-container .pages-list .depth-4 .row{padding-left:5rem}.media-container .pages-list-container .pages-list .depth-5 .row{padding-left:6rem}.media-container .pages-list-container .pages-list .depth-6 .row{padding-left:7rem}.media-container .pages-list-container .pages-list .depth-7 .row{padding-left:8rem}.media-container .pages-list-container .pages-list .depth-8 .row{padding-left:9rem}.media-container .pages-list-container .pages-list .depth-9 .row{padding-left:10rem}.media-container .pages-list-container .mediapicker-scroll{position:absolute;top:55px;bottom:3px;height:inherit}.media-container .thumbs-list-container{position:relative}.media-container .thumbs-list-container .media-range{position:absolute;right:15px;bottom:5px}.media-container .thumbs-list-container .mediapicker-scroll{position:absolute;top:55px;bottom:30px;height:inherit}.media-container .thumbs-list-container .gm-scrollbar.-horizontal{display:none}.media-container #admin-media{padding:15px;height:100%;align-items:flex-start;align-content:flex-start}.media-container #admin-media .card-item{width:100px;padding:2px;margin:0 5px 5px 0;border:0}.media-container #admin-media .card-item img{display:block}.media-container #admin-media .admin-media-details{position:relative}.media-container #admin-media .admin-media-details .admin-media-title{position:absolute;width:100%;bottom:0;background:rgba(0,0,0,0.3);color:#fff;font-size:10px;overflow:hidden;line-height:2;text-indent:2px;white-space:nowrap}[data-remodal-id="metadata"] h1>*{vertical-align:middle}[data-remodal-id="metadata"] h1 strong{display:inline-block;max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-remodal-id="metadata"] .metadata-preview{display:flex;margin:0 3rem}[data-remodal-id="metadata"] .metadata-preview .meta-preview{max-width:200px}[data-remodal-id="metadata"] .metadata-preview .meta-content ul{margin:0}
+
+/*# sourceMappingURL=../css-compiled/template.css.map */
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css-compiled/template.css.map b/user/plugins/admin/themes/grav/css-compiled/template.css.map
new file mode 100644
index 0000000..6587ee8
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css-compiled/template.css.map
@@ -0,0 +1,122 @@
+{
+ "version": 3,
+ "file": "../scss/template.css",
+ "sources": [
+ "../scss/template.scss",
+ "../hdr0",
+ "../scss/vendor/bourbon/_bourbon.scss",
+ "../scss/vendor/bourbon/settings/_prefixer.scss",
+ "../scss/vendor/bourbon/settings/_px-to-em.scss",
+ "../scss/vendor/bourbon/helpers/_convert-units.scss",
+ "../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss",
+ "../scss/vendor/bourbon/helpers/_is-num.scss",
+ "../scss/vendor/bourbon/helpers/_linear-angle-parser.scss",
+ "../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss",
+ "../scss/vendor/bourbon/helpers/_linear-positions-parser.scss",
+ "../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss",
+ "../scss/vendor/bourbon/helpers/_radial-arg-parser.scss",
+ "../scss/vendor/bourbon/helpers/_radial-positions-parser.scss",
+ "../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss",
+ "../scss/vendor/bourbon/helpers/_render-gradients.scss",
+ "../scss/vendor/bourbon/helpers/_shape-size-stripper.scss",
+ "../scss/vendor/bourbon/helpers/_str-to-num.scss",
+ "../scss/vendor/bourbon/functions/_assign.scss",
+ "../scss/vendor/bourbon/functions/_color-lightness.scss",
+ "../scss/vendor/bourbon/functions/_flex-grid.scss",
+ "../scss/vendor/bourbon/functions/_golden-ratio.scss",
+ "../scss/vendor/bourbon/functions/_grid-width.scss",
+ "../scss/vendor/bourbon/functions/_modular-scale.scss",
+ "../scss/vendor/bourbon/functions/_px-to-em.scss",
+ "../scss/vendor/bourbon/functions/_px-to-rem.scss",
+ "../scss/vendor/bourbon/functions/_strip-units.scss",
+ "../scss/vendor/bourbon/functions/_tint-shade.scss",
+ "../scss/vendor/bourbon/functions/_transition-property-name.scss",
+ "../scss/vendor/bourbon/functions/_unpack.scss",
+ "../scss/vendor/bourbon/css3/_animation.scss",
+ "../scss/vendor/bourbon/css3/_appearance.scss",
+ "../scss/vendor/bourbon/css3/_backface-visibility.scss",
+ "../scss/vendor/bourbon/css3/_background.scss",
+ "../scss/vendor/bourbon/css3/_background-image.scss",
+ "../scss/vendor/bourbon/css3/_border-image.scss",
+ "../scss/vendor/bourbon/css3/_border-radius.scss",
+ "../scss/vendor/bourbon/css3/_box-sizing.scss",
+ "../scss/vendor/bourbon/css3/_calc.scss",
+ "../scss/vendor/bourbon/css3/_columns.scss",
+ "../scss/vendor/bourbon/css3/_filter.scss",
+ "../scss/vendor/bourbon/css3/_flex-box.scss",
+ "../scss/vendor/bourbon/css3/_font-face.scss",
+ "../scss/vendor/bourbon/css3/_hyphens.scss",
+ "../scss/vendor/bourbon/css3/_hidpi-media-query.scss",
+ "../scss/vendor/bourbon/css3/_image-rendering.scss",
+ "../scss/vendor/bourbon/css3/_keyframes.scss",
+ "../scss/vendor/bourbon/css3/_linear-gradient.scss",
+ "../scss/vendor/bourbon/css3/_perspective.scss",
+ "../scss/vendor/bourbon/css3/_radial-gradient.scss",
+ "../scss/vendor/bourbon/css3/_transform.scss",
+ "../scss/vendor/bourbon/css3/_transition.scss",
+ "../scss/vendor/bourbon/css3/_user-select.scss",
+ "../scss/vendor/bourbon/css3/_placeholder.scss",
+ "../scss/vendor/bourbon/addons/_button.scss",
+ "../scss/vendor/bourbon/addons/_clearfix.scss",
+ "../scss/vendor/bourbon/addons/_directional-values.scss",
+ "../scss/vendor/bourbon/addons/_ellipsis.scss",
+ "../scss/vendor/bourbon/addons/_font-family.scss",
+ "../scss/vendor/bourbon/addons/_hide-text.scss",
+ "../scss/vendor/bourbon/addons/_html5-input-types.scss",
+ "../scss/vendor/bourbon/addons/_position.scss",
+ "../scss/vendor/bourbon/addons/_prefixer.scss",
+ "../scss/vendor/bourbon/addons/_retina-image.scss",
+ "../scss/vendor/bourbon/addons/_size.scss",
+ "../scss/vendor/bourbon/addons/_timing-functions.scss",
+ "../scss/vendor/bourbon/addons/_triangle.scss",
+ "../scss/vendor/bourbon/addons/_word-wrap.scss",
+ "../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss",
+ "../scss/configuration/nucleus/_base.scss",
+ "../scss/configuration/nucleus/_core.scss",
+ "../scss/configuration/nucleus/_breakpoints.scss",
+ "../scss/configuration/nucleus/_layout.scss",
+ "../scss/configuration/nucleus/_typography.scss",
+ "../scss/configuration/nucleus/_nav.scss",
+ "../scss/configuration/template/_base.scss",
+ "../scss/configuration/template/_colors.scss",
+ "../scss/configuration/template/_variables.scss",
+ "../scss/nucleus/functions/_base.scss",
+ "../scss/nucleus/functions/_direction.scss",
+ "../scss/nucleus/functions/_range.scss",
+ "../scss/nucleus/mixins/_base.scss",
+ "../scss/nucleus/mixins/_breakpoints.scss",
+ "../scss/nucleus/mixins/_utilities.scss",
+ "../scss/template/modules/_base.scss",
+ "../scss/template/modules/_buttons.scss",
+ "../scss/template/modules/_toggle-switch.scss",
+ "../scss/template/modules/_datetimepicker.scss",
+ "../scss/template/modules/_scrollbars.scss",
+ "../scss/template/modules/_colorpicker.scss",
+ "../scss/template/_core.scss",
+ "../scss/template/_extensions.scss",
+ "../scss/template/_utilities.scss",
+ "../scss/template/_header.scss",
+ "../scss/template/_typography.scss",
+ "../scss/template/_fonts.scss",
+ "../scss/template/_forms.scss",
+ "../scss/template/_tables.scss",
+ "../scss/template/_buttons.scss",
+ "../scss/template/_errors.scss",
+ "../scss/template/_login.scss",
+ "../scss/template/_admin.scss",
+ "../scss/template/_pages.scss",
+ "../scss/template/_remodal.scss",
+ "../scss/template/_tabs.scss",
+ "../scss/template/_editor.scss",
+ "../scss/template/_dropzone.scss",
+ "../scss/template/_toastr.scss",
+ "../scss/template/_gpm.scss",
+ "../scss/template/_phpinfo.scss",
+ "../scss/template/_nav-toggle.scss",
+ "../scss/template/_notifications.scss",
+ "../scss/template/_media.scss",
+ "../scss/template/_custom.scss"
+ ],
+ "mappings": "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",
+ "names": []
+}
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css/chartist.min.css b/user/plugins/admin/themes/grav/css/chartist.min.css
new file mode 100755
index 0000000..f348f0a
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/chartist.min.css
@@ -0,0 +1 @@
+.ct-double-octave:after,.ct-major-eleventh:after,.ct-major-second:after,.ct-major-seventh:after,.ct-major-sixth:after,.ct-major-tenth:after,.ct-major-third:after,.ct-major-twelfth:after,.ct-minor-second:after,.ct-minor-seventh:after,.ct-minor-sixth:after,.ct-minor-third:after,.ct-octave:after,.ct-perfect-fifth:after,.ct-perfect-fourth:after,.ct-square:after{content:"";clear:both}.ct-double-octave:after,.ct-double-octave:before,.ct-golden-section:after,.ct-major-eleventh:after,.ct-major-eleventh:before,.ct-major-second:after,.ct-major-second:before,.ct-major-seventh:after,.ct-major-seventh:before,.ct-major-sixth:after,.ct-major-sixth:before,.ct-major-tenth:after,.ct-major-tenth:before,.ct-major-third:after,.ct-major-third:before,.ct-major-twelfth:after,.ct-major-twelfth:before,.ct-minor-second:after,.ct-minor-second:before,.ct-minor-seventh:after,.ct-minor-seventh:before,.ct-minor-sixth:after,.ct-minor-sixth:before,.ct-minor-third:after,.ct-minor-third:before,.ct-octave:after,.ct-octave:before,.ct-perfect-fifth:after,.ct-perfect-fifth:before,.ct-perfect-fourth:after,.ct-perfect-fourth:before,.ct-square:after,.ct-square:before{content:""}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.75rem;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-vertical.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-label.ct-vertical.ct-end{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:end}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#d70206}.ct-series-a .ct-area,.ct-series-a .ct-slice-pie{fill:#d70206}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#f05b4f}.ct-series-b .ct-area,.ct-series-b .ct-slice-pie{fill:#f05b4f}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#f4c63d}.ct-series-c .ct-area,.ct-series-c .ct-slice-pie{fill:#f4c63d}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#d17905}.ct-series-d .ct-area,.ct-series-d .ct-slice-pie{fill:#d17905}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#453d3f}.ct-series-e .ct-area,.ct-series-e .ct-slice-pie{fill:#453d3f}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:#59922b}.ct-series-f .ct-area,.ct-series-f .ct-slice-pie{fill:#59922b}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:#0544d3}.ct-series-g .ct-area,.ct-series-g .ct-slice-pie{fill:#0544d3}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:#6b0392}.ct-series-h .ct-area,.ct-series-h .ct-slice-pie{fill:#6b0392}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:#f05b4f}.ct-series-i .ct-area,.ct-series-i .ct-slice-pie{fill:#f05b4f}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:#dda458}.ct-series-j .ct-area,.ct-series-j .ct-slice-pie{fill:#dda458}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:#eacf7d}.ct-series-k .ct-area,.ct-series-k .ct-slice-pie{fill:#eacf7d}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:#86797d}.ct-series-l .ct-area,.ct-series-l .ct-slice-pie{fill:#86797d}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:#b2c326}.ct-series-m .ct-area,.ct-series-m .ct-slice-pie{fill:#b2c326}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:#6188e2}.ct-series-n .ct-area,.ct-series-n .ct-slice-pie{fill:#6188e2}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:#a748ca}.ct-series-o .ct-area,.ct-series-o .ct-slice-pie{fill:#a748ca}.ct-square{display:block;position:relative;width:100%}.ct-square:before{display:block;float:left;width:0;height:0;padding-bottom:100%}.ct-square:after{display:table}.ct-square>svg{display:block;position:absolute;top:0;left:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{display:block;float:left;width:0;height:0;padding-bottom:93.75%}.ct-minor-second:after{display:table}.ct-minor-second>svg{display:block;position:absolute;top:0;left:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{display:block;float:left;width:0;height:0;padding-bottom:88.8888888889%}.ct-major-second:after{display:table}.ct-major-second>svg{display:block;position:absolute;top:0;left:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{display:block;float:left;width:0;height:0;padding-bottom:83.3333333333%}.ct-minor-third:after{display:table}.ct-minor-third>svg{display:block;position:absolute;top:0;left:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{display:block;float:left;width:0;height:0;padding-bottom:80%}.ct-major-third:after{display:table}.ct-major-third>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{display:block;float:left;width:0;height:0;padding-bottom:75%}.ct-perfect-fourth:after{display:table}.ct-perfect-fourth>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{display:block;float:left;width:0;height:0;padding-bottom:66.6666666667%}.ct-perfect-fifth:after{display:table}.ct-perfect-fifth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{display:block;float:left;width:0;height:0;padding-bottom:62.5%}.ct-minor-sixth:after{display:table}.ct-minor-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:61.804697157%}.ct-golden-section:after{display:table;clear:both}.ct-golden-section>svg{display:block;position:absolute;top:0;left:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{display:block;float:left;width:0;height:0;padding-bottom:60%}.ct-major-sixth:after{display:table}.ct-major-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{display:block;float:left;width:0;height:0;padding-bottom:56.25%}.ct-minor-seventh:after{display:table}.ct-minor-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{display:block;float:left;width:0;height:0;padding-bottom:53.3333333333%}.ct-major-seventh:after{display:table}.ct-major-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{display:block;float:left;width:0;height:0;padding-bottom:50%}.ct-octave:after{display:table}.ct-octave>svg{display:block;position:absolute;top:0;left:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{display:block;float:left;width:0;height:0;padding-bottom:40%}.ct-major-tenth:after{display:table}.ct-major-tenth>svg{display:block;position:absolute;top:0;left:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{display:block;float:left;width:0;height:0;padding-bottom:37.5%}.ct-major-eleventh:after{display:table}.ct-major-eleventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{display:block;float:left;width:0;height:0;padding-bottom:33.3333333333%}.ct-major-twelfth:after{display:table}.ct-major-twelfth>svg{display:block;position:absolute;top:0;left:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{display:block;float:left;width:0;height:0;padding-bottom:25%}.ct-double-octave:after{display:table}.ct-double-octave>svg{display:block;position:absolute;top:0;left:0}
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css/codemirror/base16-light.css b/user/plugins/admin/themes/grav/css/codemirror/base16-light.css
new file mode 100644
index 0000000..12ff2eb
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/codemirror/base16-light.css
@@ -0,0 +1,36 @@
+/*
+
+ Name: Base16 Default Light
+ Author: Chris Kempson (http://chriskempson.com)
+
+ CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-chrome-devtools)
+ Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
+
+*/
+
+.cm-s-base16-light.CodeMirror {background: #f5f5f5; color: #202020;}
+.cm-s-base16-light div.CodeMirror-selected {background: #e0e0e0 !important;}
+.cm-s-base16-light .CodeMirror-gutters {background: #f5f5f5; border-right: 0px;}
+.cm-s-base16-light .CodeMirror-guttermarker { color: #ac4142; }
+.cm-s-base16-light .CodeMirror-guttermarker-subtle { color: #b0b0b0; }
+.cm-s-base16-light .CodeMirror-linenumber {color: #b0b0b0;}
+.cm-s-base16-light .CodeMirror-cursor {border-left: 1px solid #505050 !important;}
+
+.cm-s-base16-light span.cm-comment {color: #8f5536;}
+.cm-s-base16-light span.cm-atom {color: #aa759f;}
+.cm-s-base16-light span.cm-number {color: #aa759f;}
+
+.cm-s-base16-light span.cm-property, .cm-s-base16-light span.cm-attribute {color: #90a959;}
+.cm-s-base16-light span.cm-keyword {color: #ac4142;}
+.cm-s-base16-light span.cm-string {color: #f4bf75;}
+
+.cm-s-base16-light span.cm-variable {color: #90a959;}
+.cm-s-base16-light span.cm-variable-2 {color: #6a9fb5;}
+.cm-s-base16-light span.cm-def {color: #d28445;}
+.cm-s-base16-light span.cm-bracket {color: #202020;}
+.cm-s-base16-light span.cm-tag {color: #ac4142;}
+.cm-s-base16-light span.cm-link {color: #aa759f;}
+.cm-s-base16-light span.cm-error {background: #ac4142; color: #505050;}
+
+.cm-s-base16-light .CodeMirror-activeline-background {background: #DDDCDC !important;}
+.cm-s-base16-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
diff --git a/user/plugins/admin/themes/grav/css/codemirror/codemirror.css b/user/plugins/admin/themes/grav/css/codemirror/codemirror.css
new file mode 100644
index 0000000..318d25f
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/codemirror/codemirror.css
@@ -0,0 +1,332 @@
+/* BASICS */
+
+.CodeMirror {
+ /* Set height, width, borders, and global font properties here */
+ font-family: monospace;
+ height: 300px;
+ color: black;
+}
+
+/* PADDING */
+
+.CodeMirror-lines {
+ padding: 4px 0; /* Vertical padding around content */
+}
+.CodeMirror pre {
+ padding: 0 4px; /* Horizontal padding of content */
+}
+
+.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
+ background-color: white; /* The little square between H and V scrollbars */
+}
+
+/* GUTTER */
+
+.CodeMirror-gutters {
+ border-right: 1px solid #ddd;
+ background-color: #f7f7f7;
+ white-space: nowrap;
+}
+.CodeMirror-linenumbers {}
+.CodeMirror-linenumber {
+ padding: 0 3px 0 5px;
+ min-width: 20px;
+ text-align: right;
+ color: #999;
+ white-space: nowrap;
+}
+
+.CodeMirror-guttermarker { color: black; }
+.CodeMirror-guttermarker-subtle { color: #999; }
+
+/* CURSOR */
+
+.CodeMirror div.CodeMirror-cursor {
+ border-left: 1px solid black;
+}
+/* Shown when moving in bi-directional text */
+.CodeMirror div.CodeMirror-secondarycursor {
+ border-left: 1px solid silver;
+}
+.CodeMirror.cm-fat-cursor div.CodeMirror-cursor {
+ width: auto;
+ border: 0;
+ background: #7e7;
+}
+.CodeMirror.cm-fat-cursor div.CodeMirror-cursors {
+ z-index: 1;
+}
+
+.cm-animate-fat-cursor {
+ width: auto;
+ border: 0;
+ -webkit-animation: blink 1.06s steps(1) infinite;
+ -moz-animation: blink 1.06s steps(1) infinite;
+ animation: blink 1.06s steps(1) infinite;
+ background-color: #7e7;
+}
+@-moz-keyframes blink {
+ 0% {}
+ 50% { background-color: transparent; }
+ 100% {}
+}
+@-webkit-keyframes blink {
+ 0% {}
+ 50% { background-color: transparent; }
+ 100% {}
+}
+@keyframes blink {
+ 0% {}
+ 50% { background-color: transparent; }
+ 100% {}
+}
+
+/* Can style cursor different in overwrite (non-insert) mode */
+div.CodeMirror-overwrite div.CodeMirror-cursor {}
+
+.cm-tab { display: inline-block; text-decoration: inherit; }
+
+.CodeMirror-ruler {
+ border-left: 1px solid #ccc;
+ position: absolute;
+}
+
+/* DEFAULT THEME */
+
+.cm-s-default .cm-header {color: blue;}
+.cm-s-default .cm-quote {color: #090;}
+.cm-negative {color: #d44;}
+.cm-positive {color: #292;}
+.cm-header, .cm-strong {font-weight: bold;}
+.cm-em {font-style: italic;}
+.cm-link {text-decoration: underline;}
+.cm-strikethrough {text-decoration: line-through;}
+
+.cm-s-default .cm-keyword {color: #708;}
+.cm-s-default .cm-atom {color: #219;}
+.cm-s-default .cm-number {color: #164;}
+.cm-s-default .cm-def {color: #00f;}
+.cm-s-default .cm-variable,
+.cm-s-default .cm-punctuation,
+.cm-s-default .cm-property,
+.cm-s-default .cm-operator {}
+.cm-s-default .cm-variable-2 {color: #05a;}
+.cm-s-default .cm-variable-3 {color: #085;}
+.cm-s-default .cm-comment {color: #a50;}
+.cm-s-default .cm-string {color: #a11;}
+.cm-s-default .cm-string-2 {color: #f50;}
+.cm-s-default .cm-meta {color: #555;}
+.cm-s-default .cm-qualifier {color: #555;}
+.cm-s-default .cm-builtin {color: #30a;}
+.cm-s-default .cm-bracket {color: #997;}
+.cm-s-default .cm-tag {color: #170;}
+.cm-s-default .cm-attribute {color: #00c;}
+.cm-s-default .cm-hr {color: #999;}
+.cm-s-default .cm-link {color: #00c;}
+
+.cm-s-default .cm-error {color: #f00;}
+.cm-invalidchar {color: #f00;}
+
+.CodeMirror-composing { border-bottom: 2px solid; }
+
+/* Default styles for common addons */
+
+div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
+div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
+.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
+.CodeMirror-activeline-background {background: #e8f2ff;}
+
+/* STOP */
+
+/* The rest of this file contains styles related to the mechanics of
+ the editor. You probably shouldn't touch them. */
+
+.CodeMirror {
+ position: relative;
+ overflow: hidden;
+ background: white;
+}
+
+.CodeMirror-scroll {
+ overflow: scroll !important; /* Things will break if this is overridden */
+ /* 30px is the magic margin used to hide the element's real scrollbars */
+ /* See overflow: hidden in .CodeMirror */
+ margin-bottom: -30px; margin-right: -30px;
+ padding-bottom: 30px;
+ height: 100%;
+ outline: none; /* Prevent dragging from highlighting the element */
+ position: relative;
+}
+.CodeMirror-sizer {
+ position: relative;
+ border-right: 30px solid transparent;
+}
+
+/* The fake, visible scrollbars. Used to force redraw during scrolling
+ before actuall scrolling happens, thus preventing shaking and
+ flickering artifacts. */
+.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
+ position: absolute;
+ z-index: 6;
+ display: none;
+}
+.CodeMirror-vscrollbar {
+ right: 0; top: 0;
+ overflow-x: hidden;
+ overflow-y: scroll;
+}
+.CodeMirror-hscrollbar {
+ bottom: 0; left: 0;
+ overflow-y: hidden;
+ overflow-x: scroll;
+}
+.CodeMirror-scrollbar-filler {
+ right: 0; bottom: 0;
+}
+.CodeMirror-gutter-filler {
+ left: 0; bottom: 0;
+}
+
+.CodeMirror-gutters {
+ position: absolute; left: 0; top: 0;
+ z-index: 3;
+}
+.CodeMirror-gutter {
+ white-space: normal;
+ height: 100%;
+ display: inline-block;
+ margin-bottom: -30px;
+ /* Hack to make IE7 behave */
+ *zoom:1;
+ *display:inline;
+}
+.CodeMirror-gutter-wrapper {
+ position: absolute;
+ z-index: 4;
+ background: none !important;
+ border: none !important;
+}
+.CodeMirror-gutter-background {
+ position: absolute;
+ top: 0; bottom: 0;
+ z-index: 4;
+}
+.CodeMirror-gutter-elt {
+ position: absolute;
+ cursor: default;
+ z-index: 4;
+}
+.CodeMirror-gutter-wrapper {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+}
+
+.CodeMirror-lines {
+ cursor: text;
+ min-height: 1px; /* prevents collapsing before first draw */
+}
+.CodeMirror pre {
+ /* Reset some styles that the rest of the page might have set */
+ -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
+ border-width: 0;
+ background: transparent;
+ font-family: inherit;
+ font-size: inherit;
+ margin: 0;
+ white-space: pre;
+ word-wrap: normal;
+ line-height: inherit;
+ color: inherit;
+ z-index: 2;
+ position: relative;
+ overflow: visible;
+ -webkit-tap-highlight-color: transparent;
+}
+.CodeMirror-wrap pre {
+ word-wrap: break-word;
+ white-space: pre-wrap;
+ word-break: normal;
+}
+
+.CodeMirror-linebackground {
+ position: absolute;
+ left: 0; right: 0; top: 0; bottom: 0;
+ z-index: 0;
+}
+
+.CodeMirror-linewidget {
+ position: relative;
+ z-index: 2;
+ overflow: auto;
+}
+
+.CodeMirror-widget {}
+
+.CodeMirror-code {
+ outline: none;
+}
+
+/* Force content-box sizing for the elements where we expect it */
+.CodeMirror-scroll,
+.CodeMirror-sizer,
+.CodeMirror-gutter,
+.CodeMirror-gutters,
+.CodeMirror-linenumber {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+
+.CodeMirror-measure {
+ position: absolute;
+ width: 100%;
+ height: 0;
+ overflow: hidden;
+ visibility: hidden;
+}
+.CodeMirror-measure pre { position: static; }
+
+.CodeMirror div.CodeMirror-cursor {
+ position: absolute;
+ border-right: none;
+ width: 0;
+}
+
+div.CodeMirror-cursors {
+ visibility: hidden;
+ position: relative;
+ z-index: 3;
+}
+.CodeMirror-focused div.CodeMirror-cursors {
+ visibility: visible;
+}
+
+.CodeMirror-selected { background: #d9d9d9; }
+.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
+.CodeMirror-crosshair { cursor: crosshair; }
+.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
+.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
+
+.cm-searching {
+ background: #ffa;
+ background: rgba(255, 255, 0, .4);
+}
+
+/* IE7 hack to prevent it from returning funny offsetTops on the spans */
+.CodeMirror span { *vertical-align: text-bottom; }
+
+/* Used to force a border model for a node */
+.cm-force-border { padding-right: .1px; }
+
+@media print {
+ /* Hide the cursor when printing */
+ .CodeMirror div.CodeMirror-cursors {
+ visibility: hidden;
+ }
+}
+
+/* See issue #2901 */
+.cm-tab-wrap-hack:after { content: ''; }
+
+/* Help users use markselection to safely style text background */
+span.CodeMirror-selectedtext { background: none; }
diff --git a/user/plugins/admin/themes/grav/css/codemirror/paper.css b/user/plugins/admin/themes/grav/css/codemirror/paper.css
new file mode 100644
index 0000000..8305176
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/codemirror/paper.css
@@ -0,0 +1,39 @@
+.cm-s-paper .cm-keyword {color: #555;}
+.cm-s-paper .cm-atom {color: #7f8c8d;}
+.cm-s-paper .cm-number {color: #7f8c8d;}
+.cm-s-paper .cm-def {color: #00f;}
+.cm-s-paper .cm-variable {color: black;}
+.cm-s-paper .cm-variable-2 {color: #555;}
+.cm-s-paper .cm-variable-3 {color: #085;}
+.cm-s-paper .cm-property {color: black;}
+.cm-s-paper .cm-operator {color: black;}
+.cm-s-paper .cm-comment {color: #959595;}
+.cm-s-paper .cm-string {color: #7f8c8d;}
+.cm-s-paper .cm-string-2 {color: #f50;}
+.cm-s-paper .cm-meta {color: #555;}
+.cm-s-paper .cm-error {color: #f00;}
+.cm-s-paper .cm-qualifier {color: #555;}
+.cm-s-paper .cm-builtin {color: #555;}
+.cm-s-paper .cm-bracket {color: #997;}
+.cm-s-paper .cm-tag {color: #7f8c8d;}
+.cm-s-paper .cm-attribute {color: #7f8c8d;}
+.cm-s-paper .cm-header {color: #000;}
+.cm-s-paper .cm-quote {color: #888;}
+.cm-s-paper .cm-hr {color: #999;}
+.cm-s-paper .cm-link {color: #7f8c8d;}
+
+.cm-negative {color: #d44;}
+.cm-positive {color: #292;}
+.cm-header, .cm-strong {font-weight: bold;}
+.cm-em {font-style: italic;}
+.cm-link {text-decoration: underline;}
+
+.cm-invalidchar {color: #f00;}
+
+.cm-s-paper .cm-header-1 {font-size: 140%;}
+.cm-s-paper .cm-header-2 {font-size: 120%;}
+.cm-s-paper .cm-header-3 {font-size: 110%;}
+
+
+div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
+div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
diff --git a/user/plugins/admin/themes/grav/css/featherlight.min.css b/user/plugins/admin/themes/grav/css/featherlight.min.css
new file mode 100644
index 0000000..bf553f6
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/featherlight.min.css
@@ -0,0 +1,8 @@
+/**
+ * Featherlight - ultra slim jQuery lightbox
+ * Version 0.4.9 - http://noelboss.github.io/featherlight/
+ *
+ * Copyright 2014, Noël Raoul Bossart (http://www.noelboss.com)
+ * MIT Licensed.
+**/
+@media all{.featherlight{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;text-align:center;white-space:nowrap;cursor:pointer;background:#333;background:rgba(0,0,0,0)}.featherlight:last-of-type{background:rgba(0,0,0,.8)}.featherlight:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-.25em}.featherlight .featherlight-content{position:relative;text-align:left;vertical-align:middle;display:inline-block;overflow:auto;padding:25px 25px 0;border-bottom:25px solid transparent;min-width:30%;margin-left:5%;margin-right:5%;max-height:95%;background:#fff;cursor:auto;white-space:normal}.featherlight .featherlight-inner{display:block}.featherlight .featherlight-close-icon{position:absolute;z-index:9999;top:0;right:0;line-height:25px;width:25px;cursor:pointer;text-align:center;font:Arial,sans-serif;background:#fff;background:rgba(255,255,255,.3);color:#000}.featherlight .featherlight-image{width:100%}.featherlight-iframe .featherlight-content{border-bottom:0;padding:0}.featherlight iframe{border:0}}@media only screen and (max-width:1024px){.featherlight .featherlight-content{margin-left:10px;margin-right:10px;max-height:98%;padding:10px 10px 0;border-bottom:10px solid transparent}}
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css/font-awesome.min.css b/user/plugins/admin/themes/grav/css/font-awesome.min.css
new file mode 100644
index 0000000..540440c
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/font-awesome.min.css
@@ -0,0 +1,4 @@
+/*!
+ * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
diff --git a/user/plugins/admin/themes/grav/css/hint.base.min.css b/user/plugins/admin/themes/grav/css/hint.base.min.css
new file mode 100644
index 0000000..c39c097
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/hint.base.min.css
@@ -0,0 +1,5 @@
+/*! Hint.css (base version) - v1.3.5 - 2015-06-16
+* http://kushagragour.in/lab/hint/
+* Copyright (c) 2015 Kushagra Gour; Licensed MIT */
+
+.hint--bottom:after,.hint--top:after{margin-left:-18px}.hint,[data-hint]{position:relative;display:inline-block}.hint:after,.hint:before,[data-hint]:after,[data-hint]:before{position:absolute;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease;-webkit-transition-delay:0ms;-moz-transition-delay:0ms;transition-delay:0ms}.hint--always:after,.hint--always:before,.hint:focus:after,.hint:focus:before,.hint:hover:after,.hint:hover:before,[data-hint]:focus:after,[data-hint]:focus:before,[data-hint]:hover:after,[data-hint]:hover:before{opacity:1;visibility:visible}.hint:hover:after,.hint:hover:before,[data-hint]:hover:after,[data-hint]:hover:before{-webkit-transition-delay:100ms;-moz-transition-delay:100ms;transition-delay:100ms}.hint:before,[data-hint]:before{content:'';position:absolute;background:0 0;border:6px solid transparent;z-index:1000001}.hint:after,[data-hint]:after{content:attr(data-hint);background:#383838;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap}.hint--top:before{border-top-color:#383838;margin-bottom:-12px}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#383838;margin-top:-12px}.hint--top:after,.hint--top:before{bottom:100%;left:50%}.hint--top:focus:after,.hint--top:focus:before,.hint--top:hover:after,.hint--top:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--bottom:after,.hint--bottom:before{top:100%;left:50%}.hint--bottom:focus:after,.hint--bottom:focus:before,.hint--bottom:hover:after,.hint--bottom:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--right:before{border-right-color:#383838;margin-left:-12px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:after,.hint--right:before{left:100%;bottom:50%}.hint--right:focus:after,.hint--right:focus:before,.hint--right:hover:after,.hint--right:hover:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--left:before{border-left-color:#383838;margin-right:-12px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:after,.hint--left:before{right:100%;bottom:50%}.hint--left:focus:after,.hint--left:focus:before,.hint--left:hover:after,.hint--left:hover:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--bottom-left:after,.hint--bottom-left:before{top:100%;left:50%}.hint--bottom-left:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--bottom-left:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom-left:hover:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--bottom-right:after,.hint--bottom-right:before{top:100%;left:50%}.hint--bottom-right:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--bottom-right:hover:after,.hint--bottom-right:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--top:after,.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--bottom:after,.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}
diff --git a/user/plugins/admin/themes/grav/css/iconpicker.css b/user/plugins/admin/themes/grav/css/iconpicker.css
new file mode 100755
index 0000000..0346d8b
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/iconpicker.css
@@ -0,0 +1,223 @@
+/* Icon Picker by QueryLoop
+ * Author: @eliorivero
+ * URL: http://queryloop.com/
+ * License: GPLv2
+ */
+
+.icon-set {
+ display: none;
+ background: #fff;
+ overflow-y: auto;
+ -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
+ box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
+}
+.icon-set ul {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+.icon-set li {
+ display: inline-block;
+ cursor: pointer;
+ padding: 8px;
+ margin: 0 0 5px;
+ width: 48px;
+ height: 48px;
+ font-size: 24px;
+ text-align: center;
+}
+.icon-set li:hover:before, .icon-set .icon-selected:before {
+ font-size: 32px;
+ position: relative;
+ top: 5px;
+ line-height: 1px;
+ width: 32px;
+ display: inline-block;
+}
+.icon-set.large li {
+ width: 32px;
+ height: 32px;
+ font-size: 32px;
+}
+.icon-set.large li:hover:before, .icon-set.large .icon-selected:before {
+ font-size: 48px;
+ width: 48px;
+ line-height: 24px;
+}
+.icon-highlight {
+ background: #00a6cf;
+ color: #fff;
+}
+.dialog {
+ display: block;
+ margin: 20px 0 0;
+ position: fixed;
+ right: 30%;
+ bottom: 30%;
+ width: 40%;
+ height: 40%;
+ max-height: 315px;
+ z-index: 19998;
+ visibility:hidden;
+ opacity: 0;
+ -webkit-box-shadow: 0 2px 4px rgba(0,0,0,0.25);
+ box-shadow: 0 2px 4px rgba(0,0,0,0.25);
+ -webkit-transform: scale(0.7) translateZ(0);
+ -ms-transform: scale(0.7) translateZ(0);
+ transform: scale(0.7) translateZ(0);
+ -webkit-transition: all 0.2s;
+ transition: all 0.2s;
+}
+.dialog-open {
+ padding: 10px;
+ visibility:visible;
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
+ opacity: 1;
+}
+.icon-set-wrap {
+ position: relative;
+}
+.ip-inline {
+ display: block;
+ width: 276px;
+ height: 0;
+ opacity: 0;
+ visibility:hidden;
+ -webkit-transform: scaleX(0.5) rotateX(90deg);
+ -ms-transform: scaleX(0.5) rotateX(90deg);
+ transform: scaleX(0.5) rotateX(90deg);
+ -webkit-transform-style: preserve-3d;
+ transform-style: preserve-3d;
+ -webkit-transform-origin: 50% 0;
+ transform-origin: 50% 0;
+ -webkit-transition: transform 0.3s ease-out;
+ transition: transform 0.3s ease-out;
+}
+.ip-inline-open {
+ padding: 10px;
+ border: 1px solid #eee;
+ height: auto;
+ visibility:visible;
+ -webkit-transform: scaleX(1) rotateY(0deg);
+ -ms-transform: scaleX(1) rotateY(0deg);
+ transform: scaleX(1) rotateY(0deg);
+ opacity: 1;
+}
+.dialog, .icon-picker-close {
+ top: 30%;
+ left: 30%;
+}
+.icon-picker-close {
+ opacity: 0;
+ visibility: hidden;
+ display: block;
+ width: 20px;
+ height: 20px;
+ color: #fff;
+ background: #333;
+ font-size: 19px;
+ margin: 30px 0 0 20px;
+ position: fixed;
+ z-index: 19999;
+ -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.25);
+ box-shadow: 0 1px 3px rgba(0,0,0,0.25);
+ -webkit-transition: all 0.2s;
+ transition: all 0.2s;
+}
+.icon-picker-close:after {
+ content: "\00D7";
+ width: 20px;
+ display: block;
+ position: absolute;
+ text-align: center;
+}
+.icon-picker-overlay {
+ opacity: 0;
+ visibility: hidden;
+ background: #222;
+ background: rgba(0, 0, 0, 0.5);
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 19997;
+ -webkit-transition: all 0.2s;
+ transition: all 0.2s;
+}
+.icon-picker-close.make-visible {
+ margin: 10px 0 0 -10px;
+}
+.ip-inline .icon-picker-close {
+ position: absolute;
+ z-index: 8;
+ top: 0;
+ right: 0;
+ left: auto;
+ opacity: 1;
+ visibility: visible;
+ margin: 0;
+}
+.make-visible {
+ visibility: visible;
+ opacity: 1;
+}
+.icon-selected {
+ background: #349886;
+ color: #fff;
+}
+.icon-preview {
+ display: none;
+ margin: 10px 0;
+ position: relative;
+}
+.icon-preview-on {
+ display: inline-block;
+}
+.icon-preview i {
+ width: 48px;
+ height: 48px;
+ text-align: center;
+ border: 1px solid #d5d5d5;
+ border-radius: 3px;
+ background: #fff;
+}
+.icon-preview i:before {
+ font-size: 32px;
+ line-height: 48px;
+}
+.remove-icon {
+ background-color: #00a6cf;
+ color: #fff !important;
+ border-radius: 3px;
+ transition: background .2s ease-out;
+ position: absolute;
+ top: -10px;
+ right: -10px;
+}
+.remove-icon:hover {
+ color: #fff !important;
+ background-color: #00a6cf;
+ cursor: pointer;
+}
+.remove-times {
+ width: 20px;
+ height: 20px;
+ font-size: 21px;
+ text-align: center;
+ line-height: 99%;
+}
+.remove-times:after {
+ content: "\00D7";
+ display: block;
+ line-height: 15px;
+}
+.launch-icons {
+ margin: 5px 3px 0 0;
+}
+.launch-icons:active {
+ margin: 5px 3px 0 0;
+}
+
diff --git a/user/plugins/admin/themes/grav/css/line-awesome.min.css b/user/plugins/admin/themes/grav/css/line-awesome.min.css
new file mode 100644
index 0000000..49178de
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/line-awesome.min.css
@@ -0,0 +1,4 @@
+/*!
+ * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */.fa.fa-pull-left,.fa.pull-left{margin-right:.3em}.fa,.fa-stack{display:inline-block}.fa-fw,.fa-li{text-align:center}@font-face{font-family:FontAwesome;src:url(../fonts/line-awesome.eot?v=4.7.0);src:url(../fonts/line-awesome.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(../fonts/line-awesome.woff2?v=4.7.0) format('woff2'),url(../fonts/line-awesome.woff?v=4.7.0) format('woff'),url(../fonts/line-awesome.ttf?v=4.7.0) format('truetype'),url(../fonts/line-awesome.svg?v=4.7.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right,.pull-right{float:right}.pull-left{float:left}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css/nucleus-ie10.css b/user/plugins/admin/themes/grav/css/nucleus-ie10.css
new file mode 100644
index 0000000..c1d2f2a
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/nucleus-ie10.css
@@ -0,0 +1,24 @@
+button {
+ overflow: visible;
+}
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box;
+ padding: 0;
+}
+
+.fixed-blocks {
+ display: block;
+}
+
+.feature-items {
+ overflow: hidden;
+}
+
+.modular .features .feature {
+ margin: 1%;
+ display: inline-block;
+ vertical-align: top;
+ float: none;
+}
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css/nucleus-ie9.css b/user/plugins/admin/themes/grav/css/nucleus-ie9.css
new file mode 100644
index 0000000..46df376
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/nucleus-ie9.css
@@ -0,0 +1,62 @@
+/* IE9 Resets and Normalization */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+}
+
+[hidden],
+template {
+ display: none;
+}
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+img {
+ border: 0;
+}
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+figure {
+ margin: 1em 40px;
+}
+
+button {
+ overflow: visible;
+}
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box;
+ padding: 0;
+}
+
+legend {
+ border: 0;
+ padding: 0;
+}
+
+textarea {
+ overflow: auto;
+}
\ No newline at end of file
diff --git a/user/plugins/admin/themes/grav/css/prism.css b/user/plugins/admin/themes/grav/css/prism.css
new file mode 100644
index 0000000..00005b3
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/prism.css
@@ -0,0 +1,121 @@
+/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+
+code[class*="language-"],
+pre[class*="language-"] {
+ color: black;
+ text-shadow: 0 1px white;
+ direction: ltr;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+
+
+ -moz-tab-size: 4;
+ -o-tab-size: 4;
+ tab-size: 4;
+
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+
+pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
+code[class*="language-"]::selection, code[class*="language-"] ::selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+
+@media print {
+ code[class*="language-"],
+ pre[class*="language-"] {
+ text-shadow: none;
+ }
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+ padding: 1em;
+ margin: .5em 0;
+ overflow: auto;
+}
+
+/* Inline code */
+:not(pre) > code[class*="language-"] {
+ padding: .1em;
+ border-radius: .3em;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+ color: slategray;
+}
+
+.token.punctuation {
+ color: #999;
+}
+
+.namespace {
+ opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol {
+ color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.builtin {
+ color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string,
+.token.variable {
+ color: #a67f59;
+ background: hsla(0,0%,100%,.5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+ color: #07a;
+}
+
+
+.token.regex,
+.token.important {
+ color: #e90;
+}
+
+.token.important {
+ font-weight: bold;
+}
+
+.token.entity {
+ cursor: help;
+}
+
diff --git a/user/plugins/admin/themes/grav/css/pure-0.5.0/grids-min.css b/user/plugins/admin/themes/grav/css/pure-0.5.0/grids-min.css
new file mode 100644
index 0000000..4b66e7e
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/pure-0.5.0/grids-min.css
@@ -0,0 +1,15 @@
+/*!
+Pure v0.5.0
+Copyright 2014 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+https://github.com/yui/pure/blob/master/LICENSE.md
+*/
+.pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class *="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-1-12,.pure-u-2-24{width:8.3333%;*width:8.3023%}.pure-u-1-8,.pure-u-3-24{width:12.5%;*width:12.469%}.pure-u-1-6,.pure-u-4-24{width:16.6667%;*width:16.6357%}.pure-u-1-5{width:20%;*width:19.969%}.pure-u-5-24{width:20.8333%;*width:20.8023%}.pure-u-1-4,.pure-u-6-24{width:25%;*width:24.969%}.pure-u-7-24{width:29.1667%;*width:29.1357%}.pure-u-1-3,.pure-u-8-24{width:33.3333%;*width:33.3023%}.pure-u-3-8,.pure-u-9-24{width:37.5%;*width:37.469%}.pure-u-2-5{width:40%;*width:39.969%}.pure-u-5-12,.pure-u-10-24{width:41.6667%;*width:41.6357%}.pure-u-11-24{width:45.8333%;*width:45.8023%}.pure-u-1-2,.pure-u-12-24{width:50%;*width:49.969%}.pure-u-13-24{width:54.1667%;*width:54.1357%}.pure-u-7-12,.pure-u-14-24{width:58.3333%;*width:58.3023%}.pure-u-3-5{width:60%;*width:59.969%}.pure-u-5-8,.pure-u-15-24{width:62.5%;*width:62.469%}.pure-u-2-3,.pure-u-16-24{width:66.6667%;*width:66.6357%}.pure-u-17-24{width:70.8333%;*width:70.8023%}.pure-u-3-4,.pure-u-18-24{width:75%;*width:74.969%}.pure-u-19-24{width:79.1667%;*width:79.1357%}.pure-u-4-5{width:80%;*width:79.969%}.pure-u-5-6,.pure-u-20-24{width:83.3333%;*width:83.3023%}.pure-u-7-8,.pure-u-21-24{width:87.5%;*width:87.469%}.pure-u-11-12,.pure-u-22-24{width:91.6667%;*width:91.6357%}.pure-u-23-24{width:95.8333%;*width:95.8023%}.pure-u-1,.pure-u-1-1,.pure-u-5-5,.pure-u-24-24{width:100%}
+
+/* Custom */
+[class *="pure-u"] {display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto;}
+.pure-u-1-7 {width: 14.285%;}.pure-u-2-7 {width: 28.571%;}.pure-u-3-7 {width: 42.857%;}.pure-u-4-7 {width: 57.142%;}.pure-u-5-7 {width: 71.428%;}.pure-u-6-7 {width: 85.714%;}
+.pure-u-1-9 {width: 11.111%;}.pure-u-2-9 {width: 22.222%;}.pure-u-3-9 {width: 33.333%;}.pure-u-4-9 {width: 44.444%;}.pure-u-5-9 {width: 55.555%;}.pure-u-6-9 {width: 66.666%;}.pure-u-7-9 {width: 77.777%;}.pure-u-8-9 {width: 88.888%;}
+.pure-u-1-10 {width: 10%;}.pure-u-2-10 {width: 20%;}.pure-u-3-10 {width: 30%;}.pure-u-4-10 {width: 40%;}.pure-u-5-10 {width: 50%;}.pure-u-6-10 {width: 60%;}.pure-u-7-10 {width: 70%;}.pure-u-8-10 {width: 80%;}.pure-u-9-10 {width: 90%;}
+
+.pure-u-1-11 {width: 9.090%;}.pure-u-2-11 {width: 18.181%;}.pure-u-3-11 {width: 27.272%;}.pure-u-4-11 {width: 36.363%;}.pure-u-5-11 {width: 45.454%;}.pure-u-6-11 {width: 54.545%;}.pure-u-7-11 {width: 63.636%;}.pure-u-8-11 {width: 72.727%;}.pure-u-9-11 {width: 81.818%;}.pure-u-10-11 {width: 90.909%;}
diff --git a/user/plugins/admin/themes/grav/css/selectize.min.css b/user/plugins/admin/themes/grav/css/selectize.min.css
new file mode 100644
index 0000000..5007e50
--- /dev/null
+++ b/user/plugins/admin/themes/grav/css/selectize.min.css
@@ -0,0 +1 @@
+.selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder{visibility:visible!important;background:#f2f2f2!important;background:rgba(0,0,0,0.06)!important;border:0 none!important;-webkit-box-shadow:inset 0 0 12px 4px #fff;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown-header{position:relative;padding:5px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button [data-value]{position:relative;padding-right:24px!important}.selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;width:17px;text-align:center;font-weight:700;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:2px 0 0;border-left:1px solid #d0d0d0;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.plugin-remove_button [data-value] .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#cacaca}.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:none}.selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#fff}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{color:#303030;font-family:inherit;font-size:13px;line-height:18px;-webkit-font-smoothing:inherit}.selectize-input,.selectize-control.single .selectize-input.input-active{background:#fff;cursor:text;display:inline-block}.selectize-input{border:1px solid #d0d0d0;padding:8px;display:inline-block;width:100%;overflow:hidden;position:relative;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.selectize-control.multi .selectize-input.has-items{padding:6px 8px 3px}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled *{cursor:default!important}.selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.selectize-input > *{vertical-align:baseline;display:-moz-inline-stack;display:inline-block;zoom:1;*display:inline}.selectize-control.multi .selectize-input > div{cursor:pointer;margin:0 3px 3px 0;padding:2px 6px;background:#f2f2f2;color:#303030;border:0 solid #d0d0d0}.selectize-control.multi .selectize-input > div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}.selectize-control.multi .selectize-input.disabled > div,.selectize-control.multi .selectize-input.disabled > div.active{color:#7d7d7d;background:#fff;border:0 solid #fff}.selectize-input > input{padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0 2px 0 0 !important;text-indent:0!important;border:0 none!important;background:none!important;line-height:inherit!important;-webkit-user-select:auto!important;-webkit-box-shadow:none!important;box-shadow:none!important}.selectize-input > input::-ms-clear{display:none}.selectize-input > input:focus{outline:none!important}.selectize-input::after{content:' ';display:block;clear:left}.selectize-input.dropdown-active::before{content:' ';display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;z-index:10;border:1px solid #d0d0d0;background:#fff;margin:-1px 0 0;border-top:0 none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,0.2);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.selectize-dropdown [data-selectable],.selectize-dropdown .optgroup-header{padding:5px 8px}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#303030;background:#fff;cursor:default}.selectize-dropdown .active{background-color:#f5fafd;color:#495c68}.selectize-dropdown .active.create{color:#495c68}.selectize-dropdown .create{color:rgba(48,48,48,0.5)}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input{cursor:text}.selectize-control.single .selectize-input:after{content:' ';display:block;position:absolute;top:50%;right:15px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0;border-color:gray transparent transparent}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-width:0 5px 5px;border-color:transparent transparent gray}.selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}.selectize-control.rtl .selectize-input > input{margin:0 4px 0 -2px !important}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fafafa}
diff --git a/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.eot b/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.eot
new file mode 100644
index 0000000..e9f60ca
Binary files /dev/null and b/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.eot differ
diff --git a/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.svg b/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.svg
new file mode 100644
index 0000000..855c845
--- /dev/null
+++ b/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.svg
@@ -0,0 +1,2671 @@
+
+
+
diff --git a/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.ttf b/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.ttf
new file mode 100644
index 0000000..35acda2
Binary files /dev/null and b/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.ttf differ
diff --git a/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.woff b/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.woff
new file mode 100644
index 0000000..400014a
Binary files /dev/null and b/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.woff differ
diff --git a/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.woff2 b/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.woff2
new file mode 100644
index 0000000..4d13fc6
Binary files /dev/null and b/user/plugins/admin/themes/grav/fonts/fontawesome-webfont.woff2 differ
diff --git a/user/plugins/admin/themes/grav/fonts/line-awesome.eot b/user/plugins/admin/themes/grav/fonts/line-awesome.eot
new file mode 100644
index 0000000..f13ae4a
Binary files /dev/null and b/user/plugins/admin/themes/grav/fonts/line-awesome.eot differ
diff --git a/user/plugins/admin/themes/grav/fonts/line-awesome.svg b/user/plugins/admin/themes/grav/fonts/line-awesome.svg
new file mode 100644
index 0000000..21c3c41
--- /dev/null
+++ b/user/plugins/admin/themes/grav/fonts/line-awesome.svg
@@ -0,0 +1,2954 @@
+
+
+
diff --git a/user/plugins/admin/themes/grav/fonts/line-awesome.ttf b/user/plugins/admin/themes/grav/fonts/line-awesome.ttf
new file mode 100644
index 0000000..afdb687
Binary files /dev/null and b/user/plugins/admin/themes/grav/fonts/line-awesome.ttf differ
diff --git a/user/plugins/admin/themes/grav/fonts/line-awesome.woff b/user/plugins/admin/themes/grav/fonts/line-awesome.woff
new file mode 100644
index 0000000..8897d78
Binary files /dev/null and b/user/plugins/admin/themes/grav/fonts/line-awesome.woff differ
diff --git a/user/plugins/admin/themes/grav/fonts/line-awesome.woff2 b/user/plugins/admin/themes/grav/fonts/line-awesome.woff2
new file mode 100644
index 0000000..f825cfb
Binary files /dev/null and b/user/plugins/admin/themes/grav/fonts/line-awesome.woff2 differ
diff --git a/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.eot b/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.eot
new file mode 100644
index 0000000..c52df41
Binary files /dev/null and b/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.eot differ
diff --git a/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.svg b/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.svg
new file mode 100644
index 0000000..f338187
--- /dev/null
+++ b/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.svg
@@ -0,0 +1,16 @@
+
+
+
diff --git a/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.ttf b/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.ttf
new file mode 100644
index 0000000..53a6e37
Binary files /dev/null and b/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.ttf differ
diff --git a/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.woff b/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.woff
new file mode 100644
index 0000000..0fd4941
Binary files /dev/null and b/user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.woff differ
diff --git a/user/plugins/admin/themes/grav/gulpfile.js b/user/plugins/admin/themes/grav/gulpfile.js
new file mode 100644
index 0000000..02d1cba
--- /dev/null
+++ b/user/plugins/admin/themes/grav/gulpfile.js
@@ -0,0 +1,110 @@
+'use strict';
+
+var gulp = require('gulp'),
+ util = require('util'),
+ path = require('path'),
+ gutil = require('gulp-util'),
+ path = require('path'),
+ immutable = require('immutable'),
+ merge = require('merge-stream'),
+ gulpWebpack = require('gulp-webpack'),
+ webpack = require('webpack'),
+ sass = require('gulp-sass'),
+ sourcemaps = require('gulp-sourcemaps');
+
+var plugins = {
+ 'Promise': 'imports?this=>global!exports?global.Promise!babel-polyfill',
+ 'fetch': 'imports?this=>global!exports?global.fetch!whatwg-fetch'
+ },
+ base = immutable.fromJS(require('./webpack.conf.js')),
+ options = {
+ dev: base.mergeDeep({
+ devtool: 'source-map',
+ plugins: [
+ new webpack.DefinePlugin({
+ 'process.env': { NODE_ENV: '"development"' }
+ }),
+ new webpack.ProvidePlugin(plugins),
+ new webpack.optimize.CommonsChunkPlugin("vendor", "vendor.js", Infinity)
+ ],
+ output: {
+ filename: 'admin.js'
+ }
+ }),
+
+ prod: base.mergeDeep({
+ devtool: 'source-map',
+ plugins: [
+ new webpack.DefinePlugin({
+ 'process.env': { NODE_ENV: '"production"' }
+ }),
+ new webpack.optimize.UglifyJsPlugin({
+ sourceMap: true,
+ compress: {
+ warnings: false
+ }
+ }),
+ new webpack.ProvidePlugin(plugins),
+ new webpack.optimize.CommonsChunkPlugin("vendor", "vendor.min.js", Infinity)
+ ],
+ output: {
+ filename: 'admin.min.js'
+ }
+ })
+ };
+
+var compileJS = function(watch) {
+ var devOpts = options.dev.set('watch', watch),
+ prodOpts = options.prod.set('watch', watch);
+
+ var prod = gulp.src('app/main.js')
+ .pipe(gulpWebpack(prodOpts.toJS()))
+ .pipe(gulp.dest('js/'));
+
+ /*var dev = gulp.src('app/main.js')
+ .pipe(gulpWebpack(devOpts.toJS()))
+ .pipe(gulp.dest('js/'));*/
+
+ // return merge(prod, dev);
+ return prod;
+};
+
+var compileCSS = function(event) {
+ return gulp.src('./scss/**/*.scss')
+ .on('end', function() {
+ // console.log(util.inspect(event));
+ if (event && event.path) {
+ gutil.log(gutil.colors.green('√'), 'Saved change for "' + event.path.replace(__dirname, '') + '"');
+ }
+ })
+ .on('error', gutil.log)
+ .pipe(sourcemaps.init())
+ .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
+ .pipe(sourcemaps.write('./'))
+ .pipe(gulp.dest('./css-compiled'));
+};
+
+gulp.task('js', function() {
+ compileJS(false);
+});
+
+gulp.task('css', function() {
+ compileCSS();
+});
+
+gulp.task('watch', function() {
+ compileJS(true);
+ gulp.watch('./scss/**/*.scss', compileCSS);
+});
+
+gulp.task('watch-js', function() {
+ compileJS(true);
+});
+
+gulp.task('watch-css', function() {
+ compileCSS();
+ gulp.watch('./scss/**/*.scss', compileCSS);
+});
+
+gulp.task('all', ['css', 'js']);
+gulp.task('default', ['all']);
diff --git a/user/plugins/admin/themes/grav/images/favicon.png b/user/plugins/admin/themes/grav/images/favicon.png
new file mode 100644
index 0000000..2024853
Binary files /dev/null and b/user/plugins/admin/themes/grav/images/favicon.png differ
diff --git a/user/plugins/admin/themes/grav/images/logo.svg b/user/plugins/admin/themes/grav/images/logo.svg
new file mode 100644
index 0000000..56abdcc
--- /dev/null
+++ b/user/plugins/admin/themes/grav/images/logo.svg
@@ -0,0 +1,35 @@
+
+
+
diff --git a/user/plugins/admin/themes/grav/js/admin.min.js b/user/plugins/admin/themes/grav/js/admin.min.js
new file mode 100644
index 0000000..6c95bcb
--- /dev/null
+++ b/user/plugins/admin/themes/grav/js/admin.min.js
@@ -0,0 +1,29 @@
+var Grav=webpackJsonpGrav([0],[function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(1),a=r(i),o=n(2),s=r(o),l=n(342),u=r(l),c=n(343),f=r(c),d=n(363),p=r(d),h=n(368),m=r(h),v=n(456),g=r(v),y=n(598),_=r(y);n(603),n(613);var b=n(614),w=n(331),k=r(w),x=n(358),S=r(x);n(615),n(616),n(617),n(618),n(619);var A=n(621),E=r(A);u.default.start(),e.setInterval(function(){y.Instance.update(),A.Instance.scroller.update()},150),(0,a.default)(e).on("sidebar_state._grav",function(){Object.keys(p.default.Chart.Instances).forEach(function(e){setTimeout(function(){return p.default.Chart.Instances[e].chart.update()},10)})}),t.default={GPM:{GPM:s.default,Instance:o.Instance},KeepAlive:u.default,Dashboard:p.default,Pages:m.default,Forms:g.default,Scrollbar:{Scrollbar:_.default,Instance:y.Instance},Updates:{Updates:f.default,Notifications:c.Notifications,Feed:c.Feed,Instance:c.Instance},Sidebar:{Sidebar:E.default,Instance:A.Instance},MediaFilter:{MediaFilter:b.Filter,Instance:b.Instance},Utils:{request:S.default,toastr:k.default}}}).call(t,function(){return this}())},,function(e,t,n){(function(e){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Instance=void 0;var o=function(){function e(e,t){for(var n=0;n0?(r=n/l,a+=r*r):a+=n;return l===1/0?1/0:l*Math.sqrt(a)}})},function(e,t,n){var r=n(11),i=Math.imul;r(r.S+r.F*n(10)(function(){return i(4294967295,5)!=-5||2!=i.length}),"Math",{imul:function(e,t){var n=65535,r=+e,i=+t,a=n&r,o=n&i;return 0|a*o+((n&r>>>16)*o+a*(n&i>>>16)<<16>>>0)}})},function(e,t,n){var r=n(11);r(r.S,"Math",{log10:function(e){return Math.log(e)*Math.LOG10E}})},function(e,t,n){var r=n(11);r(r.S,"Math",{log1p:n(106)})},function(e,t,n){var r=n(11);r(r.S,"Math",{log2:function(e){return Math.log(e)/Math.LN2}})},function(e,t,n){var r=n(11);r(r.S,"Math",{sign:n(110)})},function(e,t,n){var r=n(11),i=n(114),a=Math.exp;r(r.S+r.F*n(10)(function(){return!Math.sinh(-2e-17)!=-2e-17}),"Math",{sinh:function(e){return Math.abs(e=+e)<1?(i(e)-i(-e))/2:(a(e-1)-a(-e-1))*(Math.E/2)}})},function(e,t,n){var r=n(11),i=n(114),a=Math.exp;r(r.S,"Math",{tanh:function(e){var t=i(e=+e),n=i(-e);return t==1/0?1:n==1/0?-1:(t-n)/(a(e)+a(-e))}})},function(e,t,n){var r=n(11);r(r.S,"Math",{trunc:function(e){return(e>0?Math.floor:Math.ceil)(e)}})},function(e,t,n){var r=n(11),i=n(42),a=String.fromCharCode,o=String.fromCodePoint;r(r.S+r.F*(!!o&&1!=o.length),"String",{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,o=0;r>o;){if(t=+arguments[o++],i(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(((t-=65536)>>10)+55296,t%1024+56320))}return n.join("")}})},function(e,t,n){var r=n(11),i=n(35),a=n(40);r(r.S,"String",{raw:function(e){for(var t=i(e.raw),n=a(t.length),r=arguments.length,o=[],s=0;n>s;)o.push(String(t[s++])),s0;)l in n?n[s]=n[l]:delete n[s],s+=f,l+=f;return n}},function(e,t,n){var r=n(28)("unscopables"),i=Array.prototype;void 0==i[r]&&n(13)(i,r,{}),e.exports=function(e){i[r][e]=!0}},function(e,t,n){var r=n(11);r(r.P,"Array",{fill:n(192)}),n(190)("fill")},function(e,t,n){"use strict";var r=n(60),i=n(42),a=n(40);e.exports=function(e){for(var t=r(this),n=a(t.length),o=arguments.length,s=i(o>1?arguments[1]:void 0,n),l=o>2?arguments[2]:void 0,u=void 0===l?n:i(l,n);u>s;)t[s++]=e;return t}},function(e,t,n){"use strict";var r=n(11),i=n(176)(5),a="find",o=!0;a in[]&&Array(1)[a](function(){o=!1}),r(r.P+r.F*o,"Array",{find:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),n(190)(a)},function(e,t,n){"use strict";var r=n(11),i=n(176)(6),a="findIndex",o=!0;a in[]&&Array(1)[a](function(){o=!1}),r(r.P+r.F*o,"Array",{findIndex:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),n(190)(a)},function(e,t,n){n(196)("Array")},function(e,t,n){"use strict";var r=n(7),i=n(14),a=n(9),o=n(28)("species");e.exports=function(e){var t=r[e];a&&t&&!t[o]&&i.f(t,o,{configurable:!0,get:function(){return this}})}},function(e,t,n){"use strict";var r=n(190),i=n(198),a=n(132),o=n(35);e.exports=n(131)(Array,"Array",function(e,t){this._t=o(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):"keys"==t?i(0,n):"values"==t?i(0,e[n]):i(0,[n,e[n]])},"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(7),i=n(90),a=n(14).f,o=n(52).f,s=n(137),l=n(200),u=r.RegExp,c=u,f=u.prototype,d=/a/g,p=/a/g,h=new u(d)!==d;if(n(9)&&(!h||n(10)(function(){return p[n(28)("match")]=!1,u(d)!=d||u(p)==p||"/a/i"!=u(d,"i")}))){u=function(e,t){var n=this instanceof u,r=s(e),a=void 0===t;return!n&&r&&e.constructor===u&&a?e:i(h?new c(r&&!a?e.source:e,t):c((r=e instanceof u)?e.source:e,r&&a?l.call(e):t),n?this:f,u)};for(var m=(function(e){e in u||a(u,e,{configurable:!0,get:function(){return c[e]},set:function(t){c[e]=t}})}),v=o(c),g=0;v.length>g;)m(v[g++]);f.constructor=u,u.prototype=f,n(21)(r,"RegExp",u)}n(196)("RegExp")},function(e,t,n){"use strict";var r=n(15);e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";n(202);var r=n(15),i=n(200),a=n(9),o="toString",s=/./[o],l=function(e){n(21)(RegExp.prototype,o,e,!0)};n(10)(function(){return"/a/b"!=s.call({source:"a",flags:"b"})})?l(function(){var e=r(this);return"/".concat(e.source,"/","flags"in e?e.flags:!a&&e instanceof RegExp?i.call(e):void 0)}):s.name!=o&&l(function(){return s.call(this)})},function(e,t,n){n(9)&&"g"!=/./g.flags&&n(14).f(RegExp.prototype,"flags",{configurable:!0,get:n(200)})},function(e,t,n){n(204)("match",1,function(e,t,n){return[function(n){"use strict";var r=e(this),i=void 0==n?void 0:n[t];return void 0!==i?i.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){"use strict";var r=n(13),i=n(21),a=n(10),o=n(38),s=n(28);e.exports=function(e,t,n){var l=s(e),u=n(o,l,""[e]),c=u[0],f=u[1];a(function(){var t={};return t[l]=function(){return 7},7!=""[e](t)})&&(i(String.prototype,e,c),r(RegExp.prototype,l,2==t?function(e,t){return f.call(e,this,t)}:function(e){return f.call(e,this)}))}},function(e,t,n){n(204)("replace",2,function(e,t,n){return[function(r,i){"use strict";var a=e(this),o=void 0==r?void 0:r[t];return void 0!==o?o.call(r,a,i):n.call(String(a),r,i)},n]})},function(e,t,n){n(204)("search",1,function(e,t,n){return[function(n){"use strict";var r=e(this),i=void 0==n?void 0:n[t];return void 0!==i?i.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(204)("split",2,function(e,t,r){"use strict";var i=n(137),a=r,o=[].push,s="split",l="length",u="lastIndex";if("c"=="abbc"[s](/(b)*/)[1]||4!="test"[s](/(?:)/,-1)[l]||2!="ab"[s](/(?:ab)*/)[l]||4!="."[s](/(.?)(.?)/)[l]||"."[s](/()()/)[l]>1||""[s](/.?/)[l]){var c=void 0===/()??/.exec("")[1];r=function(e,t){var n=String(this);if(void 0===e&&0===t)return[];if(!i(e))return a.call(n,e,t);var r,s,f,d,p,h=[],m=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),v=0,g=void 0===t?4294967295:t>>>0,y=new RegExp(e.source,m+"g");for(c||(r=new RegExp("^"+y.source+"$(?!\\s)",m));(s=y.exec(n))&&(f=s.index+s[0][l],!(f>v&&(h.push(n.slice(v,s.index)),!c&&s[l]>1&&s[0].replace(r,function(){for(p=1;p=n.length)return{value:void 0,done:!0};while(!((e=n[t._i++])in t._t));return{value:e,done:!1}}),r(r.S,"Reflect",{enumerate:function(e){return new a(e)}})},function(e,t,n){function r(e,t){var n,s,c=arguments.length<3?e:arguments[2];return u(e)===c?e[t]:(n=i.f(e,t))?o(n,"value")?n.value:void 0!==n.get?n.get.call(c):void 0:l(s=a(e))?r(s,t,c):void 0}var i=n(53),a=n(61),o=n(8),s=n(11),l=n(16),u=n(15);s(s.S,"Reflect",{get:r})},function(e,t,n){var r=n(53),i=n(11),a=n(15);i(i.S,"Reflect",{getOwnPropertyDescriptor:function(e,t){return r.f(a(e),t)}})},function(e,t,n){var r=n(11),i=n(61),a=n(15);r(r.S,"Reflect",{getPrototypeOf:function(e){return i(a(e))}})},function(e,t,n){var r=n(11);r(r.S,"Reflect",{has:function(e,t){return t in e}})},function(e,t,n){var r=n(11),i=n(15),a=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(e){return i(e),!a||a(e)}})},function(e,t,n){var r=n(11);r(r.S,"Reflect",{ownKeys:n(252)})},function(e,t,n){var r=n(52),i=n(45),a=n(15),o=n(7).Reflect;e.exports=o&&o.ownKeys||function(e){var t=r.f(a(e)),n=i.f;return n?t.concat(n(e)):t}},function(e,t,n){var r=n(11),i=n(15),a=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(e){i(e);try{return a&&a(e),!0}catch(e){return!1}}})},function(e,t,n){function r(e,t,n){var l,d,p=arguments.length<4?e:arguments[3],h=a.f(c(e),t);if(!h){if(f(d=o(e)))return r(d,t,n,p);h=u(0)}return s(h,"value")?!(h.writable===!1||!f(p))&&(l=a.f(p,t)||u(0),l.value=n,i.f(p,t,l),!0):void 0!==h.set&&(h.set.call(p,n),!0)}var i=n(14),a=n(53),o=n(61),s=n(8),l=n(11),u=n(20),c=n(15),f=n(16);l(l.S,"Reflect",{set:r})},function(e,t,n){var r=n(11),i=n(75);i&&r(r.S,"Reflect",{setPrototypeOf:function(e,t){i.check(e,t);try{return i.set(e,t),!0}catch(e){return!1}}})},function(e,t,n){"use strict";var r=n(11),i=n(39)(!0);r(r.P,"Array",{includes:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),n(190)("includes")},function(e,t,n){"use strict";var r=n(11),i=n(258),a=n(60),o=n(40),s=n(24),l=n(177);r(r.P,"Array",{flatMap:function(e){var t,n,r=a(this);return s(e),t=o(r.length),n=l(r,0),i(n,r,r,t,0,1,e,arguments[1]),n}}),n(190)("flatMap")},function(e,t,n){"use strict";function r(e,t,n,u,c,f,d,p){for(var h,m,v=c,g=0,y=!!d&&s(d,p,3);g0)v=r(e,t,h,o(h.length),v,f-1)-1;else{if(v>=9007199254740991)throw TypeError();e[v]=h}v++}g++}return v}var i=n(47),a=n(16),o=n(40),s=n(23),l=n(28)("isConcatSpreadable");e.exports=r},function(e,t,n){"use strict";var r=n(11),i=n(258),a=n(60),o=n(40),s=n(41),l=n(177);r(r.P,"Array",{flatten:function(){var e=arguments[0],t=a(this),n=o(t.length),r=l(t,0);return i(r,t,t,n,0,void 0===e?1:s(e)),r}}),n(190)("flatten")},function(e,t,n){"use strict";var r=n(11),i=n(130)(!0);r(r.P,"String",{at:function(e){return i(this,e)}})},function(e,t,n){"use strict";var r=n(11),i=n(262),a=n(263);r(r.P+r.F*/Version\/10\.\d+(\.\d+)? Safari\//.test(a),"String",{padStart:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0,!0)}})},function(e,t,n){var r=n(40),i=n(93),a=n(38);e.exports=function(e,t,n,o){var s=String(a(e)),l=s.length,u=void 0===n?" ":String(n),c=r(t);if(c<=l||""==u)return s;var f=c-l,d=i.call(u,Math.ceil(f/u.length));return d.length>f&&(d=d.slice(0,f)),o?d+s:s+d}},function(e,t,n){var r=n(7),i=r.navigator;e.exports=i&&i.userAgent||""},function(e,t,n){"use strict";var r=n(11),i=n(262),a=n(263);r(r.P+r.F*/Version\/10\.\d+(\.\d+)? Safari\//.test(a),"String",{padEnd:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0,!1)}})},function(e,t,n){"use strict";n(85)("trimLeft",function(e){return function(){return e(this,1)}},"trimStart")},function(e,t,n){"use strict";n(85)("trimRight",function(e){return function(){return e(this,2)}},"trimEnd")},function(e,t,n){"use strict";var r=n(11),i=n(38),a=n(40),o=n(137),s=n(200),l=RegExp.prototype,u=function(e,t){this._r=e,this._s=t};n(133)(u,"RegExp String",function(){var e=this._r.exec(this._s);return{value:e,done:null===e}}),r(r.P,"String",{matchAll:function(e){if(i(this),!o(e))throw TypeError(e+" is not a regexp!");var t=String(this),n="flags"in l?String(e.flags):s.call(e),r=new RegExp(e.source,~n.indexOf("g")?n:"g"+n);return r.lastIndex=a(e.lastIndex),new u(r,t)}})},function(e,t,n){n(30)("asyncIterator")},function(e,t,n){n(30)("observable")},function(e,t,n){var r=n(11),i=n(252),a=n(35),o=n(53),s=n(167);r(r.S,"Object",{getOwnPropertyDescriptors:function(e){for(var t,n,r=a(e),l=o.f,u=i(r),c={},f=0;u.length>f;)n=l(r,t=u[f++]),void 0!==n&&s(c,t,n);return c}})},function(e,t,n){var r=n(11),i=n(272)(!1);r(r.S,"Object",{values:function(e){return i(e)}})},function(e,t,n){var r=n(33),i=n(35),a=n(46).f;e.exports=function(e){return function(t){for(var n,o=i(t),s=r(o),l=s.length,u=0,c=[];l>u;)a.call(o,n=s[u++])&&c.push(e?[n,o[n]]:o[n]);return c}}},function(e,t,n){var r=n(11),i=n(272)(!0);r(r.S,"Object",{entries:function(e){return i(e)}})},function(e,t,n){"use strict";var r=n(11),i=n(60),a=n(24),o=n(14);n(9)&&r(r.P+n(275),"Object",{__defineGetter__:function(e,t){o.f(i(this),e,{get:a(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";e.exports=n(31)||!n(10)(function(){var e=Math.random();__defineSetter__.call(null,e,function(){}),delete n(7)[e]})},function(e,t,n){"use strict";var r=n(11),i=n(60),a=n(24),o=n(14);n(9)&&r(r.P+n(275),"Object",{__defineSetter__:function(e,t){o.f(i(this),e,{set:a(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var r=n(11),i=n(60),a=n(19),o=n(61),s=n(53).f;n(9)&&r(r.P+n(275),"Object",{__lookupGetter__:function(e){var t,n=i(this),r=a(e,!0);do if(t=s(n,r))return t.get;while(n=o(n))}})},function(e,t,n){"use strict";var r=n(11),i=n(60),a=n(19),o=n(61),s=n(53).f;n(9)&&r(r.P+n(275),"Object",{__lookupSetter__:function(e){var t,n=i(this),r=a(e,!0);do if(t=s(n,r))return t.set;while(n=o(n))}})},function(e,t,n){var r=n(11);r(r.P+r.R,"Map",{toJSON:n(280)("Map")})},function(e,t,n){var r=n(77),i=n(281);e.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+"#toJSON isn't generic");return i(this)}}},function(e,t,n){var r=n(210);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},function(e,t,n){var r=n(11);r(r.P+r.R,"Set",{toJSON:n(280)("Set")})},function(e,t,n){n(284)("Map")},function(e,t,n){"use strict";var r=n(11);e.exports=function(e){r(r.S,e,{of:function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}})}},function(e,t,n){n(284)("Set")},function(e,t,n){n(284)("WeakMap")},function(e,t,n){n(284)("WeakSet")},function(e,t,n){n(289)("Map")},function(e,t,n){"use strict";var r=n(11),i=n(24),a=n(23),o=n(210);e.exports=function(e){r(r.S,e,{from:function(e){var t,n,r,s,l=arguments[1];return i(this),t=void 0!==l,t&&i(l),void 0==e?new this:(n=[],t?(r=0,s=a(l,arguments[2],2),o(e,!1,function(e){n.push(s(e,r++))})):o(e,!1,n.push,n),new this(n))}})}},function(e,t,n){n(289)("Set")},function(e,t,n){n(289)("WeakMap")},function(e,t,n){n(289)("WeakSet")},function(e,t,n){var r=n(11);r(r.G,{global:n(7)})},function(e,t,n){var r=n(11);r(r.S,"System",{global:n(7)})},function(e,t,n){var r=n(11),i=n(37);r(r.S,"Error",{isError:function(e){return"Error"===i(e)}})},function(e,t,n){var r=n(11);r(r.S,"Math",{clamp:function(e,t,n){return Math.min(n,Math.max(t,e))}})},function(e,t,n){var r=n(11);r(r.S,"Math",{DEG_PER_RAD:Math.PI/180})},function(e,t,n){var r=n(11),i=180/Math.PI;r(r.S,"Math",{degrees:function(e){return e*i}})},function(e,t,n){var r=n(11),i=n(300),a=n(116);r(r.S,"Math",{fscale:function(e,t,n,r,o){return a(i(e,t,n,r,o))}})},function(e,t){e.exports=Math.scale||function(e,t,n,r,i){return 0===arguments.length||e!=e||t!=t||n!=n||r!=r||i!=i?NaN:e===1/0||e===-(1/0)?e:(e-t)*(i-r)/(n-t)+r}},function(e,t,n){var r=n(11);r(r.S,"Math",{iaddh:function(e,t,n,r){var i=e>>>0,a=t>>>0,o=n>>>0;return a+(r>>>0)+((i&o|(i|o)&~(i+o>>>0))>>>31)|0}})},function(e,t,n){var r=n(11);r(r.S,"Math",{isubh:function(e,t,n,r){var i=e>>>0,a=t>>>0,o=n>>>0;return a-(r>>>0)-((~i&o|~(i^o)&i-o>>>0)>>>31)|0}})},function(e,t,n){var r=n(11);r(r.S,"Math",{imulh:function(e,t){var n=65535,r=+e,i=+t,a=r&n,o=i&n,s=r>>16,l=i>>16,u=(s*o>>>0)+(a*o>>>16);return s*l+(u>>16)+((a*l>>>0)+(u&n)>>16)}})},function(e,t,n){var r=n(11);r(r.S,"Math",{RAD_PER_DEG:180/Math.PI})},function(e,t,n){var r=n(11),i=Math.PI/180;r(r.S,"Math",{radians:function(e){return e*i}})},function(e,t,n){var r=n(11);r(r.S,"Math",{scale:n(300)})},function(e,t,n){var r=n(11);r(r.S,"Math",{umulh:function(e,t){var n=65535,r=+e,i=+t,a=r&n,o=i&n,s=r>>>16,l=i>>>16,u=(s*o>>>0)+(a*o>>>16);return s*l+(u>>>16)+((a*l>>>0)+(u&n)>>>16)}})},function(e,t,n){var r=n(11);r(r.S,"Math",{signbit:function(e){return(e=+e)!=e?e:0==e?1/e==1/0:e>0}})},function(e,t,n){"use strict";var r=n(11),i=n(12),a=n(7),o=n(211),s=n(216);r(r.P+r.R,"Promise",{finally:function(e){var t=o(this,i.Promise||a.Promise),n="function"==typeof e;return this.then(n?function(n){return s(t,e()).then(function(){return n})}:e,n?function(n){return s(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){"use strict";var r=n(11),i=n(214),a=n(215);r(r.S,"Promise",{try:function(e){var t=i.f(this),n=a(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){var r=n(312),i=n(15),a=r.key,o=r.set;r.exp({defineMetadata:function(e,t,n,r){o(e,t,i(n),a(r))}})},function(e,t,n){var r=n(218),i=n(11),a=n(26)("metadata"),o=a.store||(a.store=new(n(223))),s=function(e,t,n){var i=o.get(e);if(!i){if(!n)return;o.set(e,i=new r)}var a=i.get(t);if(!a){if(!n)return;i.set(t,a=new r)}return a},l=function(e,t,n){var r=s(t,n,!1);return void 0!==r&&r.has(e)},u=function(e,t,n){var r=s(t,n,!1);return void 0===r?void 0:r.get(e)},c=function(e,t,n,r){s(n,r,!0).set(e,t)},f=function(e,t){var n=s(e,t,!1),r=[];return n&&n.forEach(function(e,t){r.push(t)}),r},d=function(e){return void 0===e||"symbol"==typeof e?e:String(e)},p=function(e){i(i.S,"Reflect",e)};e.exports={store:o,map:s,has:l,get:u,set:c,keys:f,key:d,exp:p}},function(e,t,n){var r=n(312),i=n(15),a=r.key,o=r.map,s=r.store;r.exp({deleteMetadata:function(e,t){var n=arguments.length<3?void 0:a(arguments[2]),r=o(i(t),n,!1);if(void 0===r||!r.delete(e))return!1;if(r.size)return!0;var l=s.get(t);return l.delete(n),!!l.size||s.delete(t)}})},function(e,t,n){var r=n(312),i=n(15),a=n(61),o=r.has,s=r.get,l=r.key,u=function(e,t,n){var r=o(e,t,n);if(r)return s(e,t,n);var i=a(t);return null!==i?u(e,i,n):void 0};r.exp({getMetadata:function(e,t){return u(e,i(t),arguments.length<3?void 0:l(arguments[2]))}})},function(e,t,n){var r=n(222),i=n(281),a=n(312),o=n(15),s=n(61),l=a.keys,u=a.key,c=function(e,t){var n=l(e,t),a=s(e);if(null===a)return n;var o=c(a,t);return o.length?n.length?i(new r(n.concat(o))):o:n};a.exp({getMetadataKeys:function(e){return c(o(e),arguments.length<2?void 0:u(arguments[1]))}})},function(e,t,n){var r=n(312),i=n(15),a=r.get,o=r.key;r.exp({getOwnMetadata:function(e,t){return a(e,i(t),arguments.length<3?void 0:o(arguments[2]))}})},function(e,t,n){var r=n(312),i=n(15),a=r.keys,o=r.key;r.exp({getOwnMetadataKeys:function(e){return a(i(e),arguments.length<2?void 0:o(arguments[1]))}})},function(e,t,n){var r=n(312),i=n(15),a=n(61),o=r.has,s=r.key,l=function(e,t,n){var r=o(e,t,n);if(r)return!0;var i=a(t);return null!==i&&l(e,i,n)};r.exp({hasMetadata:function(e,t){return l(e,i(t),arguments.length<3?void 0:s(arguments[2]))}})},function(e,t,n){var r=n(312),i=n(15),a=r.has,o=r.key;r.exp({hasOwnMetadata:function(e,t){return a(e,i(t),arguments.length<3?void 0:o(arguments[2]))}})},function(e,t,n){var r=n(312),i=n(15),a=n(24),o=r.key,s=r.set;r.exp({metadata:function(e,t){return function(n,r){s(e,t,(void 0!==r?i:a)(n),o(r))}}})},function(e,t,n){var r=n(11),i=n(213)(),a=n(7).process,o="process"==n(37)(a);r(r.G,{asap:function(e){var t=o&&a.domain;i(t?t.bind(e):e)}})},function(e,t,n){"use strict";var r=n(11),i=n(7),a=n(12),o=n(213)(),s=n(28)("observable"),l=n(24),u=n(15),c=n(209),f=n(217),d=n(13),p=n(210),h=p.RETURN,m=function(e){return null==e?void 0:l(e)},v=function(e){var t=e._c;t&&(e._c=void 0,t())},g=function(e){return void 0===e._o},y=function(e){g(e)||(e._o=void 0,v(e))},_=function(e,t){u(e),this._c=void 0,this._o=e,e=new b(this);try{var n=t(e),r=n;null!=n&&("function"==typeof n.unsubscribe?n=function(){r.unsubscribe()}:l(n),this._c=n)}catch(t){return void e.error(t)}g(this)&&v(this)};_.prototype=f({},{unsubscribe:function(){y(this)}});var b=function(e){this._s=e};b.prototype=f({},{next:function(e){var t=this._s;if(!g(t)){var n=t._o;try{var r=m(n.next);if(r)return r.call(n,e)}catch(e){try{y(t)}finally{throw e}}}},error:function(e){var t=this._s;if(g(t))throw e;var n=t._o;t._o=void 0;try{var r=m(n.error);if(!r)throw e;e=r.call(n,e)}catch(e){try{v(t)}finally{throw e}}return v(t),e},complete:function(e){var t=this._s;if(!g(t)){var n=t._o;t._o=void 0;try{var r=m(n.complete);e=r?r.call(n,e):void 0}catch(e){try{v(t)}finally{throw e}}return v(t),e}}});var w=function(e){c(this,w,"Observable","_f")._f=l(e)};f(w.prototype,{subscribe:function(e){return new _(e,this._f)},forEach:function(e){var t=this;return new(a.Promise||i.Promise)(function(n,r){l(e);var i=t.subscribe({next:function(t){try{return e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:n})})}}),f(w,{from:function(e){var t="function"==typeof this?this:w,n=m(u(e)[s]);if(n){var r=u(n.call(e));return r.constructor===t?r:new t(function(e){return r.subscribe(e)})}return new t(function(t){var n=!1;return o(function(){if(!n){try{if(p(e,!1,function(e){if(t.next(e),n)return h})===h)return}catch(e){if(n)throw e;return void t.error(e)}t.complete()}}),function(){n=!0}})},of:function(){for(var e=0,t=arguments.length,n=new Array(t);e
":"";f.default.error("Fetch Failed: "+e.stack+"
"+e.message+" "+t),console.error(e.message+" at "+e.stack)}Object.defineProperty(t,"__esModule",{value:!0}),t.parseStatus=i,t.parseJSON=a,t.userFeedback=o,t.userFeedbackError=s;var l=n(1),u=r(l),c=n(331),f=r(c),d=n(334),p=r(d),h=n(335),m=n(336),v=r(m),g=!1,y=function e(t){var e=new Error(t.statusText||t||"");return e.response=t,e};(0,u.default)(e).on("beforeunload._ajax",function(){g=!0})}).call(t,function(){return this}())},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(332),a=r(i);a.default.options.positionClass="toast-top-right",a.default.options.preventDuplicates=!0,t.default=a.default},,,function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(1),a=r(i),o=n(334),s=r(o),l=(0,a.default)("#offline-status");(0,a.default)(window).on("offline",function(){l.slideDown()}),(0,a.default)(window).on("online",function(){l.slideUp()}),(0,a.default)(document).ready(function(){s.default||l.slideDown()}),t.default="undefined"==typeof e.navigator.onLine||e.navigator.onLine}).call(t,function(){return this}())},function(e,t){e.exports=GravAdmin},function(e,t,n){function r(e,t){return e=i(e),t=t||a,o(s(e,t),t)}var i=n(337),a=n(338),o=n(339),s=n(340);e.exports=r},function(e,t){function n(e){return null==e?"":e.toString()}e.exports=n},function(e,t){e.exports=[" ","\n","\r","\t","\f","\v"," "," ",""," "," "," "," "," "," "," "," "," "," "," ","\u2028","\u2029"," "," "," "]},function(e,t,n){function r(e,t){e=i(e),t=t||a;for(var n,r,o=0,s=e.length,l=t.length,u=!0;u&&o=s?"":e.substr(o,s)}var i=n(337),a=n(338);e.exports=r},function(e,t,n){function r(e,t){e=i(e),t=t||a;for(var n,r,o=e.length-1,s=t.length,l=!0;l&&o>=0;)for(l=!1,n=-1,r=e.charAt(o);++n=0?e.substring(0,o+1):""}var i=n(337),a=n(338);e.exports=r},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function i(e){return"number"==typeof e}function a(e){return"object"==typeof e&&null!==e}function o(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!i(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,i,s,l,u;if(this._events||(this._events={}),"error"===e&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}if(n=this._events[e],o(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),n.apply(this,s)}else if(a(n))for(s=Array.prototype.slice.call(arguments,1),u=n.slice(),i=u.length,l=0;l0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var i=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,i,o,s;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],o=n.length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(a(n)){for(s=o;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){i=s;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){(function(e){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n\n
").find("ul");Object.keys(o.metadata).forEach(function(e){u.append("
\n
"+n.message+"
"})}},{key:"onDropzoneComplete",value:function(t){if(!t.accepted&&!t.rejected){var n={status:"error",message:p.translations.PLUGIN_ADMIN.FILE_UNSUPPORTED+": "+t.name.match(/\..+/).join("")};return this.handleError({file:t,data:n,mode:"removeFile",msg:""+n.message+"
"})}this.options.reloadPage&&e.location.reload()}},{key:"b64_to_utf8",value:function(e){return e=e.replace(/\s/g,""),decodeURIComponent(escape(window.atob(e)))}},{key:"onDropzoneRemovedFile",value:function(e){var t=this;if(e.accepted&&!e.rejected){var n=e.removeUrl||this.urls.delete,r=(n||"").match(/path:(.*)\//),i={filename:e.name,uri:this.getURI()};e.sessionParams&&(i.task="filessessionremove",i.session=e.sessionParams),(0,d.default)(n,{method:"post",body:i},function(){if(r){r=t.b64_to_utf8(r[1]);var e=t.container.find('[name][type="hidden"]'),n=JSON.parse(e.val()||"{}");delete n[r],e.val(JSON.stringify(n))}})}}},{key:"onDropzoneError",value:function(e,t,n){var r=n?t.error.message:t;return(0,l.default)(e.previewElement).find("[data-dz-errormessage]").html(r),this.handleError({file:e,data:{status:"error"},msg:""+r+"
"})}},{key:"handleError",value:function(e){var t=e.file,n=e.data,r=e.mode,i=e.msg;if("error"===n.status||"unauthorized"===n.status){switch(r){case"addBack":t instanceof File?this.dropzone.addFile.call(this.dropzone,t):(this.dropzone.files.push(t),this.dropzone.options.addedfile.call(this.dropzone,t),this.dropzone.options.thumbnail.call(this.dropzone,t,t.extras.url));break;case"removeFile":default:~this.dropzone.files.indexOf(t)&&(t.rejected=!0,this.dropzone.removeFile.call(this.dropzone,t,{silent:!0}))}var a=(0,l.default)('[data-remodal-id="generic"]');a.find(".error-content").html(i),l.default.remodal.lookup[a.data("remodal")].open()}}}]),t}();t.default=g;var y=[],_=(0,l.default)(),b=function(e,t){var n=(0,l.default)(t).find(".dropzone.files-upload");n.length&&n.each(function(e,t){t=(0,l.default)(t),~_.index(t)||w(t)})},w=function(e){e=(0,l.default)(e);var t=e.find('input[type="file"]'),n=e.data("grav-file-settings")||{};n.accept&&~n.accept.indexOf("*")&&(n.accept=[""]);var r={url:e.data("file-url-add")||(e.closest("form").attr("action")||p.config.current_url)+".json",paramName:n.paramName||"file",dotNotation:n.name||"file",acceptedFiles:n.accept?n.accept.join(","):t.attr("accept")||e.data("media-types"),maxFilesize:"undefined"!=typeof n.filesize?n.filesize:256,maxFiles:n.limit||null,resizeWidth:n.resizeWidth||null,resizeHeight:n.resizeHeight||null,resizeQuality:n.resizeQuality||null,accept:function(e,t){v(e,t,n)}};_=_.add(e),e=e[0],y.push(new g({container:e,options:r}))};t.Instances=function(){return(0,l.default)(".dropzone.files-upload").each(function(e,t){return w(t)}),(0,l.default)("body").on("mutation._grav",b),y}()}).call(t,function(){return this}())},,,function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.Instance=t.Toolbar=void 0;var a=function(){function e(e,t){for(var n=0;n"),u.default[t[n]].forEach(function(t){return e.renderButton(t,n)})})}},{key:"renderButton",value:function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;Object.keys(e).forEach(function(i){var a=e[i];if(a.modes||(a.modes=[]),!~n.codemirror.options.ignore.indexOf(i)&&(!a.modes.length||a.modes.indexOf(n.codemirror.options.mode)>-1)){var o=a.title?'data-hint="'+a.title+'"':"",l=(0,s.default)('
>>=1)o[s]=1&n?t[a++]:void 0;return o[r]=i,new me(e,a+1,o)}function Oe(e,t,r){for(var i=[],o=0;os)return x();var e=i.next();return r||t===wn?e:t===bn?k(t,l-1,void 0,e):k(t,l-1,e.value[1],e)})},u}function ht(e,t,n){var r=Mt(e);return r.__iterateUncached=function(r,i){var a=this;if(i)return this.cacheResult().__iterate(r,i);var o=0;return e.__iterate(function(e,i,s){return t.call(n,e,i,s)&&++o&&r(e,i,a)}),o},r.__iteratorUncached=function(r,i){var a=this;if(i)return this.cacheResult().__iterator(r,i);var o=e.__iterator(kn,i),s=!0;return new w(function(){if(!s)return x();var e=o.next();if(e.done)return e;var i=e.value,l=i[0],u=i[1];return t.call(n,u,l,a)?r===kn?e:k(r,l,u,e):(s=!1,x())})},r}function mt(e,t,n,r){var i=Mt(e);return i.__iterateUncached=function(i,a){var o=this;if(a)return this.cacheResult().__iterate(i,a);var s=!0,l=0;return e.__iterate(function(e,a,u){if(!s||!(s=t.call(n,e,a,u)))return l++,i(e,r?a:l-1,o)}),l},i.__iteratorUncached=function(i,a){var o=this;if(a)return this.cacheResult().__iterator(i,a);var s=e.__iterator(kn,a),l=!0,u=0;return new w(function(){var e,a,c;do{if(e=s.next(),e.done)return r||i===wn?e:i===bn?k(i,u++,void 0,e):k(i,u++,e.value[1],e);var f=e.value;a=f[0],c=f[1],l&&(l=t.call(n,c,a,o))}while(l);return i===kn?e:k(i,a,c,e)})},i}function vt(e,t){var r=o(e),i=[e].concat(t).map(function(e){return a(e)?r&&(e=n(e)):e=r?F(e):U(Array.isArray(e)?e:[e]),e}).filter(function(e){return 0!==e.size});if(0===i.length)return e;if(1===i.length){var l=i[0];if(l===e||r&&o(l)||s(e)&&s(l))return l}var u=new j(i);return r?u=u.toKeyedSeq():s(e)||(u=u.toSetSeq()),u=u.flatten(!0),u.size=i.reduce(function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}},0),u}function gt(e,t,n){var r=Mt(e);return r.__iterateUncached=function(r,i){function o(e,u){var c=this;e.__iterate(function(e,i){return(!t||u=Gn)return Ce(e,d,u,s,h);if(c&&!h&&2===d.length&&Ae(d[1^f]))return d[1^f];if(c&&h&&1===d.length&&Ae(h))return h;var m=e&&e===this.ownerID,v=c?h?u:u^l:u|l,g=c?h?Le(d,f,h,m):qe(d,f,m):Ne(d,f,h,m);return m?(this.bitmap=v,this.nodes=g,this):new he(e,v,g)},me.prototype.get=function(e,t,n,r){void 0===t&&(t=ae(n));var i=(0===e?t:t>>>e)&vn,a=this.nodes[i];return a?a.get(e+hn,t,n,r):r},me.prototype.update=function(e,t,n,r,i,a,o){void 0===n&&(n=ae(r));var s=(0===t?n:n>>>t)&vn,l=i===gn,u=this.nodes,c=u[s];if(l&&!c)return this;var f=Se(c,e,t+hn,n,r,i,a,o);if(f===c)return this;var d=this.count;if(c){if(!f&&(d--,d"}return'
"+this.options.dictFallbackText+"
"),n+='>1,d=-7,c=n?r-1:0,h=n?-1:1,p=e[t+c];for(c+=h,s=p&(1<<-d)-1,p>>=-d,d+=o;d>0;s=256*s+e[t+c],c+=h,d-=8);for(a=s&(1<<-d)-1,s>>=-d,d+=i;d>0;a=256*a+e[t+c],c+=h,d-=8);if(0===s)s=1-u;else{if(s===l)return a?NaN:(p?-1:1)*(1/0);a+=Math.pow(2,i),s-=u}return(p?-1:1)*a*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var a,o,l,u=8*s-r-1,d=(1<>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:s-1,f=i?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=d):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),t+=a+c>=1?h/l:h*Math.pow(2,1-c),t*l>=2&&(a++,l/=2),a+c>=d?(o=0,a=d):a+c>=1?(o=(t*l-1)*Math.pow(2,r),a+=c):(o=t*Math.pow(2,c-1)*Math.pow(2,r),a=0));r>=8;e[n+p]=255&o,p+=f,o/=256,r-=8);for(a=a<1024,u&&(d+=e.dump&&j===e.dump.charCodeAt(0)?"?":"? "),d+=e.dump,u&&(d+=o(e,t)),k(e,t+1,l,!0,u)&&(d+=e.dump&&j===e.dump.charCodeAt(0)?":":": ",d+=e.dump,c+=d));e.tag=h,e.dump=c||"{}"}function b(e,t,n){var i,r,s,a,o,l;for(r=n?e.explicitTypes:e.implicitTypes,s=0,a=r.length;s tag resolver accepts not "'+l+'" style');i=o.represent[l](t,l)}e.dump=i}return!0}return!1}function k(e,t,n,i,r,s){e.tag=null,e.dump=n,b(e,n,!1)||b(e,n,!0);var a=O.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var o,l,u="[object Object]"===a||"[object Array]"===a;if(u&&(o=e.duplicates.indexOf(n),l=o!==-1),(null!==e.tag&&"?"!==e.tag||l||2!==e.indent&&t>0)&&(r=!1),l&&e.usedDuplicates[o])e.dump="*ref_"+o;else{if(u&&l&&!e.usedDuplicates[o]&&(e.usedDuplicates[o]=!0),"[object Object]"===a)i&&0!==Object.keys(e.dump).length?(x(e,t,e.dump,r),l&&(e.dump="&ref_"+o+e.dump)):(D(e,t,e.dump),l&&(e.dump="&ref_"+o+" "+e.dump));else if("[object Array]"===a)i&&0!==e.dump.length?(w(e,t,e.dump,r),l&&(e.dump="&ref_"+o+e.dump)):(M(e,t,e.dump),l&&(e.dump="&ref_"+o+" "+e.dump));else{if("[object String]"!==a){if(e.skipInvalid)return!1;throw new E("unacceptable kind of an object to dump "+a)}"?"!==e.tag&&f(e,e.dump,t,s)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function L(e,t){var n,i,r=[],s=[];for(S(e,r,s),n=0,i=s.length;n1)throw new TypeError("isEnabled expects a single character string parameter");switch(e){case"y":return l.indexOf("Y")!==-1;case"M":return l.indexOf("M")!==-1;case"d":return l.toLowerCase().indexOf("d")!==-1;case"h":case"H":return l.toLowerCase().indexOf("h")!==-1;case"m":return l.indexOf("m")!==-1;case"s":return l.indexOf("s")!==-1;default:return!1}},L=function(){return k("h")||k("m")||k("s")},S=function(){return k("y")||k("M")||k("d")},C=function(){var t=e("").append(e("").append(e(" ").addClass("prev").attr("data-action","previous").append(e("").addClass(i.icons.previous))).append(e(" ").addClass("picker-switch").attr("data-action","pickerSwitch").attr("colspan",i.calendarWeeks?"6":"5")).append(e(" ").addClass("next").attr("data-action","next").append(e("").addClass(i.icons.next)))),n=e("").append(e(" ").append(e(" ").attr("colspan",i.calendarWeeks?"8":"7")));return[e(" ").addClass("table-condensed").append(t).append(e(""))),e("
").addClass("table-condensed").append(t.clone()).append(n.clone())),e("
").addClass("table-condensed").append(t.clone()).append(n.clone())),e("